libv8 3.11.8.17 → 3.16.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (754) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -2
  3. data/Gemfile +1 -1
  4. data/Rakefile +6 -7
  5. data/lib/libv8/version.rb +1 -1
  6. data/vendor/v8/.gitignore +24 -3
  7. data/vendor/v8/AUTHORS +7 -0
  8. data/vendor/v8/ChangeLog +839 -0
  9. data/vendor/v8/DEPS +1 -1
  10. data/vendor/v8/Makefile.android +92 -0
  11. data/vendor/v8/OWNERS +11 -0
  12. data/vendor/v8/PRESUBMIT.py +71 -0
  13. data/vendor/v8/SConstruct +34 -39
  14. data/vendor/v8/build/android.gypi +56 -37
  15. data/vendor/v8/build/common.gypi +112 -30
  16. data/vendor/v8/build/gyp_v8 +1 -1
  17. data/vendor/v8/build/standalone.gypi +15 -11
  18. data/vendor/v8/include/v8-debug.h +9 -1
  19. data/vendor/v8/include/v8-preparser.h +4 -3
  20. data/vendor/v8/include/v8-profiler.h +25 -25
  21. data/vendor/v8/include/v8-testing.h +4 -3
  22. data/vendor/v8/include/v8.h +994 -540
  23. data/vendor/v8/preparser/preparser-process.cc +3 -3
  24. data/vendor/v8/samples/lineprocessor.cc +20 -27
  25. data/vendor/v8/samples/process.cc +18 -14
  26. data/vendor/v8/samples/shell.cc +16 -15
  27. data/vendor/v8/src/SConscript +15 -14
  28. data/vendor/v8/src/accessors.cc +169 -77
  29. data/vendor/v8/src/accessors.h +4 -0
  30. data/vendor/v8/src/allocation-inl.h +2 -2
  31. data/vendor/v8/src/allocation.h +7 -7
  32. data/vendor/v8/src/api.cc +810 -497
  33. data/vendor/v8/src/api.h +85 -60
  34. data/vendor/v8/src/arm/assembler-arm-inl.h +179 -22
  35. data/vendor/v8/src/arm/assembler-arm.cc +633 -264
  36. data/vendor/v8/src/arm/assembler-arm.h +264 -197
  37. data/vendor/v8/src/arm/builtins-arm.cc +117 -27
  38. data/vendor/v8/src/arm/code-stubs-arm.cc +1241 -700
  39. data/vendor/v8/src/arm/code-stubs-arm.h +35 -138
  40. data/vendor/v8/src/arm/codegen-arm.cc +285 -16
  41. data/vendor/v8/src/arm/codegen-arm.h +22 -0
  42. data/vendor/v8/src/arm/constants-arm.cc +5 -3
  43. data/vendor/v8/src/arm/constants-arm.h +24 -11
  44. data/vendor/v8/src/arm/debug-arm.cc +3 -3
  45. data/vendor/v8/src/arm/deoptimizer-arm.cc +382 -92
  46. data/vendor/v8/src/arm/disasm-arm.cc +61 -12
  47. data/vendor/v8/src/arm/frames-arm.h +0 -14
  48. data/vendor/v8/src/arm/full-codegen-arm.cc +332 -304
  49. data/vendor/v8/src/arm/ic-arm.cc +180 -259
  50. data/vendor/v8/src/arm/lithium-arm.cc +364 -316
  51. data/vendor/v8/src/arm/lithium-arm.h +512 -275
  52. data/vendor/v8/src/arm/lithium-codegen-arm.cc +1768 -809
  53. data/vendor/v8/src/arm/lithium-codegen-arm.h +97 -35
  54. data/vendor/v8/src/arm/lithium-gap-resolver-arm.cc +12 -5
  55. data/vendor/v8/src/arm/macro-assembler-arm.cc +439 -228
  56. data/vendor/v8/src/arm/macro-assembler-arm.h +116 -70
  57. data/vendor/v8/src/arm/regexp-macro-assembler-arm.cc +54 -44
  58. data/vendor/v8/src/arm/regexp-macro-assembler-arm.h +3 -10
  59. data/vendor/v8/src/arm/simulator-arm.cc +272 -238
  60. data/vendor/v8/src/arm/simulator-arm.h +38 -8
  61. data/vendor/v8/src/arm/stub-cache-arm.cc +522 -895
  62. data/vendor/v8/src/array.js +101 -70
  63. data/vendor/v8/src/assembler.cc +270 -19
  64. data/vendor/v8/src/assembler.h +110 -15
  65. data/vendor/v8/src/ast.cc +79 -69
  66. data/vendor/v8/src/ast.h +255 -301
  67. data/vendor/v8/src/atomicops.h +7 -1
  68. data/vendor/v8/src/atomicops_internals_tsan.h +335 -0
  69. data/vendor/v8/src/bootstrapper.cc +481 -418
  70. data/vendor/v8/src/bootstrapper.h +4 -4
  71. data/vendor/v8/src/builtins.cc +498 -311
  72. data/vendor/v8/src/builtins.h +75 -47
  73. data/vendor/v8/src/checks.cc +2 -1
  74. data/vendor/v8/src/checks.h +8 -0
  75. data/vendor/v8/src/code-stubs-hydrogen.cc +253 -0
  76. data/vendor/v8/src/code-stubs.cc +249 -84
  77. data/vendor/v8/src/code-stubs.h +501 -169
  78. data/vendor/v8/src/codegen.cc +36 -18
  79. data/vendor/v8/src/codegen.h +25 -3
  80. data/vendor/v8/src/collection.js +54 -17
  81. data/vendor/v8/src/compilation-cache.cc +24 -16
  82. data/vendor/v8/src/compilation-cache.h +15 -6
  83. data/vendor/v8/src/compiler.cc +497 -195
  84. data/vendor/v8/src/compiler.h +246 -38
  85. data/vendor/v8/src/contexts.cc +64 -24
  86. data/vendor/v8/src/contexts.h +60 -29
  87. data/vendor/v8/src/conversions-inl.h +24 -14
  88. data/vendor/v8/src/conversions.h +7 -4
  89. data/vendor/v8/src/counters.cc +21 -12
  90. data/vendor/v8/src/counters.h +44 -16
  91. data/vendor/v8/src/cpu-profiler.h +1 -1
  92. data/vendor/v8/src/d8-debug.cc +2 -2
  93. data/vendor/v8/src/d8-readline.cc +13 -2
  94. data/vendor/v8/src/d8.cc +681 -273
  95. data/vendor/v8/src/d8.gyp +4 -4
  96. data/vendor/v8/src/d8.h +38 -18
  97. data/vendor/v8/src/d8.js +0 -617
  98. data/vendor/v8/src/data-flow.h +55 -0
  99. data/vendor/v8/src/date.js +1 -42
  100. data/vendor/v8/src/dateparser-inl.h +5 -1
  101. data/vendor/v8/src/debug-agent.cc +10 -15
  102. data/vendor/v8/src/debug-debugger.js +147 -149
  103. data/vendor/v8/src/debug.cc +323 -164
  104. data/vendor/v8/src/debug.h +26 -14
  105. data/vendor/v8/src/deoptimizer.cc +765 -290
  106. data/vendor/v8/src/deoptimizer.h +130 -28
  107. data/vendor/v8/src/disassembler.cc +10 -4
  108. data/vendor/v8/src/elements-kind.cc +7 -2
  109. data/vendor/v8/src/elements-kind.h +19 -0
  110. data/vendor/v8/src/elements.cc +607 -285
  111. data/vendor/v8/src/elements.h +36 -13
  112. data/vendor/v8/src/execution.cc +52 -31
  113. data/vendor/v8/src/execution.h +4 -4
  114. data/vendor/v8/src/extensions/externalize-string-extension.cc +5 -4
  115. data/vendor/v8/src/extensions/gc-extension.cc +5 -1
  116. data/vendor/v8/src/extensions/statistics-extension.cc +153 -0
  117. data/vendor/v8/src/{inspector.h → extensions/statistics-extension.h} +12 -23
  118. data/vendor/v8/src/factory.cc +101 -134
  119. data/vendor/v8/src/factory.h +36 -31
  120. data/vendor/v8/src/flag-definitions.h +102 -25
  121. data/vendor/v8/src/flags.cc +9 -5
  122. data/vendor/v8/src/frames-inl.h +10 -0
  123. data/vendor/v8/src/frames.cc +116 -26
  124. data/vendor/v8/src/frames.h +96 -12
  125. data/vendor/v8/src/full-codegen.cc +219 -74
  126. data/vendor/v8/src/full-codegen.h +63 -21
  127. data/vendor/v8/src/func-name-inferrer.cc +8 -7
  128. data/vendor/v8/src/func-name-inferrer.h +5 -3
  129. data/vendor/v8/src/gdb-jit.cc +71 -57
  130. data/vendor/v8/src/global-handles.cc +230 -101
  131. data/vendor/v8/src/global-handles.h +26 -27
  132. data/vendor/v8/src/globals.h +17 -19
  133. data/vendor/v8/src/handles-inl.h +59 -12
  134. data/vendor/v8/src/handles.cc +180 -200
  135. data/vendor/v8/src/handles.h +80 -11
  136. data/vendor/v8/src/hashmap.h +60 -40
  137. data/vendor/v8/src/heap-inl.h +107 -45
  138. data/vendor/v8/src/heap-profiler.cc +38 -19
  139. data/vendor/v8/src/heap-profiler.h +24 -14
  140. data/vendor/v8/src/heap.cc +1123 -738
  141. data/vendor/v8/src/heap.h +385 -146
  142. data/vendor/v8/src/hydrogen-instructions.cc +700 -217
  143. data/vendor/v8/src/hydrogen-instructions.h +1158 -472
  144. data/vendor/v8/src/hydrogen.cc +3319 -1662
  145. data/vendor/v8/src/hydrogen.h +411 -170
  146. data/vendor/v8/src/ia32/assembler-ia32-inl.h +46 -16
  147. data/vendor/v8/src/ia32/assembler-ia32.cc +131 -61
  148. data/vendor/v8/src/ia32/assembler-ia32.h +115 -57
  149. data/vendor/v8/src/ia32/builtins-ia32.cc +99 -5
  150. data/vendor/v8/src/ia32/code-stubs-ia32.cc +787 -495
  151. data/vendor/v8/src/ia32/code-stubs-ia32.h +10 -100
  152. data/vendor/v8/src/ia32/codegen-ia32.cc +227 -23
  153. data/vendor/v8/src/ia32/codegen-ia32.h +14 -0
  154. data/vendor/v8/src/ia32/deoptimizer-ia32.cc +428 -87
  155. data/vendor/v8/src/ia32/disasm-ia32.cc +28 -1
  156. data/vendor/v8/src/ia32/frames-ia32.h +6 -16
  157. data/vendor/v8/src/ia32/full-codegen-ia32.cc +280 -272
  158. data/vendor/v8/src/ia32/ic-ia32.cc +150 -250
  159. data/vendor/v8/src/ia32/lithium-codegen-ia32.cc +1600 -517
  160. data/vendor/v8/src/ia32/lithium-codegen-ia32.h +90 -24
  161. data/vendor/v8/src/ia32/lithium-gap-resolver-ia32.cc +10 -6
  162. data/vendor/v8/src/ia32/lithium-gap-resolver-ia32.h +2 -2
  163. data/vendor/v8/src/ia32/lithium-ia32.cc +405 -302
  164. data/vendor/v8/src/ia32/lithium-ia32.h +526 -271
  165. data/vendor/v8/src/ia32/macro-assembler-ia32.cc +378 -119
  166. data/vendor/v8/src/ia32/macro-assembler-ia32.h +62 -28
  167. data/vendor/v8/src/ia32/regexp-macro-assembler-ia32.cc +43 -30
  168. data/vendor/v8/src/ia32/regexp-macro-assembler-ia32.h +2 -10
  169. data/vendor/v8/src/ia32/stub-cache-ia32.cc +492 -678
  170. data/vendor/v8/src/ic-inl.h +9 -4
  171. data/vendor/v8/src/ic.cc +836 -923
  172. data/vendor/v8/src/ic.h +228 -247
  173. data/vendor/v8/src/incremental-marking-inl.h +26 -30
  174. data/vendor/v8/src/incremental-marking.cc +276 -248
  175. data/vendor/v8/src/incremental-marking.h +29 -37
  176. data/vendor/v8/src/interface.cc +34 -25
  177. data/vendor/v8/src/interface.h +69 -25
  178. data/vendor/v8/src/interpreter-irregexp.cc +2 -2
  179. data/vendor/v8/src/isolate.cc +382 -76
  180. data/vendor/v8/src/isolate.h +109 -56
  181. data/vendor/v8/src/json-parser.h +217 -104
  182. data/vendor/v8/src/json-stringifier.h +745 -0
  183. data/vendor/v8/src/json.js +10 -132
  184. data/vendor/v8/src/jsregexp-inl.h +106 -0
  185. data/vendor/v8/src/jsregexp.cc +517 -285
  186. data/vendor/v8/src/jsregexp.h +145 -117
  187. data/vendor/v8/src/list-inl.h +35 -22
  188. data/vendor/v8/src/list.h +46 -19
  189. data/vendor/v8/src/lithium-allocator-inl.h +22 -2
  190. data/vendor/v8/src/lithium-allocator.cc +85 -70
  191. data/vendor/v8/src/lithium-allocator.h +21 -39
  192. data/vendor/v8/src/lithium.cc +259 -5
  193. data/vendor/v8/src/lithium.h +131 -32
  194. data/vendor/v8/src/liveedit-debugger.js +52 -3
  195. data/vendor/v8/src/liveedit.cc +393 -113
  196. data/vendor/v8/src/liveedit.h +7 -3
  197. data/vendor/v8/src/log-utils.cc +4 -2
  198. data/vendor/v8/src/log.cc +170 -140
  199. data/vendor/v8/src/log.h +62 -11
  200. data/vendor/v8/src/macro-assembler.h +17 -0
  201. data/vendor/v8/src/macros.py +2 -0
  202. data/vendor/v8/src/mark-compact-inl.h +3 -23
  203. data/vendor/v8/src/mark-compact.cc +801 -830
  204. data/vendor/v8/src/mark-compact.h +154 -47
  205. data/vendor/v8/src/marking-thread.cc +85 -0
  206. data/vendor/v8/src/{inspector.cc → marking-thread.h} +32 -24
  207. data/vendor/v8/src/math.js +12 -18
  208. data/vendor/v8/src/messages.cc +18 -8
  209. data/vendor/v8/src/messages.js +314 -261
  210. data/vendor/v8/src/mips/assembler-mips-inl.h +58 -6
  211. data/vendor/v8/src/mips/assembler-mips.cc +92 -75
  212. data/vendor/v8/src/mips/assembler-mips.h +54 -60
  213. data/vendor/v8/src/mips/builtins-mips.cc +116 -17
  214. data/vendor/v8/src/mips/code-stubs-mips.cc +919 -556
  215. data/vendor/v8/src/mips/code-stubs-mips.h +22 -131
  216. data/vendor/v8/src/mips/codegen-mips.cc +281 -6
  217. data/vendor/v8/src/mips/codegen-mips.h +22 -0
  218. data/vendor/v8/src/mips/constants-mips.cc +2 -0
  219. data/vendor/v8/src/mips/constants-mips.h +12 -2
  220. data/vendor/v8/src/mips/deoptimizer-mips.cc +286 -50
  221. data/vendor/v8/src/mips/disasm-mips.cc +13 -0
  222. data/vendor/v8/src/mips/full-codegen-mips.cc +297 -284
  223. data/vendor/v8/src/mips/ic-mips.cc +182 -263
  224. data/vendor/v8/src/mips/lithium-codegen-mips.cc +1208 -556
  225. data/vendor/v8/src/mips/lithium-codegen-mips.h +72 -19
  226. data/vendor/v8/src/mips/lithium-gap-resolver-mips.cc +9 -2
  227. data/vendor/v8/src/mips/lithium-mips.cc +290 -302
  228. data/vendor/v8/src/mips/lithium-mips.h +463 -266
  229. data/vendor/v8/src/mips/macro-assembler-mips.cc +208 -115
  230. data/vendor/v8/src/mips/macro-assembler-mips.h +67 -24
  231. data/vendor/v8/src/mips/regexp-macro-assembler-mips.cc +40 -25
  232. data/vendor/v8/src/mips/regexp-macro-assembler-mips.h +3 -9
  233. data/vendor/v8/src/mips/simulator-mips.cc +112 -40
  234. data/vendor/v8/src/mips/simulator-mips.h +5 -0
  235. data/vendor/v8/src/mips/stub-cache-mips.cc +502 -884
  236. data/vendor/v8/src/mirror-debugger.js +157 -30
  237. data/vendor/v8/src/mksnapshot.cc +88 -14
  238. data/vendor/v8/src/object-observe.js +235 -0
  239. data/vendor/v8/src/objects-debug.cc +178 -176
  240. data/vendor/v8/src/objects-inl.h +1333 -486
  241. data/vendor/v8/src/objects-printer.cc +125 -43
  242. data/vendor/v8/src/objects-visiting-inl.h +578 -6
  243. data/vendor/v8/src/objects-visiting.cc +2 -2
  244. data/vendor/v8/src/objects-visiting.h +172 -79
  245. data/vendor/v8/src/objects.cc +3533 -2885
  246. data/vendor/v8/src/objects.h +1352 -1131
  247. data/vendor/v8/src/optimizing-compiler-thread.cc +152 -0
  248. data/vendor/v8/src/optimizing-compiler-thread.h +111 -0
  249. data/vendor/v8/src/parser.cc +390 -500
  250. data/vendor/v8/src/parser.h +45 -33
  251. data/vendor/v8/src/platform-cygwin.cc +10 -21
  252. data/vendor/v8/src/platform-freebsd.cc +36 -41
  253. data/vendor/v8/src/platform-linux.cc +160 -124
  254. data/vendor/v8/src/platform-macos.cc +30 -27
  255. data/vendor/v8/src/platform-nullos.cc +17 -1
  256. data/vendor/v8/src/platform-openbsd.cc +19 -50
  257. data/vendor/v8/src/platform-posix.cc +14 -0
  258. data/vendor/v8/src/platform-solaris.cc +20 -53
  259. data/vendor/v8/src/platform-win32.cc +49 -26
  260. data/vendor/v8/src/platform.h +40 -1
  261. data/vendor/v8/src/preparser.cc +8 -5
  262. data/vendor/v8/src/preparser.h +2 -2
  263. data/vendor/v8/src/prettyprinter.cc +16 -0
  264. data/vendor/v8/src/prettyprinter.h +2 -0
  265. data/vendor/v8/src/profile-generator-inl.h +1 -0
  266. data/vendor/v8/src/profile-generator.cc +209 -147
  267. data/vendor/v8/src/profile-generator.h +15 -12
  268. data/vendor/v8/src/property-details.h +46 -31
  269. data/vendor/v8/src/property.cc +27 -46
  270. data/vendor/v8/src/property.h +163 -83
  271. data/vendor/v8/src/proxy.js +7 -2
  272. data/vendor/v8/src/regexp-macro-assembler-irregexp.cc +4 -13
  273. data/vendor/v8/src/regexp-macro-assembler-irregexp.h +1 -2
  274. data/vendor/v8/src/regexp-macro-assembler-tracer.cc +1 -11
  275. data/vendor/v8/src/regexp-macro-assembler-tracer.h +0 -1
  276. data/vendor/v8/src/regexp-macro-assembler.cc +31 -14
  277. data/vendor/v8/src/regexp-macro-assembler.h +14 -11
  278. data/vendor/v8/src/regexp-stack.cc +1 -0
  279. data/vendor/v8/src/regexp.js +9 -8
  280. data/vendor/v8/src/rewriter.cc +18 -7
  281. data/vendor/v8/src/runtime-profiler.cc +52 -43
  282. data/vendor/v8/src/runtime-profiler.h +0 -25
  283. data/vendor/v8/src/runtime.cc +2006 -2023
  284. data/vendor/v8/src/runtime.h +56 -49
  285. data/vendor/v8/src/safepoint-table.cc +12 -18
  286. data/vendor/v8/src/safepoint-table.h +11 -8
  287. data/vendor/v8/src/scanner.cc +1 -0
  288. data/vendor/v8/src/scanner.h +4 -10
  289. data/vendor/v8/src/scopeinfo.cc +35 -9
  290. data/vendor/v8/src/scopeinfo.h +64 -3
  291. data/vendor/v8/src/scopes.cc +251 -156
  292. data/vendor/v8/src/scopes.h +61 -27
  293. data/vendor/v8/src/serialize.cc +348 -396
  294. data/vendor/v8/src/serialize.h +125 -114
  295. data/vendor/v8/src/small-pointer-list.h +11 -11
  296. data/vendor/v8/src/{smart-array-pointer.h → smart-pointers.h} +64 -15
  297. data/vendor/v8/src/snapshot-common.cc +64 -15
  298. data/vendor/v8/src/snapshot-empty.cc +7 -1
  299. data/vendor/v8/src/snapshot.h +9 -2
  300. data/vendor/v8/src/spaces-inl.h +17 -0
  301. data/vendor/v8/src/spaces.cc +477 -183
  302. data/vendor/v8/src/spaces.h +238 -58
  303. data/vendor/v8/src/splay-tree-inl.h +8 -7
  304. data/vendor/v8/src/splay-tree.h +24 -10
  305. data/vendor/v8/src/store-buffer.cc +12 -5
  306. data/vendor/v8/src/store-buffer.h +2 -4
  307. data/vendor/v8/src/string-search.h +22 -6
  308. data/vendor/v8/src/string-stream.cc +11 -8
  309. data/vendor/v8/src/string.js +47 -15
  310. data/vendor/v8/src/stub-cache.cc +461 -224
  311. data/vendor/v8/src/stub-cache.h +164 -102
  312. data/vendor/v8/src/sweeper-thread.cc +105 -0
  313. data/vendor/v8/src/sweeper-thread.h +81 -0
  314. data/vendor/v8/src/token.h +1 -0
  315. data/vendor/v8/src/transitions-inl.h +220 -0
  316. data/vendor/v8/src/transitions.cc +160 -0
  317. data/vendor/v8/src/transitions.h +207 -0
  318. data/vendor/v8/src/type-info.cc +182 -181
  319. data/vendor/v8/src/type-info.h +31 -19
  320. data/vendor/v8/src/unicode-inl.h +62 -106
  321. data/vendor/v8/src/unicode.cc +57 -67
  322. data/vendor/v8/src/unicode.h +45 -91
  323. data/vendor/v8/src/uri.js +57 -29
  324. data/vendor/v8/src/utils.h +105 -5
  325. data/vendor/v8/src/v8-counters.cc +54 -11
  326. data/vendor/v8/src/v8-counters.h +134 -19
  327. data/vendor/v8/src/v8.cc +29 -29
  328. data/vendor/v8/src/v8.h +1 -0
  329. data/vendor/v8/src/v8conversions.cc +26 -22
  330. data/vendor/v8/src/v8globals.h +56 -43
  331. data/vendor/v8/src/v8natives.js +83 -30
  332. data/vendor/v8/src/v8threads.cc +42 -21
  333. data/vendor/v8/src/v8threads.h +4 -1
  334. data/vendor/v8/src/v8utils.cc +9 -93
  335. data/vendor/v8/src/v8utils.h +37 -33
  336. data/vendor/v8/src/variables.cc +6 -3
  337. data/vendor/v8/src/variables.h +6 -13
  338. data/vendor/v8/src/version.cc +2 -2
  339. data/vendor/v8/src/vm-state-inl.h +11 -0
  340. data/vendor/v8/src/x64/assembler-x64-inl.h +39 -8
  341. data/vendor/v8/src/x64/assembler-x64.cc +78 -64
  342. data/vendor/v8/src/x64/assembler-x64.h +38 -33
  343. data/vendor/v8/src/x64/builtins-x64.cc +105 -7
  344. data/vendor/v8/src/x64/code-stubs-x64.cc +790 -413
  345. data/vendor/v8/src/x64/code-stubs-x64.h +10 -106
  346. data/vendor/v8/src/x64/codegen-x64.cc +210 -8
  347. data/vendor/v8/src/x64/codegen-x64.h +20 -1
  348. data/vendor/v8/src/x64/deoptimizer-x64.cc +336 -75
  349. data/vendor/v8/src/x64/disasm-x64.cc +15 -0
  350. data/vendor/v8/src/x64/frames-x64.h +0 -14
  351. data/vendor/v8/src/x64/full-codegen-x64.cc +293 -270
  352. data/vendor/v8/src/x64/ic-x64.cc +153 -251
  353. data/vendor/v8/src/x64/lithium-codegen-x64.cc +1379 -531
  354. data/vendor/v8/src/x64/lithium-codegen-x64.h +67 -23
  355. data/vendor/v8/src/x64/lithium-gap-resolver-x64.cc +2 -2
  356. data/vendor/v8/src/x64/lithium-x64.cc +349 -289
  357. data/vendor/v8/src/x64/lithium-x64.h +460 -250
  358. data/vendor/v8/src/x64/macro-assembler-x64.cc +350 -177
  359. data/vendor/v8/src/x64/macro-assembler-x64.h +67 -49
  360. data/vendor/v8/src/x64/regexp-macro-assembler-x64.cc +46 -33
  361. data/vendor/v8/src/x64/regexp-macro-assembler-x64.h +2 -3
  362. data/vendor/v8/src/x64/stub-cache-x64.cc +484 -653
  363. data/vendor/v8/src/zone-inl.h +9 -27
  364. data/vendor/v8/src/zone.cc +5 -5
  365. data/vendor/v8/src/zone.h +53 -27
  366. data/vendor/v8/test/benchmarks/testcfg.py +5 -0
  367. data/vendor/v8/test/cctest/cctest.cc +4 -0
  368. data/vendor/v8/test/cctest/cctest.gyp +3 -1
  369. data/vendor/v8/test/cctest/cctest.h +57 -9
  370. data/vendor/v8/test/cctest/cctest.status +15 -15
  371. data/vendor/v8/test/cctest/test-accessors.cc +26 -0
  372. data/vendor/v8/test/cctest/test-alloc.cc +22 -30
  373. data/vendor/v8/test/cctest/test-api.cc +1943 -314
  374. data/vendor/v8/test/cctest/test-assembler-arm.cc +133 -13
  375. data/vendor/v8/test/cctest/test-assembler-ia32.cc +1 -1
  376. data/vendor/v8/test/cctest/test-assembler-mips.cc +12 -0
  377. data/vendor/v8/test/cctest/test-ast.cc +4 -2
  378. data/vendor/v8/test/cctest/test-compiler.cc +61 -29
  379. data/vendor/v8/test/cctest/test-dataflow.cc +2 -2
  380. data/vendor/v8/test/cctest/test-debug.cc +212 -33
  381. data/vendor/v8/test/cctest/test-decls.cc +257 -11
  382. data/vendor/v8/test/cctest/test-dictionary.cc +24 -10
  383. data/vendor/v8/test/cctest/test-disasm-arm.cc +118 -1
  384. data/vendor/v8/test/cctest/test-disasm-ia32.cc +3 -2
  385. data/vendor/v8/test/cctest/test-flags.cc +14 -1
  386. data/vendor/v8/test/cctest/test-func-name-inference.cc +7 -4
  387. data/vendor/v8/test/cctest/test-global-object.cc +51 -0
  388. data/vendor/v8/test/cctest/test-hashing.cc +32 -23
  389. data/vendor/v8/test/cctest/test-heap-profiler.cc +131 -77
  390. data/vendor/v8/test/cctest/test-heap.cc +1084 -143
  391. data/vendor/v8/test/cctest/test-list.cc +1 -1
  392. data/vendor/v8/test/cctest/test-liveedit.cc +3 -2
  393. data/vendor/v8/test/cctest/test-lockers.cc +12 -13
  394. data/vendor/v8/test/cctest/test-log.cc +10 -8
  395. data/vendor/v8/test/cctest/test-macro-assembler-x64.cc +2 -2
  396. data/vendor/v8/test/cctest/test-mark-compact.cc +44 -22
  397. data/vendor/v8/test/cctest/test-object-observe.cc +434 -0
  398. data/vendor/v8/test/cctest/test-parsing.cc +86 -39
  399. data/vendor/v8/test/cctest/test-platform-linux.cc +6 -0
  400. data/vendor/v8/test/cctest/test-platform-win32.cc +7 -0
  401. data/vendor/v8/test/cctest/test-random.cc +5 -4
  402. data/vendor/v8/test/cctest/test-regexp.cc +137 -101
  403. data/vendor/v8/test/cctest/test-serialize.cc +150 -230
  404. data/vendor/v8/test/cctest/test-sockets.cc +1 -1
  405. data/vendor/v8/test/cctest/test-spaces.cc +139 -0
  406. data/vendor/v8/test/cctest/test-strings.cc +736 -74
  407. data/vendor/v8/test/cctest/test-thread-termination.cc +10 -11
  408. data/vendor/v8/test/cctest/test-threads.cc +4 -4
  409. data/vendor/v8/test/cctest/test-utils.cc +16 -0
  410. data/vendor/v8/test/cctest/test-weakmaps.cc +7 -3
  411. data/vendor/v8/test/cctest/testcfg.py +64 -5
  412. data/vendor/v8/test/es5conform/testcfg.py +5 -0
  413. data/vendor/v8/test/message/message.status +1 -1
  414. data/vendor/v8/test/message/overwritten-builtins.out +3 -0
  415. data/vendor/v8/test/message/testcfg.py +89 -8
  416. data/vendor/v8/test/message/try-catch-finally-no-message.out +26 -26
  417. data/vendor/v8/test/mjsunit/accessor-map-sharing.js +18 -2
  418. data/vendor/v8/test/mjsunit/allocation-site-info.js +126 -0
  419. data/vendor/v8/test/mjsunit/array-bounds-check-removal.js +62 -1
  420. data/vendor/v8/test/mjsunit/array-iteration.js +1 -1
  421. data/vendor/v8/test/mjsunit/array-literal-transitions.js +2 -0
  422. data/vendor/v8/test/mjsunit/array-natives-elements.js +317 -0
  423. data/vendor/v8/test/mjsunit/array-reduce.js +8 -8
  424. data/vendor/v8/test/mjsunit/array-slice.js +12 -0
  425. data/vendor/v8/test/mjsunit/array-store-and-grow.js +4 -1
  426. data/vendor/v8/test/mjsunit/assert-opt-and-deopt.js +1 -1
  427. data/vendor/v8/test/mjsunit/bugs/bug-2337.js +53 -0
  428. data/vendor/v8/test/mjsunit/compare-known-objects-slow.js +69 -0
  429. data/vendor/v8/test/mjsunit/compiler/alloc-object-huge.js +3 -1
  430. data/vendor/v8/test/mjsunit/compiler/inline-accessors.js +368 -0
  431. data/vendor/v8/test/mjsunit/compiler/inline-arguments.js +87 -1
  432. data/vendor/v8/test/mjsunit/compiler/inline-closures.js +49 -0
  433. data/vendor/v8/test/mjsunit/compiler/inline-construct.js +55 -43
  434. data/vendor/v8/test/mjsunit/compiler/inline-literals.js +39 -0
  435. data/vendor/v8/test/mjsunit/compiler/multiply-add.js +69 -0
  436. data/vendor/v8/test/mjsunit/compiler/optimized-closures.js +57 -0
  437. data/vendor/v8/test/mjsunit/compiler/parallel-proto-change.js +44 -0
  438. data/vendor/v8/test/mjsunit/compiler/property-static.js +69 -0
  439. data/vendor/v8/test/mjsunit/compiler/proto-chain-constant.js +55 -0
  440. data/vendor/v8/test/mjsunit/compiler/proto-chain-load.js +44 -0
  441. data/vendor/v8/test/mjsunit/compiler/regress-gvn.js +3 -2
  442. data/vendor/v8/test/mjsunit/compiler/regress-or.js +6 -2
  443. data/vendor/v8/test/mjsunit/compiler/rotate.js +224 -0
  444. data/vendor/v8/test/mjsunit/compiler/uint32.js +173 -0
  445. data/vendor/v8/test/mjsunit/count-based-osr.js +2 -1
  446. data/vendor/v8/test/mjsunit/d8-os.js +3 -3
  447. data/vendor/v8/test/mjsunit/date-parse.js +3 -0
  448. data/vendor/v8/test/mjsunit/date.js +22 -0
  449. data/vendor/v8/test/mjsunit/debug-break-inline.js +1 -0
  450. data/vendor/v8/test/mjsunit/debug-evaluate-locals-optimized-double.js +22 -12
  451. data/vendor/v8/test/mjsunit/debug-evaluate-locals-optimized.js +21 -10
  452. data/vendor/v8/test/mjsunit/debug-liveedit-compile-error.js +60 -0
  453. data/vendor/v8/test/mjsunit/debug-liveedit-double-call.js +142 -0
  454. data/vendor/v8/test/mjsunit/debug-liveedit-literals.js +94 -0
  455. data/vendor/v8/test/mjsunit/debug-liveedit-restart-frame.js +153 -0
  456. data/vendor/v8/test/mjsunit/debug-multiple-breakpoints.js +1 -1
  457. data/vendor/v8/test/mjsunit/debug-script-breakpoints-closure.js +67 -0
  458. data/vendor/v8/test/mjsunit/debug-script-breakpoints-nested.js +82 -0
  459. data/vendor/v8/test/mjsunit/debug-script.js +4 -2
  460. data/vendor/v8/test/mjsunit/debug-set-variable-value.js +308 -0
  461. data/vendor/v8/test/mjsunit/debug-stepout-scope-part1.js +190 -0
  462. data/vendor/v8/test/mjsunit/debug-stepout-scope-part2.js +83 -0
  463. data/vendor/v8/test/mjsunit/debug-stepout-scope-part3.js +80 -0
  464. data/vendor/v8/test/mjsunit/debug-stepout-scope-part4.js +80 -0
  465. data/vendor/v8/test/mjsunit/debug-stepout-scope-part5.js +77 -0
  466. data/vendor/v8/test/mjsunit/debug-stepout-scope-part6.js +79 -0
  467. data/vendor/v8/test/mjsunit/debug-stepout-scope-part7.js +79 -0
  468. data/vendor/v8/test/mjsunit/{debug-stepout-scope.js → debug-stepout-scope-part8.js} +0 -189
  469. data/vendor/v8/test/mjsunit/delete-non-configurable.js +74 -0
  470. data/vendor/v8/test/mjsunit/deopt-minus-zero.js +56 -0
  471. data/vendor/v8/test/mjsunit/elements-kind.js +6 -4
  472. data/vendor/v8/test/mjsunit/elements-length-no-holey.js +33 -0
  473. data/vendor/v8/test/mjsunit/elements-transition-hoisting.js +46 -19
  474. data/vendor/v8/test/mjsunit/error-accessors.js +54 -0
  475. data/vendor/v8/test/mjsunit/error-constructors.js +1 -14
  476. data/vendor/v8/test/mjsunit/error-tostring.js +8 -0
  477. data/vendor/v8/test/mjsunit/eval-stack-trace.js +204 -0
  478. data/vendor/v8/test/mjsunit/external-array.js +364 -1
  479. data/vendor/v8/test/mjsunit/fast-array-length.js +37 -0
  480. data/vendor/v8/test/mjsunit/fast-non-keyed.js +113 -0
  481. data/vendor/v8/test/mjsunit/fast-prototype.js +117 -0
  482. data/vendor/v8/test/mjsunit/function-call.js +14 -18
  483. data/vendor/v8/test/mjsunit/fuzz-natives-part1.js +230 -0
  484. data/vendor/v8/test/mjsunit/fuzz-natives-part2.js +229 -0
  485. data/vendor/v8/test/mjsunit/fuzz-natives-part3.js +229 -0
  486. data/vendor/v8/test/mjsunit/{fuzz-natives.js → fuzz-natives-part4.js} +12 -2
  487. data/vendor/v8/test/mjsunit/generated-transition-stub.js +218 -0
  488. data/vendor/v8/test/mjsunit/greedy.js +1 -1
  489. data/vendor/v8/test/mjsunit/harmony/block-conflicts.js +2 -1
  490. data/vendor/v8/test/mjsunit/harmony/block-let-crankshaft.js +1 -1
  491. data/vendor/v8/test/mjsunit/harmony/collections.js +69 -11
  492. data/vendor/v8/test/mjsunit/harmony/debug-blockscopes.js +2 -2
  493. data/vendor/v8/test/mjsunit/harmony/module-linking.js +180 -3
  494. data/vendor/v8/test/mjsunit/harmony/module-parsing.js +31 -0
  495. data/vendor/v8/test/mjsunit/harmony/module-recompile.js +87 -0
  496. data/vendor/v8/test/mjsunit/harmony/module-resolution.js +15 -2
  497. data/vendor/v8/test/mjsunit/harmony/object-observe.js +1056 -0
  498. data/vendor/v8/test/mjsunit/harmony/proxies-json.js +178 -0
  499. data/vendor/v8/test/mjsunit/harmony/proxies.js +25 -10
  500. data/vendor/v8/test/mjsunit/json-parser-recursive.js +33 -0
  501. data/vendor/v8/test/mjsunit/json-stringify-recursive.js +52 -0
  502. data/vendor/v8/test/mjsunit/json.js +38 -2
  503. data/vendor/v8/test/mjsunit/json2.js +153 -0
  504. data/vendor/v8/test/mjsunit/limit-locals.js +5 -4
  505. data/vendor/v8/test/mjsunit/manual-parallel-recompile.js +79 -0
  506. data/vendor/v8/test/mjsunit/math-exp-precision.js +64 -0
  507. data/vendor/v8/test/mjsunit/math-floor-negative.js +59 -0
  508. data/vendor/v8/test/mjsunit/math-floor-of-div-minus-zero.js +41 -0
  509. data/vendor/v8/test/mjsunit/math-floor-of-div-nosudiv.js +288 -0
  510. data/vendor/v8/test/mjsunit/math-floor-of-div.js +81 -9
  511. data/vendor/v8/test/mjsunit/{math-floor.js → math-floor-part1.js} +1 -72
  512. data/vendor/v8/test/mjsunit/math-floor-part2.js +76 -0
  513. data/vendor/v8/test/mjsunit/math-floor-part3.js +78 -0
  514. data/vendor/v8/test/mjsunit/math-floor-part4.js +76 -0
  515. data/vendor/v8/test/mjsunit/mirror-object.js +43 -9
  516. data/vendor/v8/test/mjsunit/mjsunit.js +1 -1
  517. data/vendor/v8/test/mjsunit/mjsunit.status +52 -27
  518. data/vendor/v8/test/mjsunit/mul-exhaustive-part1.js +491 -0
  519. data/vendor/v8/test/mjsunit/mul-exhaustive-part10.js +470 -0
  520. data/vendor/v8/test/mjsunit/mul-exhaustive-part2.js +525 -0
  521. data/vendor/v8/test/mjsunit/mul-exhaustive-part3.js +532 -0
  522. data/vendor/v8/test/mjsunit/mul-exhaustive-part4.js +509 -0
  523. data/vendor/v8/test/mjsunit/mul-exhaustive-part5.js +505 -0
  524. data/vendor/v8/test/mjsunit/mul-exhaustive-part6.js +554 -0
  525. data/vendor/v8/test/mjsunit/mul-exhaustive-part7.js +497 -0
  526. data/vendor/v8/test/mjsunit/mul-exhaustive-part8.js +526 -0
  527. data/vendor/v8/test/mjsunit/mul-exhaustive-part9.js +533 -0
  528. data/vendor/v8/test/mjsunit/new-function.js +34 -0
  529. data/vendor/v8/test/mjsunit/numops-fuzz-part1.js +1172 -0
  530. data/vendor/v8/test/mjsunit/numops-fuzz-part2.js +1178 -0
  531. data/vendor/v8/test/mjsunit/numops-fuzz-part3.js +1178 -0
  532. data/vendor/v8/test/mjsunit/numops-fuzz-part4.js +1177 -0
  533. data/vendor/v8/test/mjsunit/object-define-property.js +107 -2
  534. data/vendor/v8/test/mjsunit/override-read-only-property.js +6 -4
  535. data/vendor/v8/test/mjsunit/packed-elements.js +2 -2
  536. data/vendor/v8/test/mjsunit/parse-int-float.js +4 -4
  537. data/vendor/v8/test/mjsunit/pixel-array-rounding.js +1 -1
  538. data/vendor/v8/test/mjsunit/readonly.js +228 -0
  539. data/vendor/v8/test/mjsunit/regexp-capture-3.js +16 -18
  540. data/vendor/v8/test/mjsunit/regexp-capture.js +2 -0
  541. data/vendor/v8/test/mjsunit/regexp-global.js +122 -0
  542. data/vendor/v8/test/mjsunit/regexp-results-cache.js +78 -0
  543. data/vendor/v8/test/mjsunit/regress/regress-1117.js +12 -3
  544. data/vendor/v8/test/mjsunit/regress/regress-1118.js +1 -1
  545. data/vendor/v8/test/mjsunit/regress/regress-115100.js +36 -0
  546. data/vendor/v8/test/mjsunit/regress/regress-1199637.js +1 -3
  547. data/vendor/v8/test/mjsunit/regress/regress-121407.js +1 -1
  548. data/vendor/v8/test/mjsunit/regress/regress-131923.js +30 -0
  549. data/vendor/v8/test/mjsunit/regress/regress-131994.js +70 -0
  550. data/vendor/v8/test/mjsunit/regress/regress-133211.js +35 -0
  551. data/vendor/v8/test/mjsunit/regress/regress-133211b.js +39 -0
  552. data/vendor/v8/test/mjsunit/regress/regress-136048.js +34 -0
  553. data/vendor/v8/test/mjsunit/regress/regress-137768.js +73 -0
  554. data/vendor/v8/test/mjsunit/regress/regress-143967.js +34 -0
  555. data/vendor/v8/test/mjsunit/regress/regress-145201.js +107 -0
  556. data/vendor/v8/test/mjsunit/regress/regress-147497.js +45 -0
  557. data/vendor/v8/test/mjsunit/regress/regress-148378.js +38 -0
  558. data/vendor/v8/test/mjsunit/regress/regress-1563.js +1 -1
  559. data/vendor/v8/test/mjsunit/regress/regress-1591.js +48 -0
  560. data/vendor/v8/test/mjsunit/regress/regress-164442.js +45 -0
  561. data/vendor/v8/test/mjsunit/regress/regress-165637.js +61 -0
  562. data/vendor/v8/test/mjsunit/regress/regress-166379.js +39 -0
  563. data/vendor/v8/test/mjsunit/regress/regress-166553.js +33 -0
  564. data/vendor/v8/test/mjsunit/regress/regress-1692.js +1 -1
  565. data/vendor/v8/test/mjsunit/regress/regress-171641.js +40 -0
  566. data/vendor/v8/test/mjsunit/regress/regress-1980.js +1 -1
  567. data/vendor/v8/test/mjsunit/regress/regress-2073.js +99 -0
  568. data/vendor/v8/test/mjsunit/regress/regress-2119.js +36 -0
  569. data/vendor/v8/test/mjsunit/regress/regress-2156.js +39 -0
  570. data/vendor/v8/test/mjsunit/regress/regress-2163.js +70 -0
  571. data/vendor/v8/test/mjsunit/regress/regress-2170.js +58 -0
  572. data/vendor/v8/test/mjsunit/regress/regress-2172.js +35 -0
  573. data/vendor/v8/test/mjsunit/regress/regress-2185-2.js +145 -0
  574. data/vendor/v8/test/mjsunit/regress/regress-2185.js +38 -0
  575. data/vendor/v8/test/mjsunit/regress/regress-2186.js +49 -0
  576. data/vendor/v8/test/mjsunit/regress/regress-2193.js +58 -0
  577. data/vendor/v8/test/mjsunit/regress/regress-2219.js +32 -0
  578. data/vendor/v8/test/mjsunit/regress/regress-2225.js +65 -0
  579. data/vendor/v8/test/mjsunit/regress/regress-2226.js +36 -0
  580. data/vendor/v8/test/mjsunit/regress/regress-2234.js +41 -0
  581. data/vendor/v8/test/mjsunit/regress/regress-2243.js +31 -0
  582. data/vendor/v8/test/mjsunit/regress/regress-2249.js +33 -0
  583. data/vendor/v8/test/mjsunit/regress/regress-2250.js +68 -0
  584. data/vendor/v8/test/mjsunit/regress/regress-2261.js +113 -0
  585. data/vendor/v8/test/mjsunit/regress/regress-2263.js +30 -0
  586. data/vendor/v8/test/mjsunit/regress/regress-2284.js +32 -0
  587. data/vendor/v8/test/mjsunit/regress/regress-2285.js +32 -0
  588. data/vendor/v8/test/mjsunit/regress/regress-2286.js +32 -0
  589. data/vendor/v8/test/mjsunit/regress/regress-2289.js +34 -0
  590. data/vendor/v8/test/mjsunit/regress/regress-2291.js +36 -0
  591. data/vendor/v8/test/mjsunit/regress/regress-2294.js +70 -0
  592. data/vendor/v8/test/mjsunit/regress/regress-2296.js +40 -0
  593. data/vendor/v8/test/mjsunit/regress/regress-2315.js +40 -0
  594. data/vendor/v8/test/mjsunit/regress/regress-2318.js +66 -0
  595. data/vendor/v8/test/mjsunit/regress/regress-2322.js +36 -0
  596. data/vendor/v8/test/mjsunit/regress/regress-2326.js +54 -0
  597. data/vendor/v8/test/mjsunit/regress/regress-2336.js +53 -0
  598. data/vendor/v8/test/mjsunit/regress/regress-2339.js +59 -0
  599. data/vendor/v8/test/mjsunit/regress/regress-2346.js +123 -0
  600. data/vendor/v8/test/mjsunit/regress/regress-2373.js +29 -0
  601. data/vendor/v8/test/mjsunit/regress/regress-2374.js +33 -0
  602. data/vendor/v8/test/mjsunit/regress/regress-2398.js +41 -0
  603. data/vendor/v8/test/mjsunit/regress/regress-2410.js +36 -0
  604. data/vendor/v8/test/mjsunit/regress/regress-2416.js +75 -0
  605. data/vendor/v8/test/mjsunit/regress/regress-2419.js +37 -0
  606. data/vendor/v8/test/mjsunit/regress/regress-2433.js +36 -0
  607. data/vendor/v8/test/mjsunit/regress/regress-2437.js +156 -0
  608. data/vendor/v8/test/mjsunit/regress/regress-2438.js +52 -0
  609. data/vendor/v8/test/mjsunit/regress/regress-2443.js +129 -0
  610. data/vendor/v8/test/mjsunit/regress/regress-2444.js +120 -0
  611. data/vendor/v8/test/mjsunit/regress/regress-2489.js +50 -0
  612. data/vendor/v8/test/mjsunit/regress/regress-2499.js +40 -0
  613. data/vendor/v8/test/mjsunit/regress/regress-334.js +1 -1
  614. data/vendor/v8/test/mjsunit/regress/regress-492.js +39 -1
  615. data/vendor/v8/test/mjsunit/regress/regress-builtin-array-op.js +38 -0
  616. data/vendor/v8/test/mjsunit/regress/regress-cnlt-elements.js +43 -0
  617. data/vendor/v8/test/mjsunit/regress/regress-cnlt-enum-indices.js +45 -0
  618. data/vendor/v8/test/mjsunit/regress/regress-cntl-descriptors-enum.js +46 -0
  619. data/vendor/v8/test/mjsunit/regress/regress-convert-enum.js +60 -0
  620. data/vendor/v8/test/mjsunit/regress/regress-convert-enum2.js +46 -0
  621. data/vendor/v8/test/mjsunit/regress/regress-convert-transition.js +40 -0
  622. data/vendor/v8/test/mjsunit/regress/regress-crbug-119926.js +3 -1
  623. data/vendor/v8/test/mjsunit/regress/regress-crbug-125148.js +90 -0
  624. data/vendor/v8/test/mjsunit/regress/regress-crbug-134055.js +63 -0
  625. data/vendor/v8/test/mjsunit/regress/regress-crbug-134609.js +59 -0
  626. data/vendor/v8/test/mjsunit/regress/regress-crbug-135008.js +45 -0
  627. data/vendor/v8/test/mjsunit/regress/regress-crbug-135066.js +55 -0
  628. data/vendor/v8/test/mjsunit/regress/regress-crbug-137689.js +47 -0
  629. data/vendor/v8/test/mjsunit/regress/regress-crbug-138887.js +48 -0
  630. data/vendor/v8/test/mjsunit/regress/regress-crbug-140083.js +44 -0
  631. data/vendor/v8/test/mjsunit/regress/regress-crbug-142087.js +38 -0
  632. data/vendor/v8/test/mjsunit/regress/regress-crbug-142218.js +44 -0
  633. data/vendor/v8/test/mjsunit/regress/regress-crbug-145961.js +39 -0
  634. data/vendor/v8/test/mjsunit/regress/regress-crbug-146910.js +33 -0
  635. data/vendor/v8/test/mjsunit/regress/regress-crbug-147475.js +48 -0
  636. data/vendor/v8/test/mjsunit/regress/regress-crbug-148376.js +35 -0
  637. data/vendor/v8/test/mjsunit/regress/regress-crbug-150545.js +53 -0
  638. data/vendor/v8/test/mjsunit/regress/regress-crbug-150729.js +39 -0
  639. data/vendor/v8/test/mjsunit/regress/regress-crbug-157019.js +54 -0
  640. data/vendor/v8/test/mjsunit/regress/regress-crbug-157520.js +38 -0
  641. data/vendor/v8/test/mjsunit/regress/regress-crbug-158185.js +39 -0
  642. data/vendor/v8/test/mjsunit/regress/regress-crbug-160010.js +35 -0
  643. data/vendor/v8/test/mjsunit/regress/regress-crbug-162085.js +71 -0
  644. data/vendor/v8/test/mjsunit/regress/regress-crbug-168545.js +34 -0
  645. data/vendor/v8/test/mjsunit/regress/regress-crbug-170856.js +33 -0
  646. data/vendor/v8/test/mjsunit/regress/regress-crbug-172345.js +34 -0
  647. data/vendor/v8/test/mjsunit/regress/regress-crbug-173974.js +36 -0
  648. data/vendor/v8/test/mjsunit/regress/regress-crbug-18639.js +9 -5
  649. data/vendor/v8/test/mjsunit/regress/regress-debug-code-recompilation.js +2 -1
  650. data/vendor/v8/test/mjsunit/regress/regress-deep-proto.js +45 -0
  651. data/vendor/v8/test/mjsunit/regress/regress-delete-empty-double.js +40 -0
  652. data/vendor/v8/test/mjsunit/regress/regress-iteration-order.js +42 -0
  653. data/vendor/v8/test/mjsunit/regress/regress-json-stringify-gc.js +41 -0
  654. data/vendor/v8/test/mjsunit/regress/regress-latin-1.js +78 -0
  655. data/vendor/v8/test/mjsunit/regress/regress-load-elements.js +49 -0
  656. data/vendor/v8/test/mjsunit/regress/regress-observe-empty-double-array.js +38 -0
  657. data/vendor/v8/test/mjsunit/regress/regress-undefined-store-keyed-fast-element.js +37 -0
  658. data/vendor/v8/test/mjsunit/shift-for-integer-div.js +59 -0
  659. data/vendor/v8/test/mjsunit/stack-traces-gc.js +119 -0
  660. data/vendor/v8/test/mjsunit/stack-traces-overflow.js +122 -0
  661. data/vendor/v8/test/mjsunit/stack-traces.js +39 -1
  662. data/vendor/v8/test/mjsunit/str-to-num.js +7 -2
  663. data/vendor/v8/test/mjsunit/strict-mode.js +36 -11
  664. data/vendor/v8/test/mjsunit/string-charcodeat.js +3 -0
  665. data/vendor/v8/test/mjsunit/string-natives.js +72 -0
  666. data/vendor/v8/test/mjsunit/string-split.js +17 -0
  667. data/vendor/v8/test/mjsunit/testcfg.py +76 -6
  668. data/vendor/v8/test/mjsunit/tools/tickprocessor.js +4 -1
  669. data/vendor/v8/test/mjsunit/try-finally-continue.js +72 -0
  670. data/vendor/v8/test/mjsunit/typed-array-slice.js +61 -0
  671. data/vendor/v8/test/mjsunit/unbox-double-arrays.js +2 -0
  672. data/vendor/v8/test/mjsunit/uri.js +12 -0
  673. data/vendor/v8/test/mjsunit/with-readonly.js +4 -2
  674. data/vendor/v8/test/mozilla/mozilla.status +19 -113
  675. data/vendor/v8/test/mozilla/testcfg.py +122 -3
  676. data/vendor/v8/test/preparser/preparser.status +5 -0
  677. data/vendor/v8/test/preparser/strict-identifiers.pyt +1 -1
  678. data/vendor/v8/test/preparser/testcfg.py +101 -5
  679. data/vendor/v8/test/sputnik/sputnik.status +1 -1
  680. data/vendor/v8/test/sputnik/testcfg.py +5 -0
  681. data/vendor/v8/test/test262/README +2 -2
  682. data/vendor/v8/test/test262/test262.status +13 -36
  683. data/vendor/v8/test/test262/testcfg.py +102 -8
  684. data/vendor/v8/tools/android-build.sh +0 -0
  685. data/vendor/v8/tools/android-ll-prof.sh +69 -0
  686. data/vendor/v8/tools/android-run.py +109 -0
  687. data/vendor/v8/tools/android-sync.sh +105 -0
  688. data/vendor/v8/tools/bash-completion.sh +0 -0
  689. data/vendor/v8/tools/check-static-initializers.sh +0 -0
  690. data/vendor/v8/tools/common-includes.sh +15 -22
  691. data/vendor/v8/tools/disasm.py +4 -4
  692. data/vendor/v8/tools/fuzz-harness.sh +0 -0
  693. data/vendor/v8/tools/gen-postmortem-metadata.py +6 -8
  694. data/vendor/v8/tools/grokdump.py +404 -129
  695. data/vendor/v8/tools/gyp/v8.gyp +105 -43
  696. data/vendor/v8/tools/linux-tick-processor +5 -5
  697. data/vendor/v8/tools/ll_prof.py +75 -15
  698. data/vendor/v8/tools/merge-to-branch.sh +2 -2
  699. data/vendor/v8/tools/plot-timer-events +70 -0
  700. data/vendor/v8/tools/plot-timer-events.js +510 -0
  701. data/vendor/v8/tools/presubmit.py +1 -0
  702. data/vendor/v8/tools/push-to-trunk.sh +14 -4
  703. data/vendor/v8/tools/run-llprof.sh +69 -0
  704. data/vendor/v8/tools/run-tests.py +372 -0
  705. data/vendor/v8/tools/run-valgrind.py +1 -1
  706. data/vendor/v8/tools/status-file-converter.py +39 -0
  707. data/vendor/v8/tools/test-server.py +224 -0
  708. data/vendor/v8/tools/test-wrapper-gypbuild.py +13 -16
  709. data/vendor/v8/tools/test.py +10 -19
  710. data/vendor/v8/tools/testrunner/README +174 -0
  711. data/vendor/v8/tools/testrunner/__init__.py +26 -0
  712. data/vendor/v8/tools/testrunner/local/__init__.py +26 -0
  713. data/vendor/v8/tools/testrunner/local/commands.py +153 -0
  714. data/vendor/v8/tools/testrunner/local/execution.py +182 -0
  715. data/vendor/v8/tools/testrunner/local/old_statusfile.py +460 -0
  716. data/vendor/v8/tools/testrunner/local/progress.py +238 -0
  717. data/vendor/v8/tools/testrunner/local/statusfile.py +145 -0
  718. data/vendor/v8/tools/testrunner/local/testsuite.py +187 -0
  719. data/vendor/v8/tools/testrunner/local/utils.py +108 -0
  720. data/vendor/v8/tools/testrunner/local/verbose.py +99 -0
  721. data/vendor/v8/tools/testrunner/network/__init__.py +26 -0
  722. data/vendor/v8/tools/testrunner/network/distro.py +90 -0
  723. data/vendor/v8/tools/testrunner/network/endpoint.py +124 -0
  724. data/vendor/v8/tools/testrunner/network/network_execution.py +253 -0
  725. data/vendor/v8/tools/testrunner/network/perfdata.py +120 -0
  726. data/vendor/v8/tools/testrunner/objects/__init__.py +26 -0
  727. data/vendor/v8/tools/testrunner/objects/context.py +50 -0
  728. data/vendor/v8/tools/testrunner/objects/output.py +60 -0
  729. data/vendor/v8/tools/testrunner/objects/peer.py +80 -0
  730. data/vendor/v8/tools/testrunner/objects/testcase.py +83 -0
  731. data/vendor/v8/tools/testrunner/objects/workpacket.py +90 -0
  732. data/vendor/v8/tools/testrunner/server/__init__.py +26 -0
  733. data/vendor/v8/tools/testrunner/server/compression.py +111 -0
  734. data/vendor/v8/tools/testrunner/server/constants.py +51 -0
  735. data/vendor/v8/tools/testrunner/server/daemon.py +147 -0
  736. data/vendor/v8/tools/testrunner/server/local_handler.py +119 -0
  737. data/vendor/v8/tools/testrunner/server/main.py +245 -0
  738. data/vendor/v8/tools/testrunner/server/presence_handler.py +120 -0
  739. data/vendor/v8/tools/testrunner/server/signatures.py +63 -0
  740. data/vendor/v8/tools/testrunner/server/status_handler.py +112 -0
  741. data/vendor/v8/tools/testrunner/server/work_handler.py +150 -0
  742. data/vendor/v8/tools/tick-processor.html +168 -0
  743. data/vendor/v8/tools/tickprocessor-driver.js +5 -3
  744. data/vendor/v8/tools/tickprocessor.js +58 -15
  745. metadata +534 -30
  746. data/patches/add-freebsd9-and-freebsd10-to-gyp-GetFlavor.patch +0 -11
  747. data/patches/do-not-imply-vfp3-and-armv7.patch +0 -44
  748. data/patches/fPIC-on-x64.patch +0 -14
  749. data/vendor/v8/src/liveobjectlist-inl.h +0 -126
  750. data/vendor/v8/src/liveobjectlist.cc +0 -2631
  751. data/vendor/v8/src/liveobjectlist.h +0 -319
  752. data/vendor/v8/test/mjsunit/mul-exhaustive.js +0 -4629
  753. data/vendor/v8/test/mjsunit/numops-fuzz.js +0 -4609
  754. data/vendor/v8/test/mjsunit/regress/regress-1969.js +0 -5045
@@ -0,0 +1,1178 @@
1
+ // Copyright 2011 the V8 project authors. All rights reserved.
2
+ // Redistribution and use in source and binary forms, with or without
3
+ // modification, are permitted provided that the following conditions are
4
+ // met:
5
+ //
6
+ // * Redistributions of source code must retain the above copyright
7
+ // notice, this list of conditions and the following disclaimer.
8
+ // * Redistributions in binary form must reproduce the above
9
+ // copyright notice, this list of conditions and the following
10
+ // disclaimer in the documentation and/or other materials provided
11
+ // with the distribution.
12
+ // * Neither the name of Google Inc. nor the names of its
13
+ // contributors may be used to endorse or promote products derived
14
+ // from this software without specific prior written permission.
15
+ //
16
+ // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17
+ // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18
+ // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19
+ // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
20
+ // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21
+ // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22
+ // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23
+ // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24
+ // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
+ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26
+ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
+
28
+ function f() {
29
+ var x = -962609355;
30
+ var tmp = 0;
31
+ assertEquals(-114583755, x -= (((-2806715240)&(((1961136061.0329285)>>>((2087162059)*x))+((tmp = -1890084022.7631018, tmp)%(tmp = 2137514142.358262, tmp))))+(x<<(tmp = 2991240918, tmp))));
32
+ assertEquals(-425721856, x <<= x);
33
+ assertEquals(3778560, x >>>= ((x|(3198503572))>>(1158434541.1099558)));
34
+ assertEquals(3778560, x %= (tmp = -2592585378.9592104, tmp));
35
+ assertEquals(624640, x &= (tmp = 2261638192.9864054, tmp));
36
+ assertEquals(1249280, x += x);
37
+ assertEquals(1048576, x &= ((tmp = -2144301819.9892588, tmp)^((x-x)<<x)));
38
+ assertEquals(2097152, x <<= (x/x));
39
+ assertEquals(5069061551149729, x *= (tmp = 2417116904.8069615, tmp));
40
+ assertEquals(1.4836296666029616e+25, x += ((tmp = 2926833006.7121572, tmp)*x));
41
+ assertEquals(-256, x >>= ((-469330345.3589895)%((x^(((2554170843.4978285)/(2495676674.815263))>>>x))*(-918892963))));
42
+ assertEquals(-134217728, x <<= (x|(((((1687450853.1321645)+(tmp = 2369533014.5803776, tmp))+(tmp = -2613779445, tmp))+(tmp = -2488826226.3733397, tmp))>>(tmp = -220646936.41245174, tmp))));
43
+ assertEquals(704164545131708400, x *= ((-2632786741)+(-2613647956)));
44
+ assertEquals(9216, x >>>= (-1925405359.657349));
45
+ assertEquals(4491403261551.008, x *= (tmp = 487348444.1787118, tmp));
46
+ assertEquals(4490606381829.008, x -= (tmp = 796879722, tmp));
47
+ assertEquals(-60294056, x >>= x);
48
+ assertEquals(-3193966580.494005, x += (tmp = -3133672524.494005, tmp));
49
+ assertEquals(550500358, x >>>= ((tmp = -2779637628.390116, tmp)-((tmp = 29230786.984039664, tmp)%(tmp = -310649504.7704866, tmp))));
50
+ assertEquals(68812544, x >>= (-1347584797));
51
+ assertEquals(1.2120221595741834e-11, x /= ((2791020260)*((((1964870148.6358237)^x)|(-3082869417))-((x^x)&((1234292117.8790703)<<(-1792461937.2469518))))));
52
+ assertEquals(1.2120221595741834e-11, x %= (x-(2780439348)));
53
+ assertEquals(-1421552183, x |= (tmp = -1421552183.5930738, tmp));
54
+ assertEquals(-1420954119, x |= ((((-2547788562.5735893)<<x)%(435385623))>>(x|x)));
55
+ assertEquals(1, x /= x);
56
+ assertEquals(1, x >>= (x>>>(((2975715011.501709)-(tmp = -1473273552.981069, tmp))/(1654883913.042487))));
57
+ assertEquals(-65382, x ^= ((x/((tmp = -2780026200, tmp)<<x))^(((-2683084424)<<x)>>(-1716245874))));
58
+ assertEquals(1530921106, x &= (1530940914));
59
+ assertEquals(1, x /= x);
60
+ assertEquals(0, x >>= x);
61
+ assertEquals(0, x /= (tmp = 773741434.1972584, tmp));
62
+ assertEquals(0, x |= x);
63
+ assertEquals(0, x <<= (-67977514.99888301));
64
+ assertEquals(0, x %= (2496550482.524729));
65
+ assertEquals(-0, x /= (tmp = -515040417, tmp));
66
+ assertEquals(0, x <<= (-1673460935.2858837));
67
+ assertEquals(-2638209488, x += (-2638209488));
68
+ assertEquals(-2400951839498683400, x *= (910068685));
69
+ assertEquals(1600582036, x ^= (((-1247602308.4812562)>>(((-2393714444.179732)>>>x)%(-778140635.7165127)))+(-1933914727.2268424)));
70
+ assertEquals(0, x *= ((x-x)>>(-1270234575)));
71
+ assertEquals(0, x >>>= (tmp = 3193676327.493656, tmp));
72
+ assertEquals(0, x ^= (x>>>(1148676785.389884)));
73
+ assertEquals(0, x >>= (tmp = -2269181763.8663893, tmp));
74
+ assertEquals(0, x >>= (3149450221));
75
+ assertEquals(0, x >>= (1069630750));
76
+ assertEquals(-625009654, x ^= ((-2143499112)%(-759244728.6214335)));
77
+ assertEquals(3583943, x >>>= (-2942645558.1204453));
78
+ assertEquals(1791971, x >>= (x/x));
79
+ assertEquals(223996, x >>= x);
80
+ assertEquals(6999, x >>= (tmp = -1051883611.9443719, tmp));
81
+ assertEquals(1459617792, x <<= (-1572314984));
82
+ assertEquals(2622356453.269262, x -= (tmp = -1162738661.2692618, tmp));
83
+ assertEquals(5103676461.269262, x += (2481320008));
84
+ assertEquals(823989684.2692623, x %= (x^(((((1048362966)*((tmp = -2423040747.6233954, tmp)>>>x))*((tmp = 2330818588.4081, tmp)>>(tmp = 103312020.98346841, tmp)))+(tmp = 2264492857.144133, tmp))>>>((tmp = 2523442834, tmp)<<x))));
85
+ assertEquals(0, x >>>= (tmp = -2018700898.531027, tmp));
86
+ assertEquals(NaN, x /= x);
87
+ assertEquals(0, x <<= (tmp = -2489442223, tmp));
88
+ assertEquals(0, x >>= ((3045836220)>>>x));
89
+ assertEquals(-1156905149, x ^= (3138062147));
90
+ assertEquals(-0, x %= x);
91
+ assertEquals(-3118433907.512866, x -= ((tmp = 1338611238, tmp)-(-1779822669.5128663)));
92
+ assertEquals(100679693, x &= (1040565279));
93
+ assertEquals(10136400582574248, x *= x);
94
+ assertEquals(0, x %= x);
95
+ assertEquals(2400318405, x += (2400318405));
96
+ assertEquals(1.0036190808578471, x /= (((tmp = -2313492253.9889445, tmp)|(x-((tmp = -205459123, tmp)>>x)))+x));
97
+ assertEquals(0, x >>>= (tmp = 882343227.1675215, tmp));
98
+ assertEquals(0, x &= ((tmp = 2307828832.2706165, tmp)^((((((1404388047)<<((807879382)-(-2862921873)))-x)*(tmp = -1897734732, tmp))>>(tmp = 1981888881.2306776, tmp))%x)));
99
+ assertEquals(0, x <<= x);
100
+ assertEquals(0, x *= (((x*x)*((((2764801384.171454)%(x>>>x))&(384818815))+(x>>(tmp = -1481683516, tmp))))&x));
101
+ assertEquals(0, x >>= (tmp = -2202536436, tmp));
102
+ assertEquals(0, x ^= x);
103
+ assertEquals(0, x &= (tmp = 15161124, tmp));
104
+ assertEquals(-1586110900, x ^= (-1586110900));
105
+ assertEquals(-1586127952, x -= ((tmp = 560737212, tmp)%((1349529668)>>>(tmp = -1956656528, tmp))));
106
+ assertEquals(-1174945870, x -= ((1178456190)|x));
107
+ assertEquals(1335167624.3422346, x -= (tmp = -2510113494.3422346, tmp));
108
+ assertEquals(1329952126.3422346, x -= (x>>x));
109
+ assertEquals(1, x >>= x);
110
+ assertEquals(3, x |= (x<<x));
111
+ assertEquals(3, x -= (x-x));
112
+ assertEquals(-1938525669, x |= (tmp = 2356441625.5128202, tmp));
113
+ assertEquals(-1938525669, x ^= ((tmp = -197149141.3622346, tmp)/(2833823156)));
114
+ assertEquals(-2.6292393147661324, x /= (737295254.2254335));
115
+ assertEquals(2925975987.370761, x -= (-2925975990));
116
+ assertEquals(2925975987.370761, x %= (tmp = 3041184582.8197603, tmp));
117
+ assertEquals(-1908068660, x ^= ((tmp = -1380575181, tmp)-(2375164084.8366547)));
118
+ assertEquals(-477017165, x >>= (tmp = 2420877826.353099, tmp));
119
+ assertEquals(-477017165, x %= ((tmp = -2919204062.3683634, tmp)-(tmp = -2263328990, tmp)));
120
+ assertEquals(-2105539936, x &= ((tmp = -1630795440, tmp)-(x&((933423833)>>(-475069901)))));
121
+ assertEquals(-4979480720, x -= (tmp = 2873940784, tmp));
122
+ assertEquals(-4190953472, x -= (x&(tmp = -645918862.9001305, tmp)));
123
+ assertEquals(17564091004468855000, x *= x);
124
+ assertEquals(-857277134, x |= (tmp = 2363948338, tmp));
125
+ assertEquals(1015632515, x -= (-1872909649));
126
+ assertEquals(-1150380043, x ^= (tmp = -2014853770, tmp));
127
+ assertEquals(1607729152, x <<= ((2194449589)+(x|(tmp = -1470075256.4605722, tmp))));
128
+ assertEquals(1608356496, x |= ((((x|(670426524))<<((-2415862218)>>(tmp = 1572561529.9213061, tmp)))^((-1989566800.3681061)|x))&(2170270618.3401785)));
129
+ assertEquals(-1836056576, x <<= (tmp = 2906301296.540217, tmp));
130
+ assertEquals(-2952415961567723500, x *= (tmp = 1608020145, tmp));
131
+ assertEquals(1435500544, x <<= x);
132
+ assertEquals(700928, x >>>= (tmp = 2924829771.1804566, tmp));
133
+ assertEquals(0, x <<= ((x^(2410009094))|(((-164334714.18698573)%(x*x))|(tmp = 2182431441.2575436, tmp))));
134
+ assertEquals(-143321285, x ^= (tmp = -143321285, tmp));
135
+ assertEquals(-2, x >>= x);
136
+ assertEquals(-1, x >>= (x&(1109737404)));
137
+ assertEquals(1, x >>>= x);
138
+ assertEquals(0, x ^= x);
139
+ assertEquals(-2463707358.165766, x += (-2463707358.165766));
140
+ assertEquals(1831259938, x >>= (((((x-(tmp = 1359448920.5452857, tmp))%(tmp = -104541523, tmp))/((3133289055.9780197)*x))>>x)%x));
141
+ assertEquals(1858895646, x ^= ((tmp = 131424376, tmp)>>(tmp = -396761023, tmp)));
142
+ assertEquals(1, x >>= x);
143
+ assertEquals(-1888369021, x |= ((tmp = -2038869285.046599, tmp)^((tmp = -1318286592.4250565, tmp)-(tmp = 2825123496, tmp))));
144
+ assertEquals(1036458508, x <<= ((tmp = 2722401450, tmp)/((tmp = 1090712291, tmp)>>((tmp = -2155694696.9755683, tmp)*(tmp = 1661107340, tmp)))));
145
+ assertEquals(1, x /= (x%((tmp = -1716050484, tmp)+(tmp = -1683833551.797319, tmp))));
146
+ assertEquals(0, x >>= (tmp = -2899315628, tmp));
147
+ assertEquals(0, x |= x);
148
+ assertEquals(0, x >>>= x);
149
+ assertEquals(0, x <<= x);
150
+ assertEquals(1546062911, x |= (1546062911));
151
+ assertEquals(1546195271, x += ((tmp = -3210667091, tmp)>>(tmp = 1323121165, tmp)));
152
+ assertEquals(3092390542, x += x);
153
+ assertEquals(-1199626354, x |= (406783756));
154
+ assertEquals(-3650317194584908300, x *= (tmp = 3042878461.625484, tmp));
155
+ assertEquals(-7.650495675092354e+27, x *= (2095844078));
156
+ assertEquals(0, x >>= (tmp = 342617880.3384919, tmp));
157
+ assertEquals(22, x ^= (((tmp = 381409558.9104688, tmp)>>((2823172888.974557)>>x))>>x));
158
+ assertEquals(736383550, x += (736383528));
159
+ assertEquals(0, x %= x);
160
+ assertEquals(0, x += x);
161
+ assertEquals(-1553157831, x -= (1553157831));
162
+ assertEquals(1838556960, x <<= (3158944357.262641));
163
+ assertEquals(5503285699.188747, x *= ((tmp = 2437440276, tmp)/(814308583.8128904)));
164
+ assertEquals(5824889900.188747, x -= (((tmp = 1171445694, tmp)-(tmp = -1584666956, tmp))^(tmp = 1217545373, tmp)));
165
+ assertEquals(747032, x >>>= (-89332085));
166
+ assertEquals(747032, x |= (x^(x^(x>>>x))));
167
+ assertEquals(747032, x >>>= ((-1558482440)*((tmp = -2413907480, tmp)+(3003996862.384156))));
168
+ assertEquals(7.747761349084291e+23, x += ((tmp = 518064022.64624584, tmp)*((tmp = 2001951702, tmp)*x)));
169
+ assertEquals(0, x <<= (2769324707.5640426));
170
+ assertEquals(NaN, x %= (((((((-2458056470.7717686)&x)>>(tmp = -361831232.42602444, tmp))*(2611108609.6727047))>>>x)/(-1713747021.8431413))*(-1143281532)));
171
+ assertEquals(NaN, x %= ((x^((-613836813)*(tmp = -3180432597.0601435, tmp)))%x));
172
+ assertEquals(NaN, x /= ((-1607092857)^x));
173
+ assertEquals(0, x &= (-1190719534));
174
+ assertEquals(0, x >>>= x);
175
+ assertEquals(0, x += (x>>(642177579.1580218)));
176
+ assertEquals(-3129552333, x += (-3129552333));
177
+ assertEquals(1165414963, x &= x);
178
+ assertEquals(2222, x >>= (((tmp = 2606317568, tmp)|x)+(tmp = 1844107136, tmp)));
179
+ assertEquals(NaN, x %= ((x^x)<<(x/(((tmp = -1362148700, tmp)&((tmp = 76371048, tmp)<<x))>>>((x^(-2605741153))>>(((tmp = -2131608159.7634726, tmp)|(((2827792229.8004875)|(((-848439251)+(-2576768890.123433))|((tmp = -2617711776, tmp)-((-199980264)&((tmp = -46967951.76266599, tmp)/(-733253537))))))*(tmp = 1820087608, tmp)))>>>(tmp = -3118359396.4298744, tmp)))))));
180
+ assertEquals(NaN, x /= ((2144871731)*x));
181
+ assertEquals(NaN, x *= x);
182
+ assertEquals(NaN, x %= (tmp = 234811462.08692443, tmp));
183
+ assertEquals(0, x >>>= ((1121416685)|(x^(((tmp = -2905413334, tmp)<<(tmp = -3091554324.030834, tmp))<<x))));
184
+ assertEquals(-55938048, x |= ((tmp = -55938048, tmp)+(x*(tmp = -1518809027.2695136, tmp))));
185
+ assertEquals(-3.3234995678333864e-10, x /= (x*(tmp = -3008876576, tmp)));
186
+ assertEquals(0, x <<= (x/((((((-2168824234.2418427)>>(((tmp = 1976810951, tmp)%x)<<(x*(x>>(x%(3146266192))))))%(tmp = 1756971968.122397, tmp))>>>(-2859440157.8352804))/(-1001406.1919288635))>>>(-1358031926))));
187
+ assertEquals(-0, x *= (tmp = -1756000533, tmp));
188
+ assertEquals(-0, x %= (2522761446.869926));
189
+ assertEquals(0, x >>>= (((1087690535)>>>(2741387979))^x));
190
+ assertEquals(0, x -= x);
191
+ assertEquals(0, x >>= (-819422694.2188396));
192
+ assertEquals(0, x ^= x);
193
+ assertEquals(NaN, x /= x);
194
+ assertEquals(0, x &= (tmp = 86627723, tmp));
195
+ assertEquals(0, x += x);
196
+ assertEquals(0, x %= (tmp = -2317915475, tmp));
197
+ assertEquals(Infinity, x += (((-3072799584)^(-2487458319))/(((tmp = -3050692353, tmp)&x)>>(-777977292.8500206))));
198
+ assertEquals(Infinity, x += x);
199
+ assertEquals(Infinity, x -= (tmp = 484428269, tmp));
200
+ assertEquals(Infinity, x *= x);
201
+ assertEquals(Infinity, x /= (2059586218.2278104));
202
+ assertEquals(Infinity, x *= (tmp = 415918523.8350445, tmp));
203
+ assertEquals(-1800869091, x |= (((-1800869091)>>>(x>>>(tmp = -2832575051, tmp)))>>>x));
204
+ assertEquals(6196126991451132000, x *= ((-1467292383.8458765)+(-1973339154.7911158)));
205
+ assertEquals(6196126992684649000, x += (1233517421));
206
+ assertEquals(1, x /= x);
207
+ assertEquals(-7153809722216516000, x -= (((-2984550787.146106)<<(tmp = 743743974, tmp))*((3155151275)/((-1771412568.8965073)%x))));
208
+ assertEquals(-7153809721471491000, x -= (-745024056));
209
+ assertEquals(5.117699353102001e+37, x *= x);
210
+ assertEquals(0, x >>= x);
211
+ assertEquals(-0, x *= ((-2651785447.666973)<<(-1124902998)));
212
+ assertEquals(-0, x /= (2119202944));
213
+ assertEquals(1042673805.5205957, x -= ((x<<x)-(tmp = 1042673805.5205957, tmp)));
214
+ assertEquals(62, x >>>= (tmp = 2769597912.977452, tmp));
215
+ assertEquals(34, x &= ((tmp = -61541150, tmp)%(x^(-943160469))));
216
+ assertEquals(34, x ^= ((-2625482224.4605474)<<(-2277806338.3461556)));
217
+ assertEquals(536870912, x <<= ((-2373927426.4757633)^x));
218
+ assertEquals(536870912, x &= x);
219
+ assertEquals(512, x >>>= ((-1626769708.310139)<<((tmp = 641796314, tmp)/(721629637.3215691))));
220
+ assertEquals(0, x <<= (-113973033));
221
+ assertEquals(NaN, x /= x);
222
+ assertEquals(NaN, x += (-1602711788.2390788));
223
+ assertEquals(NaN, x *= (x%x));
224
+ assertEquals(0, x &= (x<<(x|(x>>((x>>>(x%((1182960050)^(((-220896609)-((((tmp = 1518275435.360103, tmp)/(tmp = -88234820, tmp))^x)/x))>>(3169930777.548236)))))-(tmp = -2912668817.662395, tmp))))));
225
+ assertEquals(0, x *= ((2323969408.7524366)/(((tmp = -3089229853, tmp)>>>((((tmp = -1012580544.5631487, tmp)>>(1138049418.9023373))>>x)&x))*(tmp = 626912001, tmp))));
226
+ assertEquals(0, x >>>= x);
227
+ assertEquals(NaN, x /= (x%(-868024322)));
228
+ assertEquals(NaN, x /= (tmp = -1749532322, tmp));
229
+ assertEquals(1861918711, x |= (-2433048585.853014));
230
+ assertEquals(1861918711, x >>= (((102451747)>>>((((241651917.47259736)/((((((((1759022236)^(tmp = -2592022722, tmp))+((-1748044969)>>>(704597925)))/(-1639604842))%((1349846853.7345295)<<(-729695861)))/(x>>((tmp = -2654474404.7365866, tmp)>>x)))>>>(((-480356478)|(x%((tmp = -1668269244.6979945, tmp)+(tmp = -2441424458.565183, tmp))))^((1634981212.7598324)>>>(tmp = 122455570.22000062, tmp))))<<x))*((tmp = -1058636137.5037816, tmp)+((2794083757.138838)&((x/(50081370))&x))))/x))/((tmp = -243106636, tmp)<<((x*((tmp = -648475219.5971704, tmp)>>((tmp = -1568913034, tmp)-((tmp = 911458615, tmp)|x))))>>>(tmp = 2714767933.920696, tmp)))));
231
+ assertEquals(0, x ^= x);
232
+ assertEquals(-2080484602, x |= (((1544771831.4758213)|x)^(-538113039)));
233
+ assertEquals(696451072, x <<= (tmp = -1587032689, tmp));
234
+ assertEquals(-162595645, x += (tmp = -859046717, tmp));
235
+ assertEquals(516546456, x >>>= x);
236
+ assertEquals(623083588, x += ((-1371850352)^(tmp = -1469933252, tmp)));
237
+ assertEquals(92342412, x %= (tmp = -132685294, tmp));
238
+ assertEquals(500272110, x |= ((tmp = 1616032506, tmp)%((tmp = 1589569590.4269853, tmp)|(-972791738.1829333))));
239
+ assertEquals(3247086, x %= (((tmp = 1372216208, tmp)|(-638950076.3387425))&((-2619249161.849716)&(73957896))));
240
+ assertEquals(0, x >>>= (tmp = -1482343462.6911879, tmp));
241
+ assertEquals(1265125662, x ^= (tmp = -3029841634, tmp));
242
+ assertEquals(4941897, x >>>= (-2039728632));
243
+ assertEquals(206857, x &= (tmp = 226962365.45571184, tmp));
244
+ assertEquals(1.0925018562586405e+24, x += ((tmp = 2687424146, tmp)*(((-1998020319)%x)*(-2080331363))));
245
+ assertEquals(-1.755270751212437e+32, x *= (-160665242));
246
+ assertEquals(0, x <<= (3152796521.6427975));
247
+ assertEquals(0, x ^= ((((((tmp = -855001595, tmp)<<(2007525777))-(x-(x-x)))/(3036585090.9701214))&(1827983388))*((tmp = -915604789.0515733, tmp)&(((((tmp = -806628722.7820358, tmp)%x)/(tmp = -2773117447, tmp))|x)<<(((tmp = -2902300974.7300634, tmp)|x)/(-1608133440))))));
248
+ assertEquals(0, x |= ((((((119024954)*(((x^(tmp = 2939514414, tmp))|x)^(x-(tmp = -1597415597.6795669, tmp))))+(((tmp = -182277816.14547157, tmp)<<(((-2983451324.3908825)^(tmp = 1572568307, tmp))+(-1165604960.8619013)))/(x>>((tmp = -2127699399, tmp)>>((x^(((((tmp = -1968667383, tmp)^(tmp = 3120052415.9964113, tmp))|(((x|(((x^((tmp = 2831505153, tmp)<<((-3150506831.547093)+((x%(tmp = 383761651, tmp))%(2856803457)))))+(((tmp = -2426953997, tmp)^(tmp = -2667954801.1010714, tmp))*(tmp = -2707801631, tmp)))&(tmp = 2082935238.794707, tmp)))^((tmp = 697573323.5349133, tmp)-x))%(tmp = 661936357, tmp)))/(-1717944600.261446))>>>((2423776015.0968056)^((-1410322010)|((x<<(tmp = 2935993226, tmp))/(tmp = -1533896392, tmp))))))*(tmp = -596675330, tmp))))))>>>(((2944268153)^(x&(144579050.93126357)))/(-2123810677.2619643)))>>>(1473040195.9009588))*x));
249
+ assertEquals(0, x /= (2877666495));
250
+ assertEquals(2174852514, x -= (tmp = -2174852514, tmp));
251
+ assertEquals(543713128, x >>>= x);
252
+ assertEquals(2978128878.939105, x += (tmp = 2434415750.939105, tmp));
253
+ assertEquals(3529591145844655600, x *= (tmp = 1185170719.3753138, tmp));
254
+ assertEquals(659, x >>>= ((((((x<<(((((-425423078)/(((tmp = 160617689.20550323, tmp)&(-1524740325.5003028))%(tmp = -1869426475, tmp)))<<(((x^(-487449247))>>>(tmp = -1962893666.7754712, tmp))%x))*x)>>((tmp = 623413085, tmp)&(x+(((((-2200726309.083274)-(x-x))+x)&(-1304849509))|((((tmp = -431896184, tmp)>>>(x>>(-1932126133)))<<((1078543321.2196498)*(-10761352)))>>(tmp = -2681391737.5003796, tmp)))))))/x)-(tmp = -1768629117, tmp))/(((((tmp = -2320718566.0664535, tmp)%x)+(-2831503351.995921))>>>(-2695416841.3578796))*(943979723)))<<x)|((652520546.7651662)>>(1045534827.6806792))));
255
+ assertEquals(531, x &= (tmp = -293707149, tmp));
256
+ assertEquals(0, x >>= (tmp = -678056747.5701449, tmp));
257
+ assertEquals(1184651529.8021393, x += (tmp = 1184651529.8021393, tmp));
258
+ assertEquals(1721719611, x |= (tmp = 1645413178, tmp));
259
+ assertEquals(-406880257, x |= (tmp = 2268544460, tmp));
260
+ assertEquals(-4194304, x <<= (tmp = -109701322.43455839, tmp));
261
+ assertEquals(17592186044416, x *= x);
262
+ assertEquals(0, x ^= (x&x));
263
+ assertEquals(0, x <<= (tmp = 1715401127, tmp));
264
+ assertEquals(-1793087394, x |= (tmp = -1793087394.730585, tmp));
265
+ assertEquals(-2, x >>= x);
266
+ assertEquals(263607360.10747814, x += (tmp = 263607362.10747814, tmp));
267
+ assertEquals(1073214955, x |= (893759979.3631718));
268
+ assertEquals(703953930, x -= ((2738450011)%(x^(tmp = 679402836, tmp))));
269
+ assertEquals(1, x >>= (tmp = 2262515165.6670284, tmp));
270
+ assertEquals(0, x >>= (((tmp = 747896494, tmp)^((tmp = -1005070319, tmp)+x))|x));
271
+ assertEquals(0, x >>= ((953612771)>>>(tmp = 3066170923.3875694, tmp)));
272
+ assertEquals(-314941454, x -= (x+(((314941454)%(((tmp = 2200222912.9440064, tmp)>>>(2534128736.805429))>>>(x|((747716234)%(((tmp = -252254528, tmp)%(-1553513480.1875453))&x)))))<<x)));
273
+ assertEquals(-535686958, x &= (-522809126));
274
+ assertEquals(0.5480312086215239, x /= (tmp = -977475278, tmp));
275
+ assertEquals(-1199953459.6090598, x *= ((-2189571393)+((3186862741.37774)>>(tmp = -2193090564.5026345, tmp))));
276
+ assertEquals(-1199953459.6090598, x %= ((tmp = 2986532440, tmp)*(2685122845)));
277
+ assertEquals(-1199953459.6090598, x %= (1951182743.7399902));
278
+ assertEquals(51262285383887820, x *= (-42720228));
279
+ assertEquals(-424776752, x |= x);
280
+ assertEquals(166221344210236600, x *= (tmp = -391314598.6158786, tmp));
281
+ assertEquals(-1883425600, x >>= (((tmp = -1020679296, tmp)^((-1416867718)+(-1412351617)))<<(-2743753169)));
282
+ assertEquals(0, x &= (x/(-2250026610)));
283
+ assertEquals(-1111956501, x ^= (tmp = 3183010795, tmp));
284
+ assertEquals(2012059503, x ^= (tmp = -900369276, tmp));
285
+ assertEquals(15719214, x >>>= (tmp = -3196277049, tmp));
286
+ assertEquals(15719214, x |= x);
287
+ assertEquals(100779035, x -= ((-1245802025)^(-2964289852)));
288
+ assertEquals(0, x >>= x);
289
+ assertEquals(0, x &= (((x<<((2361941389.708063)%x))>>((328256762.09842086)>>>((((tmp = 3094192285, tmp)-(((x>>(tmp = -2920437464, tmp))<<(tmp = -2693021467, tmp))-(x>>>((2410065554)%(x%(tmp = 2487056196.689908, tmp))))))-(tmp = -866314146, tmp))^((1754098471)-((((((-2450740191)-(tmp = 1977885539.6785035, tmp))*((tmp = -1205431332, tmp)>>>x))>>(-870601854))>>(tmp = -301859264, tmp))|((tmp = -2308971516.8301244, tmp)/x))))))&((2307007357)-((tmp = -1518812934, tmp)+(2562270162)))));
290
+ assertEquals(0, x <<= x);
291
+ assertEquals(-1802124619, x |= (-1802124619));
292
+ assertEquals(-1802124619, x %= ((1617132364.306333)+((1678465962.079633)|((516698570)%(((569813606)*(-1800804098.6270027))%((tmp = 1976706935, tmp)-((tmp = -1830228989.5488424, tmp)>>(((x^((tmp = 1015246068.3791624, tmp)>>x))^((-2171682812.246772)-(tmp = -398330350, tmp)))&x))))))));
293
+ assertEquals(904564673.6237984, x -= (tmp = -2706689292.6237984, tmp));
294
+ assertEquals(818237248768128900, x *= x);
295
+ assertEquals(254842325.2585001, x %= (1550087667.9657679));
296
+ assertEquals(-1163919360, x <<= x);
297
+ assertEquals(-3.4644526843674166, x /= ((-446801454)+(x>>>(tmp = -2025151870, tmp))));
298
+ assertEquals(0, x &= ((((((((-1739617728)&(x&(((tmp = -2946470036.552597, tmp)/x)*x)))^(-1130501404))>>>x)/((1870230831)>>>(840301398)))%x)/x)/(-2927537567)));
299
+ assertEquals(0, x >>= x);
300
+ assertEquals(0, x >>>= (x&(x&x)));
301
+ assertEquals(0, x &= ((-579614044)-(-756012505.4048488)));
302
+ assertEquals(-2970367642, x -= (tmp = 2970367642, tmp));
303
+ assertEquals(-415129376, x ^= (tmp = 2847041926.060355, tmp));
304
+ assertEquals(-1505681312, x &= (tmp = -1225184902.9215767, tmp));
305
+ assertEquals(-3174471329.5807734, x += (-1668790017.5807734));
306
+ assertEquals(-Infinity, x /= (x>>x));
307
+ assertEquals(NaN, x -= x);
308
+ assertEquals(0, x ^= (x^(((-1407936301.5682082)<<((x^(((tmp = 3213446217.307076, tmp)|x)|((tmp = 3219810777.3171635, tmp)/(tmp = 1561807400, tmp))))>>>((tmp = 2449910203.0949173, tmp)|((((1954662538.7453175)>>(tmp = -1711636239.9916713, tmp))>>>(tmp = 406219731.214718, tmp))<<(((-907908634.4609842)^((((((tmp = 2408712345, tmp)*(tmp = 1740346634.5154347, tmp))>>(tmp = 715783991, tmp))^(tmp = -655628853.2821262, tmp))%(tmp = 2819143280.434571, tmp))/(-1240412852)))*x)))))/x)));
309
+ assertEquals(0, x >>>= x);
310
+ assertEquals(0, x <<= x);
311
+ assertEquals(0, x >>>= (((-3198075268.8543105)>>(((((x+((tmp = -133461401.50823164, tmp)-((x&(((((tmp = 2617977319, tmp)>>((tmp = -2704719576.8734636, tmp)|((tmp = -977362542.2423751, tmp)<<(x<<(tmp = 3054487697.1441813, tmp)))))>>>((-1635655471)%x))/(-2079513672))%(tmp = 1993563806, tmp)))<<(tmp = -1310524200.6106496, tmp))))%((((-2558804500.7722936)+(tmp = -1641265491, tmp))<<((tmp = -1309608349, tmp)>>>x))/((tmp = -2306644272, tmp)<<x)))*(-2009396162.3063657))+(267343314.3720045))-(-2212612983.661479)))|x));
312
+ assertEquals(NaN, x %= x);
313
+ assertEquals(NaN, x *= x);
314
+ assertEquals(-824822309, x |= (-824822309));
315
+ assertEquals(-807944741, x |= (((-598067403)*((x&(tmp = 2897778389, tmp))>>>(-1322468310.3699632)))|x));
316
+ assertEquals(90004223.44097246, x /= (((tmp = -481122620, tmp)&x)%((tmp = 1109368524, tmp)/(((-3150568522.633032)<<(tmp = 2923396776, tmp))^(x-((x/x)&(x/(-287976185.1049104))))))));
317
+ assertEquals(0.4521931751193329, x /= (tmp = 199039323, tmp));
318
+ assertEquals(1.8110466604491368e-10, x /= (2496860986.492693));
319
+ assertEquals(0, x |= x);
320
+ assertEquals(-1225944576, x += ((tmp = -807700791.631221, tmp)<<((-700782615.4781106)-((((-2954619897)>>>x)<<((tmp = 997657844, tmp)>>>(1227994596)))/((-1234591654.8495834)*((tmp = -191189053.70693636, tmp)+(tmp = -3027659304, tmp)))))));
321
+ assertEquals(-1225811383, x |= (-1866233271));
322
+ assertEquals(3069155913, x >>>= (((x/(-99524153.40911508))%(x>>>((((tmp = 2985975640, tmp)/(tmp = 2781516546.2494454, tmp))&(((2234114508)|(((x/(tmp = -1224195047, tmp))<<x)^(x>>>((537884375.5698513)+x))))^((tmp = -2144817497.5089426, tmp)|(-498079183.8178189))))>>>((x+x)&(-3086080103.6460695)))))<<(((tmp = 2151157136, tmp)*x)/(((x/x)>>>(-1149734628.4364533))-((3025445835.654089)+(tmp = 530902725.91127443, tmp))))));
323
+ assertEquals(-1733702568, x ^= (tmp = 776361489.423534, tmp));
324
+ assertEquals(8981504, x &= ((tmp = 2902581847, tmp)*(x-(-2697760560))));
325
+ assertEquals(1153166.8526612986, x -= ((x/(tmp = -1375025594.5027463, tmp))+((3043576689.1538706)%(x+x))));
326
+ assertEquals(3389855, x |= (x+x));
327
+ assertEquals(-488458393.17759943, x += (-491848248.17759943));
328
+ assertEquals(40982867145206920, x *= ((3132857155)|(tmp = -218356553, tmp)));
329
+ assertEquals(688, x >>= (((((tmp = 403321821, tmp)+((tmp = 2536984658, tmp)%((tmp = 2759309029.8753624, tmp)|(((tmp = 1994203554.7417293, tmp)^((704660500.434877)*(tmp = 1536292958.2691746, tmp)))+(-164139788)))))/((1205950994.1255205)+x))^((((tmp = 975272146.0133443, tmp)-(150107797))/(-1764309514))^((x>>>(x^(x^x)))+(203250124))))>>>(tmp = 1864959239.512323, tmp)));
330
+ assertEquals(10, x >>= ((tmp = 1631996431.9620514, tmp)>>x));
331
+ assertEquals(10, x %= (tmp = 2678904916, tmp));
332
+ assertEquals(335544320, x <<= (tmp = -2759037415.6811256, tmp));
333
+ assertEquals(-153389967, x |= ((tmp = -2411636565, tmp)+(tmp = -2305156154, tmp)));
334
+ assertEquals(-1171, x >>= x);
335
+ assertEquals(813080576, x &= (((tmp = -65428547, tmp)&(tmp = 3163266999, tmp))<<x));
336
+ assertEquals(4346532303, x += ((tmp = -761515569.0707853, tmp)>>>(((tmp = 143240971.0661509, tmp)<<x)*(x^((tmp = -271697192.8471005, tmp)&x)))));
337
+ assertEquals(-863299035, x ^= ((((2663001827.1492147)>>>((x/(((tmp = 482665912, tmp)-(x>>(tmp = 354425840.784659, tmp)))>>((-2012932893)>>>x)))/((tmp = -1354385830.6042836, tmp)>>>(-2149023857))))^((tmp = 585746520, tmp)+(tmp = 756104608, tmp)))^(517529841.184085)));
338
+ assertEquals(-997654012, x &= (((tmp = -404836025.15326166, tmp)+((tmp = 3035650114.0402126, tmp)<<((-1308209196)>>(tmp = 693748480, tmp))))<<(((465774671.4458921)<<x)/(1971108057))));
339
+ assertEquals(-320581507110848260, x *= ((x-(tmp = -2266777911.7123194, tmp))^(tmp = -2810021113.304348, tmp)));
340
+ assertEquals(-320581508271196300, x += ((-1195215841.5355926)|(x-((2715907107.4276557)+(((-843426980)>>(x&(x%(tmp = -1139279208.34768, tmp))))^x)))));
341
+ assertEquals(368031616, x &= x);
342
+ assertEquals(368031616, x %= (tmp = 1211767328, tmp));
343
+ assertEquals(-67505614939510744, x *= (tmp = -183423412.56766033, tmp));
344
+ assertEquals(959424552, x >>= ((tmp = -171120122.5083747, tmp)/x));
345
+ assertEquals(30949179.096774194, x /= (((x-((((x&(tmp = -180770090, tmp))<<(((tmp = -2061363045.419958, tmp)*((655711531)^((1205768703)-(tmp = 2468523718.8679857, tmp))))+(-2746704581)))+((-853685888)*(tmp = -2299124234, tmp)))|(tmp = 2429502966, tmp)))|(((-985794986.0232368)>>>(2890862426))%x))>>(tmp = 1005542138.8415397, tmp)));
346
+ assertEquals(30949179, x |= x);
347
+ assertEquals(30949179, x %= (810126097.6814196));
348
+ assertEquals(120895, x >>= (tmp = 3065886056.1873975, tmp));
349
+ assertEquals(1934320, x <<= (1478650660.7445493));
350
+ assertEquals(0, x >>= (1069658046.2191329));
351
+ assertEquals(NaN, x %= x);
352
+ assertEquals(NaN, x %= (x*x));
353
+ assertEquals(NaN, x *= ((((2148513916)+(tmp = -210070225.85489202, tmp))>>(975470028))+((-3060642402)>>x)));
354
+ assertEquals(NaN, x *= (2888778384));
355
+ assertEquals(NaN, x -= (294531300.16350067));
356
+ assertEquals(-465620423, x ^= (tmp = -465620423.5891335, tmp));
357
+ assertEquals(1613303808, x &= (-2530649850.1952305));
358
+ assertEquals(2045458658, x |= (tmp = 432158946.5708574, tmp));
359
+ assertEquals(0, x >>>= (2277328255.770018));
360
+ assertEquals(0, x &= (-64904722.41319156));
361
+ assertEquals(0, x >>= x);
362
+ assertEquals(3109394857.361766, x += (3109394857.361766));
363
+ assertEquals(1519021650, x ^= ((tmp = -2632472653, tmp)|(tmp = 2161964921.8225584, tmp)));
364
+ assertEquals(370854, x >>>= ((1486892931.4564312)-((tmp = 3017755741.9547133, tmp)>>>x)));
365
+ assertEquals(1333145110.39802, x -= ((-1051580495.39802)-(tmp = 281193761, tmp)));
366
+ assertEquals(0, x ^= x);
367
+ assertEquals(0, x |= x);
368
+ assertEquals(0, x <<= x);
369
+ assertEquals(0, x >>>= x);
370
+ assertEquals(799202788.1455135, x -= (tmp = -799202788.1455135, tmp));
371
+ assertEquals(1539080192, x <<= (x%(((((x-x)|(((((x%(959993901))+(tmp = -2647575570.092733, tmp))/(tmp = -2040600976.5104427, tmp))*(x*(tmp = 2785252760, tmp)))>>(-377867259)))/((x&(1549738240.013423))>>>(tmp = -1502185618, tmp)))*x)%(1159283801.0002391))));
372
+ assertEquals(0, x >>= (-268660225));
373
+ assertEquals(-0, x /= (-2795206270.635887));
374
+ assertEquals(0, x >>>= (1869556260.2489955));
375
+ assertEquals(64202212, x ^= ((((tmp = -942983515.5386059, tmp)*(((1057759788)-x)*(tmp = 2038041858, tmp)))>>x)+(tmp = 64202212, tmp)));
376
+ assertEquals(2021126977, x -= ((tmp = -2009912898, tmp)^((2240062309)%x)));
377
+ assertEquals(4332348265459724000, x *= (tmp = 2143530968, tmp));
378
+ assertEquals(1472, x >>>= ((283380755)<<x));
379
+ assertEquals(-1672370407872, x *= (tmp = -1136121201, tmp));
380
+ assertEquals(338573318, x ^= (tmp = 2329579078.4832354, tmp));
381
+ assertEquals(2377388772.1662374, x -= (tmp = -2038815454.1662374, tmp));
382
+ assertEquals(-1.264761712403516, x /= ((((tmp = -2106209534, tmp)>>((((((tmp = 626190172, tmp)/x)>>>(-824270996.8545206))/((1258369810.9498723)-(tmp = -2947556209, tmp)))^((((366784589.24711144)|(1462064104.828938))-(1571045395.777879))<<(444685689.60103726)))>>(tmp = -2757110357.410516, tmp)))/(x>>>((tmp = 829226010, tmp)>>>(629512715))))|x));
383
+ assertEquals(-2905481691.264762, x -= (2905481690));
384
+ assertEquals(-1710543566.1481905, x -= (-1194938125.1165714));
385
+ assertEquals(-3421087132.296381, x += x);
386
+ assertEquals(-884178944, x <<= ((-1820881235)|x));
387
+ assertEquals(-884178944, x &= (x%(tmp = -2298828530, tmp)));
388
+ assertEquals(1516503040, x <<= ((tmp = -3039882653, tmp)+((tmp = 1956034508, tmp)<<(x>>(tmp = 280388051, tmp)))));
389
+ assertEquals(3033006080, x += x);
390
+ assertEquals(846431222.321887, x %= (x+(-1939718651.1609435)));
391
+ assertEquals(-846431224, x ^= ((-1742116766.54132)/x));
392
+ assertEquals(1157918728, x &= (tmp = 1966568030, tmp));
393
+ assertEquals(1157918728, x >>>= ((((((tmp = -2392096728.184257, tmp)*(x&(-3051259597.301086)))>>>(((tmp = 1712991918.071982, tmp)*(tmp = -714525951, tmp))-((-1784801647)>>((-1270567991)%(((214272558)/(((-3110194570)|(tmp = 2558910020, tmp))&(-1266294955.717899)))*((2654922400.609189)>>>(tmp = 370485018, tmp)))))))*(((tmp = -2621203138.1838865, tmp)%(858913517))*((tmp = -1564229442.2596471, tmp)>>((tmp = 1898557618, tmp)|(-1282356275)))))*(tmp = -1253508468, tmp))+((-361964404.75944185)|x)));
394
+ assertEquals(961668975, x += (-196249753));
395
+ assertEquals(1, x >>= (tmp = 890453053, tmp));
396
+ assertEquals(1, x >>= (((((tmp = 871309275, tmp)/(x>>>((tmp = 2033022083, tmp)&(tmp = -1393761939, tmp))))%((437488665.104565)^(tmp = 2808776860.4572067, tmp)))-((tmp = -359283111.49483967, tmp)<<((tmp = 2985855945, tmp)%(tmp = -596479825.9114966, tmp))))/(-1965528507)));
397
+ assertEquals(0, x >>= ((tmp = -1753776989, tmp)%(tmp = 322622654, tmp)));
398
+ assertEquals(84411424, x ^= (((x|(x|(tmp = -1617122265, tmp)))&(tmp = -313813263, tmp))&(1472888112.0258927)));
399
+ assertEquals(67633184, x &= ((1556833131.0776267)<<(x<<(1501219716.5575724))));
400
+ assertEquals(68002293, x |= (((tmp = 188984203.0350548, tmp)>>>(tmp = 1356052777, tmp))%(x*(tmp = -2944960865, tmp))));
401
+ assertEquals(67108864, x &= (((1046644783.9042064)<<x)+((-2796345632)>>>(((-1913290350.3687286)<<(((((tmp = -2223692353, tmp)>>x)&(x<<(x>>((((tmp = -976850020, tmp)%(tmp = 1379692507, tmp))>>>(1120103052.2077985))>>(tmp = 5592070.612784743, tmp)))))<<(x+((tmp = -3154037212.9764376, tmp)%(((x-(-1961060483.6965141))+(((1920670676)-(2852444470.7530622))/(((1445954602)>>((1353665887)>>(tmp = 111411560.64111042, tmp)))<<x)))+x))))<<((-1773130852.6651905)^((1216129132)>>(1511187313.2680469)))))|((tmp = -1107142147, tmp)|(tmp = -768165441.4956136, tmp))))));
402
+ assertEquals(0, x -= x);
403
+ assertEquals(0, x %= (tmp = -1655707538.0778136, tmp));
404
+ assertEquals(-184120712930843900, x += (x+((tmp = -3174410166, tmp)+((tmp = -301807453, tmp)*(tmp = 610060182.1666535, tmp)))));
405
+ assertEquals(-54598560, x >>= (-1365351357));
406
+ assertEquals(-6763.94449950446, x /= (((-1953016847)<<((673287269.7002038)%(-558739761)))>>>(tmp = 1607754129, tmp)));
407
+ assertEquals(-1, x >>= x);
408
+ assertEquals(1, x >>>= x);
409
+ assertEquals(0, x >>>= x);
410
+ assertEquals(0, x >>= ((-384747983)+((((tmp = -949058352.381772, tmp)>>>(-1920744986))-(-882729639))^((x^((tmp = 2351364046, tmp)<<(((tmp = -3110165747, tmp)^(-1266489735))-((tmp = -371614326, tmp)>>((tmp = -2064968414, tmp)&(-2075036504.617934))))))&(((-2616501739)&(tmp = 2591437335.4029164, tmp))>>x)))));
411
+ assertEquals(0, x >>>= ((tmp = 2946468282, tmp)&((-2741453019)>>x)));
412
+ assertEquals(0, x -= ((x%(-134700915))&(-1955768279)));
413
+ assertEquals(NaN, x /= x);
414
+ assertEquals(NaN, x /= (x^(((((((tmp = 3185669685.772061, tmp)>>(tmp = -1973500738, tmp))-(tmp = -87401348.93002152, tmp))>>(tmp = -2813508730, tmp))&(tmp = -778957225, tmp))<<(x-(x&((-2821756608)+(((((tmp = 2475456548, tmp)/(tmp = 997998362, tmp))<<((tmp = -83043634, tmp)|x))%(636120329))%(tmp = -1910213427.7556462, tmp))))))%x)));
415
+ assertEquals(0, x &= x);
416
+ assertEquals(0, x <<= x);
417
+ assertEquals(0, x >>>= (x%x));
418
+ assertEquals(0, x %= (745221113));
419
+ assertEquals(0, x >>>= ((1467615554.7672596)|x));
420
+ assertEquals(0, x /= (tmp = 735317995, tmp));
421
+ assertEquals(-1513001460, x |= (2781965836));
422
+ assertEquals(-1513001460, x |= (x%(1970577124.3780568)));
423
+ assertEquals(-0, x %= x);
424
+ assertEquals(1864972269, x ^= (-2429995027.840316));
425
+ assertEquals(1226843341, x &= (tmp = -639621923.5135081, tmp));
426
+ assertEquals(1226843339.3171186, x += ((1297620268.272113)/(-771070549)));
427
+ assertEquals(76677708, x >>>= (1009134980));
428
+ assertEquals(0, x ^= x);
429
+ assertEquals(0, x ^= x);
430
+ assertEquals(NaN, x /= x);
431
+ assertEquals(716040787, x |= ((1851586229)-(1135545441.3502865)));
432
+ assertEquals(1385693184, x <<= x);
433
+ assertEquals(1321, x >>= (x^((tmp = -1576632297.0860603, tmp)>>>(405218605))));
434
+ assertEquals(-1319012931, x |= (-1319014243));
435
+ assertEquals(-1319012931, x >>= ((((1689898279.3580785)<<((((x^(x>>>((((tmp = 2635260332, tmp)*(tmp = 2053357650, tmp))*x)*(2856480122.339903))))>>x)&(-2382703000.077593))%(1183918594)))*(tmp = -1670081449, tmp))<<x));
436
+ assertEquals(-528327581.7646315, x %= (tmp = -790685349.2353685, tmp));
437
+ assertEquals(2073431790, x ^= (tmp = 2601800333, tmp));
438
+ assertEquals(-6514722684180, x -= (((tmp = 824141806.0668694, tmp)>>>(((-1865885282.8723454)&(x&(x|((900188006.3757659)>>>(x&x)))))+(2227126244.0526423)))*x));
439
+ assertEquals(1450593, x >>>= ((2157053647)>>(x+(-2934071355.418474))));
440
+ assertEquals(576782336, x <<= ((1054640368.827202)&((tmp = -3182236876.434615, tmp)>>(tmp = 2129856634.0328193, tmp))));
441
+ assertEquals(2950754326, x -= (tmp = -2373971990, tmp));
442
+ assertEquals(738197504, x <<= (1188157369.5988827));
443
+ assertEquals(0, x <<= (x+((tmp = -839533141, tmp)&((((((tmp = -1148768474.7306862, tmp)|(172650299))+(tmp = -2739838654, tmp))/(3132557129))%x)>>>(tmp = -1229961746.2466633, tmp)))));
444
+ assertEquals(0, x %= (tmp = -2974207636, tmp));
445
+ assertEquals(0, x %= ((2323482163)>>>x));
446
+ assertEquals(0, x &= (((x/(x+(x>>((tmp = 55935149, tmp)%x))))|((3109182235)>>>(tmp = 1217127738.8831062, tmp)))+((((tmp = -385114910, tmp)*((((((tmp = -2535158574.634239, tmp)&(x+x))<<(-2821692922.43476))&(-776804130.9457026))>>((-1374832535)^(tmp = 2175402162.701251, tmp)))%(-1646995095)))-(x*(tmp = -921556123, tmp)))^(79224621))));
447
+ assertEquals(128935435, x |= ((tmp = 2279459038, tmp)%(tmp = -537630900.5271742, tmp)));
448
+ assertEquals(128935435, x /= ((((((x<<(2750024311))-((-1332480769.4784315)&(1418160003)))&(1551783357))<<(((((-2870460218.55027)|((-1958752193.7746758)&(2551525625)))>>>((((tmp = -1698256471, tmp)^(((((((((tmp = -830799466, tmp)+x)-(-111590590))+(tmp = -1105568112.3921182, tmp))/((tmp = -3058577907, tmp)|(((-1944923240.2965696)%(-2884545285))<<(tmp = -1993196044.1645615, tmp))))^(x>>(tmp = -2961488181.3795304, tmp)))&x)*x)|(((tmp = 97259132.88922262, tmp)<<((1601451019.343733)&x))*(x|x))))+((((x>>x)<<x)+(-868409202.2512136))/(((tmp = -2893170791, tmp)-((x|(-853641616))%(((tmp = 549313922, tmp)&(-768036601.6759064))%(tmp = -543862220.9338839, tmp))))-((tmp = 1639851636, tmp)+((2164412959)/(-273028039.941242))))))>>>((((-2382311775.753495)^(-2062191030.2406163))>>>(tmp = -1054563031, tmp))/(-862111938.7009578))))%x)+(-3103170117.625942)))%((tmp = -1144062234, tmp)>>x))>>>(tmp = 1216332814.00042, tmp)));
449
+ assertEquals(41.631074722901715, x /= (x&(-2542806180.962227)));
450
+ assertEquals(41.631074722901715, x %= (-14003386.556780577));
451
+ assertEquals(8, x &= (x&((-2231622948)%(tmp = 488279963.9445952, tmp))));
452
+ assertEquals(9.002961614252625e-9, x /= ((53802728.56204891)<<(((867697152.3709695)-(538719895.5707034))&(-631307825.4491808))));
453
+ assertEquals(0, x >>= x);
454
+ assertEquals(-0, x *= (tmp = -785674989, tmp));
455
+ assertEquals(-0, x += x);
456
+ assertEquals(0, x /= (-250703244));
457
+ assertEquals(0, x <<= ((tmp = -661062581.5511999, tmp)|x));
458
+ assertEquals(0, x &= (-1299482308));
459
+ assertEquals(0, x &= ((-399690060)>>>(2448074202.385213)));
460
+ assertEquals(0, x &= (2574341201));
461
+ assertEquals(0, x <<= ((x|(((tmp = 2458873162.645012, tmp)+(tmp = -1999705422.8188977, tmp))<<((x^(tmp = -392530472, tmp))>>>x)))&(((tmp = 2463000826.7781224, tmp)|(tmp = 3020656037, tmp))-x)));
462
+ assertEquals(1397603760, x += ((tmp = -1359413071, tmp)-(tmp = -2757016831, tmp)));
463
+ assertEquals(513823851, x -= (883779909));
464
+ assertEquals(-1765712747, x ^= (2288060670.6797976));
465
+ assertEquals(3117741504918286000, x *= x);
466
+ assertEquals(3117741506284045300, x += (1365759456));
467
+ assertEquals(6035555595.597267, x /= (tmp = 516562470, tmp));
468
+ assertEquals(104203275, x &= (tmp = 376835755.32434213, tmp));
469
+ assertEquals(10858322520725624, x *= x);
470
+ assertEquals(59458951, x >>>= (153765028));
471
+ assertEquals(49370856, x += ((tmp = -1291276092, tmp)>>x));
472
+ assertEquals(0, x %= x);
473
+ assertEquals(0, x += x);
474
+ assertEquals(-1494589645, x -= (1494589645));
475
+ assertEquals(-0, x %= x);
476
+ assertEquals(0, x <<= (x&((2730708043.467806)<<x)));
477
+ assertEquals(0, x /= ((tmp = -1483912394.153527, tmp)>>>((tmp = 1800568769, tmp)^((((((tmp = 1351568510, tmp)>>(tmp = -1337992543.2562337, tmp))>>>(tmp = 2602239360.40513, tmp))*x)%x)+(-2095840128.0700707)))));
478
+ assertEquals(-0, x /= ((2363946613)^(tmp = -2227868069, tmp)));
479
+ assertEquals(0, x &= ((((2634933507)<<(2798775374.140882))>>>x)>>>(((tmp = 1135200853.6396222, tmp)-(tmp = -1529829490.7007523, tmp))-(((((((((x^((x|(2135742668.591568))-(924230444.8390535)))%(tmp = -2459525610.51898, tmp))+(x&((tmp = 1177231743.809653, tmp)/(tmp = 1743270357.2735395, tmp))))|(((tmp = -1894305017, tmp)^((tmp = 1791704240, tmp)&x))%(-1569751461)))>>>(tmp = -2078321944, tmp))|x)*(((x*(tmp = -163239354, tmp))<<((tmp = 2859087562.694203, tmp)&(-657988325.9410558)))^(2508013840)))-((-243572350)+(x%((-1095206140)+((tmp = 3213566608.942816, tmp)*((2256442613)%((tmp = 1723751298, tmp)^(x-((-1145710681.2693722)|x)))))))))+(1556870627)))));
480
+ assertEquals(130883024.97423434, x -= (-130883024.97423434));
481
+ assertEquals(0.046720352789736276, x /= (tmp = 2801413456, tmp));
482
+ assertEquals(1806558189, x |= (tmp = 1806558189.157823, tmp));
483
+ assertEquals(72.40475060062144, x /= (x%((1932591076.531628)>>(1982030182))));
484
+ assertEquals(-1077558321.5975945, x += (tmp = -1077558394.002345, tmp));
485
+ assertEquals(98187, x >>>= x);
486
+ assertEquals(97792, x &= (tmp = -1032487404, tmp));
487
+ assertEquals(709197609, x |= (x^(709179177)));
488
+ assertEquals(11081212, x >>>= (tmp = 1412940006.169063, tmp));
489
+ assertEquals(11081212, x &= x);
490
+ assertEquals(-1920311203, x -= ((tmp = 1931392415, tmp)<<((x%(tmp = -2873576383, tmp))%x)));
491
+ assertEquals(-1920311203, x |= (x&(-993884718.2172024)));
492
+ assertEquals(-4, x >>= (1409411613.0051966));
493
+ assertEquals(-7947632484, x *= ((-2856731734)^((-1181032235.9132767)-((tmp = 780101930, tmp)+((tmp = -1732707132.6253016, tmp)^x)))));
494
+ assertEquals(-2016362769, x ^= (tmp = 2711125619.2455907, tmp));
495
+ assertEquals(-61535, x >>= x);
496
+ assertEquals(-124771649, x ^= (tmp = 124726558, tmp));
497
+ assertEquals(-1, x >>= x);
498
+ assertEquals(-0, x %= (x*x));
499
+ assertEquals(0, x <<= x);
500
+ assertEquals(0, x /= (2444628112));
501
+ assertEquals(0, x <<= ((-38968517.72504854)<<x));
502
+ assertEquals(-1504619917, x |= (tmp = 2790347379, tmp));
503
+ assertEquals(-1504619917, x &= x);
504
+ assertEquals(2790347379, x >>>= ((1825218368)<<(-1843582593.2843356)));
505
+ assertEquals(7786038495492170000, x *= x);
506
+ assertEquals(-11011696, x |= (((tmp = 2931644407.4936504, tmp)-(3077095016.001658))%(tmp = -1731851949, tmp)));
507
+ assertEquals(-107866, x %= ((-697845074.1661191)>>(772708134)));
508
+ assertEquals(356779149, x ^= (-356884949.503757));
509
+ assertEquals(0, x %= x);
510
+ assertEquals(0, x *= ((tmp = 1542291783, tmp)^x));
511
+ assertEquals(0, x += ((tmp = 1105314644.002441, tmp)&x));
512
+ assertEquals(-1005882993, x ^= (-1005882993.0899806));
513
+ assertEquals(-1301065066, x += (tmp = -295182073, tmp));
514
+ assertEquals(-1454702592, x <<= ((-2440858737.390277)&(-1363565201.7888322)));
515
+ assertEquals(-201539012492525570, x *= ((((tmp = -1416268089, tmp)|x)-(tmp = 1669129769, tmp))&(x<<((x/(-2614041678.7423654))%x))));
516
+ assertEquals(-2.1995276811535986e+25, x *= (x/(-1846667987.154371)));
517
+ assertEquals(0, x |= ((x*(((x>>>((tmp = 1044173034, tmp)>>>((x<<((tmp = -2906412863, tmp)%((tmp = -437401503, tmp)<<(((((x|(2167319070))<<((tmp = 2766179640.1840167, tmp)&(-2372076054)))*(tmp = -241617431.06416297, tmp))*((((((tmp = 2570465382.5574293, tmp)>>>(x/((-2851324509.354545)%x)))>>(((x+((tmp = -614687945, tmp)^x))^((((tmp = 1653437743, tmp)>>x)/(tmp = 3072995069, tmp))>>x))*(((((-290508242)>>((tmp = 2969511554, tmp)<<(tmp = 158176292.95642304, tmp)))<<(32376015))+(tmp = 2391895870.4562025, tmp))*x)))&((((x/(tmp = 365292078.53605413, tmp))>>x)/(1167322811.0008812))|(((tmp = 2487970377.365221, tmp)^x)<<((tmp = 2342607988.711308, tmp)/(((2276081555.340126)-(((tmp = -2571071930, tmp)>>(tmp = -248468735.76550984, tmp))>>>(tmp = -2862254985.608489, tmp)))^(-1312017395))))))<<x)&(2762717852.949236)))+((((-2492896493)&x)<<(-2756272781.4642315))/x)))))*(2405395452))))>>((-1433975206)/((tmp = -2064757738.6740267, tmp)<<((((tmp = -1563531255, tmp)-(-589277532.2110934))<<x)^(2249328237.0923448)))))-x))-(-225624231)));
518
+ assertEquals(0, x *= (tmp = 1657982666.2188392, tmp));
519
+ assertEquals(86443387, x |= (tmp = 86443387.25165462, tmp));
520
+ assertEquals(86443387, x %= (-1341731981.702294));
521
+ assertEquals(172886774, x <<= ((-1799840391)&(1011948481.310498)));
522
+ assertEquals(-1115684864, x <<= x);
523
+ assertEquals(-2098253702059525600, x *= (1880686715.1865616));
524
+ assertEquals(-2098253700213206300, x -= (tmp = -1846319435.0583687, tmp));
525
+ assertEquals(570692096, x &= (((tmp = -1572055366.64332, tmp)%(tmp = 1720120910, tmp))%((x-(912386952.5959761))*(tmp = -1146251719.4027123, tmp))));
526
+ assertEquals(603979776, x <<= ((-329752233.8144052)&(tmp = -368636559, tmp)));
527
+ assertEquals(603979776, x <<= x);
528
+ assertEquals(364791569817010200, x *= x);
529
+ assertEquals(0, x &= ((2074587775.983799)/(tmp = 438856632.76449287, tmp)));
530
+ assertEquals(0, x &= (((1509671758)*(tmp = -935801537.7325008, tmp))>>>(((tmp = -1752877566, tmp)<<x)%(tmp = -517163766, tmp))));
531
+ assertEquals(-2031730599, x ^= ((2264285273)&(tmp = -1762662949.014101, tmp)));
532
+ assertEquals(-843578945, x %= (-1188151654));
533
+ assertEquals(-2147483648, x <<= x);
534
+ assertEquals(-2147483648, x >>= (tmp = -3165079200.229641, tmp));
535
+ assertEquals(-44086313.1323726, x %= ((x%(-254466243.48728585))-((x>>(-457411829.1063688))-((-2606923436.9333453)/x))));
536
+ assertEquals(-44086313, x |= x);
537
+ assertEquals(1037812, x >>>= ((tmp = 342497258.9786743, tmp)+(1652928385.8150895)));
538
+ assertEquals(-2371695599678100, x *= (tmp = -2285284425, tmp));
539
+ assertEquals(-2371697387004653, x += (tmp = -1787326553.0542095, tmp));
540
+ assertEquals(0, x ^= x);
541
+ assertEquals(0, x >>= ((x^(tmp = 544039787, tmp))>>>x));
542
+ assertEquals(0, x &= ((x%(((((((tmp = -424572417.1088555, tmp)|(-2381863189))/(tmp = -2007482475.1809125, tmp))&(((((tmp = 311016073, tmp)>>(tmp = -1548839845, tmp))+((-2557740399.7947464)<<(2399113209)))&x)>>>x))%(-297180308.7721617))-(tmp = 860906293, tmp))^x))%(-2740622304)));
543
+ assertEquals(4971841192462909000, x += ((tmp = -2723203837.572612, tmp)+((((-2909100706)+(-951999374))|(-3116735764))*(3087123539.422669))));
544
+ assertEquals(-460, x >>= (1081807537.557404));
545
+ assertEquals(2354165127.3906384, x += (tmp = 2354165587.3906384, tmp));
546
+ assertEquals(357.8680960002211, x /= ((((x<<(((x&x)+(1113841407))|((x/(tmp = 384533564, tmp))>>>(-605853882))))%x)&((tmp = 2050375842, tmp)>>>x))>>(((2745147573)^x)<<(x-(900043292)))));
547
+ assertEquals(0, x *= (x>>>(-295974954.5058532)));
548
+ assertEquals(0, x *= ((-2448592125.815531)*(tmp = -94957474.8986013, tmp)));
549
+ assertEquals(0, x &= ((x>>x)^(tmp = -1335129180, tmp)));
550
+ assertEquals(395092065, x |= ((3081659156)^(tmp = -1608334475, tmp)));
551
+ assertEquals(395092065, x &= x);
552
+ assertEquals(-413337639, x += (x^(tmp = -664996071.3641524, tmp)));
553
+ assertEquals(-1604423637896759800, x *= (x>>>(tmp = 1242912352.955432, tmp)));
554
+ assertEquals(0, x &= ((((((tmp = 651293313, tmp)|(((2541604468.635497)>>>(tmp = 758815817.7145422, tmp))>>>((-1948795647)/x)))&x)/((tmp = -3161497100, tmp)+(782910972.3648237)))>>>x)%(834206255.5560443)));
555
+ assertEquals(0, x >>>= (tmp = 125945571, tmp));
556
+ assertEquals(NaN, x -= (x%x));
557
+ assertEquals(NaN, x %= (tmp = 282259853, tmp));
558
+ assertEquals(NaN, x += (tmp = -2081332383, tmp));
559
+ assertEquals(0, x >>>= (((x>>(-2298589097.7522116))|((((x>>>(x-(tmp = 755218194, tmp)))|x)%x)-(tmp = 2206031927, tmp)))>>>((((x&(x-x))^(tmp = 2836686653, tmp))*((x<<(tmp = -1624140906.4099245, tmp))>>>((2942895486)|((x>>>x)>>>(-1586571476)))))|((781668993)+(-1857786909)))));
560
+ assertEquals(0, x &= (tmp = -708084218.9248881, tmp));
561
+ assertEquals(0, x %= (1645913394.5625715));
562
+ assertEquals(0, x <<= ((x^((tmp = 1185413900, tmp)*((-2441179733.997965)*(tmp = 2554099020.066989, tmp))))%((1704286567.29923)/x)));
563
+ assertEquals(0, x += x);
564
+ assertEquals(0, x *= x);
565
+ assertEquals(0, x |= (x>>>(139138112.141927)));
566
+ assertEquals(0, x >>>= (tmp = 2142326564, tmp));
567
+ assertEquals(0, x |= x);
568
+ assertEquals(-0, x /= ((((x+(2817799428))|x)%((1050079768)-(x>>>((1452893834.8981247)|((((tmp = -1737187310.889149, tmp)/(tmp = -362842139, tmp))%(1234225406))%(((x|x)*((-1055695643.739629)-((x-x)*(945954197.676585))))-(tmp = 786185315.346615, tmp)))))))<<(-173891691)));
569
+ assertEquals(0, x &= (-2842855092.319309));
570
+ assertEquals(0, x &= ((-3188403836.570895)/x));
571
+ assertEquals(0, x *= (x+x));
572
+ assertEquals(NaN, x /= (x>>>(((tmp = 391037497.68871593, tmp)/((192754032)*(1382659402.5745282)))/((((-2187364928)>>>x)>>(tmp = 2563448665.7594023, tmp))^(tmp = 1500866009.7632217, tmp)))));
573
+ assertEquals(NaN, x /= ((tmp = -935036555.2500343, tmp)-(x/(((x&(x^(tmp = -3001352832.5034075, tmp)))^x)/((1122547613)>>x)))));
574
+ assertEquals(0, x >>= (tmp = -2951766379.0809536, tmp));
575
+ assertEquals(-632945188, x ^= (-632945188.7188203));
576
+ assertEquals(-632945188, x %= ((((((tmp = -3181527314.82724, tmp)&(2280175415))>>(x^(x|x)))^(tmp = -524233678.52970886, tmp))*x)|((tmp = 1782882786, tmp)>>>(tmp = -592607219, tmp))));
577
+ assertEquals(404189184, x <<= ((tmp = -2761472127, tmp)^(36616299.88780403)));
578
+ assertEquals(872651572, x ^= (tmp = 739568436.6252247, tmp));
579
+ assertEquals(13, x >>>= ((tmp = -1033843418.865577, tmp)%(x%(1247263629.0445533))));
580
+ assertEquals(0, x >>>= x);
581
+ assertEquals(0, x >>= (3189175317));
582
+ assertEquals(0, x &= (((2391973519.6142406)^((-2950058736.191456)|(x*x)))>>(tmp = 343822384.294345, tmp)));
583
+ assertEquals(0, x >>>= (tmp = -2306246544, tmp));
584
+ assertEquals(-1572339598, x ^= ((tmp = 2991380083.337327, tmp)&(tmp = -1361507970, tmp)));
585
+ assertEquals(649, x >>>= ((1961407923.4950056)>>(x-(-872821523.7513013))));
586
+ assertEquals(649, x ^= (((x&(tmp = -702931788, tmp))^(((x>>x)|(((tmp = 2710759269, tmp)/(x>>(x*((((((tmp = -2428445134.9555864, tmp)+(-1859938743))%(x<<x))*((236868604)+((tmp = -3066688385, tmp)/(787503572.8839133))))/(tmp = 3215629315, tmp))>>(-1315823020)))))%(1461368627.1293125)))>>>(tmp = -2921804417.5735087, tmp)))/(x>>>(((tmp = 2175260691.824617, tmp)/((-582958935.7628009)-((((((x>>x)|(2590503723.4810824))^(tmp = -1994324549, tmp))-(-684683327))/(tmp = -3133419531, tmp))|(tmp = -328974092.05095506, tmp))))>>(-447624639.4518213)))));
587
+ assertEquals(649, x %= ((((1854382717)|(((x+(tmp = 2568081234, tmp))-x)+((tmp = 1043086140, tmp)<<((tmp = 2979118595.0496006, tmp)+((x&(2669577199.852803))/(-2567808445.101112))))))<<((((tmp = -1471092047, tmp)&((-3099138855.21041)-((tmp = -798574377.526715, tmp)&((2255586141)<<(-1069867774)))))>>>(((x*(tmp = -2810255707.781517, tmp))/x)*(2706435744.054121)))^(394262253)))^((844325548.0612085)/(tmp = 1434691648, tmp))));
588
+ assertEquals(823215943.1924392, x += (tmp = 823215294.1924392, tmp));
589
+ assertEquals(536872706, x &= ((-334612686)%((1303605874)|x)));
590
+ assertEquals(-30666374.413486242, x += ((tmp = -567539080.4134862, tmp)%(tmp = -1655555936.3195171, tmp)));
591
+ assertEquals(-56438727096752984, x *= (tmp = 1840410814, tmp));
592
+ assertEquals(-33200107.984488487, x %= (((tmp = 3007206509, tmp)-(3079337725.6659536))%(1819565202.5011497)));
593
+ assertEquals(-1214493182, x ^= (-3060193769));
594
+ assertEquals(-1214493179.1335113, x -= ((-3218099496.595745)/(1122662554)));
595
+ assertEquals(-1214493179, x >>= ((-375364195)<<(((tmp = 619439637.8754326, tmp)>>(-1830023279.9486575))&(tmp = -1106180387.2448823, tmp))));
596
+ assertEquals(-303623295, x >>= (-2109241374.3349872));
597
+ assertEquals(-0, x %= x);
598
+ assertEquals(0, x |= x);
599
+ assertEquals(1917126206, x -= (-1917126206));
600
+ assertEquals(2659779928, x -= (tmp = -742653722, tmp));
601
+ assertEquals(-1635187368, x >>= ((tmp = -674385169, tmp)*((9848362.783326745)|(x*(55220544.00989556)))));
602
+ assertEquals(-1981113695, x ^= ((tmp = 392404985, tmp)>>(((x<<((2006207061)<<(tmp = 2558988218, tmp)))*((((tmp = 1789304307.1153054, tmp)/(2538061546))<<(tmp = 556026116, tmp))&((tmp = 1076457999.6424632, tmp)*(tmp = -1822378633.2489474, tmp))))%(((((-1117046924)&((-69013651)%(x&(((-2320327696)/(x&x))-(tmp = 2458222544, tmp)))))>>((-3092360983.0037227)/(-3171415636)))*(((tmp = 2520431213, tmp)<<(1066492762.6149663))+((tmp = 1272200889, tmp)^((1687693123.2295754)+x))))-(-1096823395)))));
603
+ assertEquals(-990556848, x >>= x);
604
+ assertEquals(981202869119695100, x *= x);
605
+ assertEquals(981202869119695100, x -= (x/x));
606
+ assertEquals(0, x ^= (x>>x));
607
+ assertEquals(NaN, x %= x);
608
+ assertEquals(0, x ^= x);
609
+ assertEquals(0, x *= ((((2980512718)>>>x)<<((x^(-1111233869))>>((2531466092.6036797)>>>(((tmp = -1791229364, tmp)*(-2210950307.206208))%((tmp = -806645443, tmp)<<((((((((tmp = 112334634.26187229, tmp)%(x|((((2154021796.1166573)+x)&((-1047293079.9686966)^(tmp = -1894127139, tmp)))+(tmp = 1910946653.2314827, tmp))))^(293142672.5016146))-x)<<(-1593533039.8718698))+x)>>(x<<(((46359706.50393462)&(tmp = 272146661, tmp))|(tmp = 2117690168, tmp))))%(tmp = -1784737092.4924843, tmp)))))))-(1465796246)));
610
+ assertEquals(0, x &= x);
611
+ assertEquals(NaN, x %= x);
612
+ assertEquals(0, x &= (x+(-1612418456)));
613
+ assertEquals(0, x &= ((tmp = -843964311, tmp)/x));
614
+ assertEquals(NaN, x /= x);
615
+ assertEquals(NaN, x *= x);
616
+ assertEquals(NaN, x += (x>>>(54020240)));
617
+ assertEquals(489206868, x |= (489206868));
618
+ assertEquals(489206868, x &= x);
619
+ assertEquals(489206848, x &= ((tmp = -1699133906.2361684, tmp)>>(tmp = 2658633814, tmp)));
620
+ assertEquals(489206848, x |= x);
621
+ assertEquals(1910559006, x -= (tmp = -1421352158, tmp));
622
+ assertEquals(1, x >>= x);
623
+ assertEquals(0, x -= x);
624
+ assertEquals(0, x %= (x^(tmp = 2745376003.2927403, tmp)));
625
+ assertEquals(0, x %= (((tmp = 3199743302.1063356, tmp)^((-1905944176)&(x>>>(187247029.5209098))))<<((x*((-1394648387)*(1252234289)))-(3140049815))));
626
+ assertEquals(0, x <<= (-2567872355));
627
+ assertEquals(0, x %= (tmp = 1057707555.8604916, tmp));
628
+ assertEquals(0, x %= ((tmp = -1877857405.0228279, tmp)>>>(((tmp = 423831184, tmp)*((tmp = -2106757468.324615, tmp)%(tmp = -1197717524.6540637, tmp)))>>(tmp = -93746263.46774769, tmp))));
629
+ assertEquals(0, x |= x);
630
+ assertEquals(-0, x *= ((tmp = 1317609776.6323466, tmp)*(tmp = -26959885.89325118, tmp)));
631
+ assertEquals(0, x >>= (-1288116122.0091262));
632
+ assertEquals(0, x &= ((370818172.92511404)%((tmp = -528319853.54781747, tmp)*(x/((tmp = -2839758076, tmp)^(x+(((-1258213460.041857)<<(tmp = 302017800.72064054, tmp))|((((tmp = -624254210, tmp)^((-338165065.97507)|((623392964)-x)))>>>x)%(tmp = 2767629843.0643625, tmp)))))))));
633
+ assertEquals(0, x >>>= x);
634
+ assertEquals(0, x >>>= x);
635
+ assertEquals(0, x |= ((-2001549164.1988192)*x));
636
+ assertEquals(0, x -= x);
637
+ assertEquals(0, x *= (((((165836842.14390492)*(tmp = -3220002961, tmp))|(-2840620221.747431))%((x/(tmp = 3153915610, tmp))>>>(tmp = 2018941558, tmp)))>>>x));
638
+ assertEquals(-0, x *= (-231994402.93764925));
639
+ assertEquals(0, x <<= x);
640
+ assertEquals(0, x %= (tmp = 2702385056.1149964, tmp));
641
+ assertEquals(0, x <<= (tmp = 378459323, tmp));
642
+ assertEquals(0, x >>>= ((x&(x&(((-1014963013)<<(x&((tmp = -3110294840, tmp)|(x+(x<<(1129643420))))))+(1093795819.1853619))))+((((tmp = -2295103369.697398, tmp)&(((370501313.43019223)>>>(2465439579))/x))-x)>>x)));
643
+ assertEquals(0, x /= ((tmp = 1779625847, tmp)+(tmp = -662459654.6908865, tmp)));
644
+ assertEquals(0, x -= x);
645
+ assertEquals(0, x %= ((tmp = 2723291421, tmp)|(277246502.4027958)));
646
+ assertEquals(0, x ^= (((-2936270162)>>>((((tmp = -2019015609.1648235, tmp)|(47218153))*(-823685284))+x))&(x<<(x*(x|(((tmp = -941955398, tmp)^(tmp = -2365238993.5300865, tmp))-(778674685)))))));
647
+ assertEquals(0, x >>>= x);
648
+ assertEquals(NaN, x %= x);
649
+ assertEquals(0, x &= (-175235975.8858137));
650
+ assertEquals(-2684493800.1062117, x += (tmp = -2684493800.1062117, tmp));
651
+ assertEquals(-1290806265.6063132, x -= (-1393687534.4998984));
652
+ assertEquals(-1290806265, x >>= (((x>>(tmp = -1710112056.4935386, tmp))*(586227650.2860553))<<(tmp = -2918251533.6052856, tmp)));
653
+ assertEquals(23470008, x >>>= x);
654
+ assertEquals(1668734969, x |= ((-295560682.9663689)^(x|((((tmp = -1183847364, tmp)&(3135327694))+(1679127747.1406744))-((-1895825528)%((tmp = -3180115006, tmp)+((tmp = 2373812187, tmp)|x)))))));
655
+ assertEquals(1744306169, x |= (1188503928.5009093));
656
+ assertEquals(1744306169, x %= (tmp = -2723982401.4997177, tmp));
657
+ assertEquals(3488612338, x += x);
658
+ assertEquals(3488612337, x += (((x/(-325849204))>>x)|(-1820624550.9149108)));
659
+ assertEquals(-1511119305, x ^= (tmp = 1778506182.2952862, tmp));
660
+ assertEquals(-12211415, x %= (x^(tmp = -54943035, tmp)));
661
+ assertEquals(-12211415, x %= ((-1267051884)%(-643566443.0122576)));
662
+ assertEquals(-30.84976063258681, x /= (((1052047194)>>>x)&(1495698235.5117269)));
663
+ assertEquals(-61.69952126517362, x += x);
664
+ assertEquals(-244, x <<= (x^(x+(tmp = -2822258210.076373, tmp))));
665
+ assertEquals(-6652, x &= ((tmp = 2593685093, tmp)>>((((2047688852.4609032)<<((x*(-611076291))*x))^(-2665364024.817528))>>>(165267874))));
666
+ assertEquals(0, x -= x);
667
+ assertEquals(0, x /= (2454186758));
668
+ assertEquals(0, x &= (tmp = -2226895206, tmp));
669
+ assertEquals(0, x += x);
670
+ assertEquals(-21390701, x += ((-1369004846.0816503)>>(tmp = -2661552634.039692, tmp)));
671
+ assertEquals(-0.012568536912921919, x /= (1701924507.856429));
672
+ assertEquals(7.09517966608176e-11, x /= (tmp = -177141911.8955555, tmp));
673
+ assertEquals(0, x >>= (tmp = 231535697, tmp));
674
+ assertEquals(1383687797, x ^= (tmp = -2911279499.568808, tmp));
675
+ assertEquals(1383687797, x %= (tmp = -2258636646.5294995, tmp));
676
+ assertEquals(1319, x >>= ((tmp = -2549411892.8426056, tmp)/(((((1532476676)^(153720871.82640445))+x)/(((2988190456.3206205)&(tmp = -2920873674, tmp))-(((((tmp = -1044518167.0581458, tmp)>>x)-((((tmp = -194701879.13505793, tmp)&(498352051))&((tmp = -2167339635.6529818, tmp)^(((x>>(tmp = 700159851, tmp))*(tmp = 2874921158, tmp))/x)))-((2856128689)|((-1876321441)>>>(2110732915)))))^((((tmp = -193379494.18825436, tmp)/(-3055182489.533142))<<x)+((tmp = -2286109605, tmp)>>(tmp = 698475484.3987849, tmp))))^(3182231653.500364))))|(((tmp = -194670835, tmp)>>>((786780139)%(((2114171416.2305853)^(1703145352.8143656))/x)))>>>((tmp = -3029462067, tmp)>>((67647572.02624655)&(x*(-2394283060))))))));
677
+ assertEquals(13903855, x |= ((tmp = -2515306586, tmp)>>>x));
678
+ assertEquals(54311, x >>>= ((-2413722658)-((tmp = -2159787584, tmp)^(tmp = 949937622.9744623, tmp))));
679
+ assertEquals(108622, x += x);
680
+ assertEquals(1250717187, x ^= ((tmp = 842692148, tmp)+(((2649331689.694273)<<x)-(tmp = -2992181273, tmp))));
681
+ assertEquals(4536777, x %= (tmp = 73304730, tmp));
682
+ assertEquals(0, x -= x);
683
+ assertEquals(-580081499, x ^= ((tmp = -580081499.0170684, tmp)^(x%(tmp = -1542730817.88261, tmp))));
684
+ assertEquals(-1382738784, x <<= x);
685
+ assertEquals(-1382738784, x <<= x);
686
+ assertEquals(2912228512, x >>>= (x*(x>>>x)));
687
+ assertEquals(-1076374105, x |= (2589443367));
688
+ assertEquals(-0.2818750938197037, x /= (((tmp = -1559525732.9603848, tmp)|(-477068917.5483327))>>>((-688616257)*((((tmp = -1192490153.1226473, tmp)*(-502280624.0265591))<<(-442688727.4881985))%(x+(((((tmp = -2948836853.831935, tmp)-(tmp = -2850398330.910424, tmp))>>>(x>>>(-1947835558)))^x)+(x*x)))))));
689
+ assertEquals(2032826546, x |= (tmp = 2032826546.819327, tmp));
690
+ assertEquals(3408404827.14316, x += (tmp = 1375578281.1431599, tmp));
691
+ assertEquals(258183922.14315987, x %= (tmp = 350024545, tmp));
692
+ assertEquals(479694848, x <<= (tmp = -481187157, tmp));
693
+ assertEquals(-2147483648, x <<= (((tmp = -2956588045.472398, tmp)>>>(((tmp = -1838455399.1775856, tmp)&(((((tmp = -637547, tmp)/x)&(x^((-44876328.1767962)+(((-2059598286)-(1071496688))%(tmp = -1492254402, tmp)))))-(x%x))*(x|x)))>>(1226250760)))<<x));
694
+ assertEquals(-2288163338.9020815, x -= (140679690.9020816));
695
+ assertEquals(4954833118513997000, x *= (-2165419327.4906025));
696
+ assertEquals(1578331238, x ^= (-2410854298.2270393));
697
+ assertEquals(-810627292, x += (-2388958530));
698
+ assertEquals(-810627292, x ^= ((1495296640.4087524)/(tmp = 1561790291, tmp)));
699
+ assertEquals(657116606535253200, x *= x);
700
+ assertEquals(0.675840332689047, x %= (((-1816548473)^(((tmp = -151918689.19451094, tmp)|(1819911186.535233))/((((((1514297447)+(tmp = 856485190.9684253, tmp))&(((1809369464.4363992)<<(493538496))*x))+((x*(x>>(x&(tmp = 222293461, tmp))))>>>(((784519621)|x)^((-580766922)>>(tmp = -947264116, tmp)))))>>>((((2794210354.22964)>>>(((2896952532.0183973)*((x+(tmp = -1813175940, tmp))<<(tmp = -1302618293, tmp)))&x))>>(x-(((x|((1456466890.1952953)*x))^(-169979758.19158387))-(x-x))))>>x))&(tmp = 2671604078.3026733, tmp))))/(-1701675745)));
701
+ assertEquals(0.675840332689047, x %= ((tmp = 2421871143, tmp)^x));
702
+ assertEquals(NaN, x %= ((((tmp = 1175526323.433271, tmp)+(tmp = 2813009575.952405, tmp))%((tmp = -3112133516.3303423, tmp)&x))&((((((-424329392)^(tmp = 1430146361, tmp))+x)-(1533557337.268306))%((tmp = -3117619446, tmp)-(-3127129232)))>>>x)));
703
+ assertEquals(NaN, x += x);
704
+ assertEquals(0, x >>>= ((1710641057.7325037)%(104961723.56541145)));
705
+ assertEquals(0, x <<= (tmp = -970072906, tmp));
706
+ assertEquals(0, x *= (87768668));
707
+ assertEquals(-1464968122, x ^= (tmp = -1464968122, tmp));
708
+ assertEquals(-1467983895, x ^= ((tmp = -1204896021, tmp)>>>(((91792661)&(x>>>(((-2364345606)>>>x)*x)))+x)));
709
+ assertEquals(2.991581508270506, x /= (-490704963.5591147));
710
+ assertEquals(0, x >>>= x);
711
+ assertEquals(0, x >>= ((tmp = 639854873, tmp)%(tmp = 743486160.3597239, tmp)));
712
+ assertEquals(0, x <<= (tmp = 1045577245.3403939, tmp));
713
+ assertEquals(0, x >>= ((tmp = -1932462290, tmp)|(tmp = 1629217987, tmp)));
714
+ assertEquals(517617438, x ^= ((tmp = 2737789043, tmp)%(tmp = -2220171604.135681, tmp)));
715
+ assertEquals(126371, x >>>= ((tmp = 205210223.69909227, tmp)-(tmp = 598118404, tmp)));
716
+ assertEquals(918548455, x |= ((918228734.8363427)+(x+x)));
717
+ assertEquals(918548455, x |= ((tmp = 599828198, tmp)>>((tmp = -851081330, tmp)|(tmp = -1152596996.8443217, tmp))));
718
+ assertEquals(918548443.7739062, x -= ((tmp = 1497642976.2260938, tmp)%(x>>(tmp = -548469702.5849569, tmp))));
719
+ assertEquals(0.7739062309265137, x %= (x&x));
720
+ assertEquals(2317939163.8239403, x *= (tmp = 2995116296, tmp));
721
+ assertEquals(1014415360, x <<= (-279972114));
722
+ assertEquals(0, x &= ((296810932)/(x*(tmp = -2750499950, tmp))));
723
+ assertEquals(0, x *= (x%((126285451.05086231)>>>(x*(tmp = -2789790532, tmp)))));
724
+ assertEquals(0, x >>>= ((975695102.5771483)%(x-((-1011726540)-((tmp = 2223194882, tmp)/x)))));
725
+ assertEquals(-1747794584, x |= (-1747794584.3839395));
726
+ assertEquals(-543544679, x %= (tmp = -1204249905, tmp));
727
+ assertEquals(-543544679, x %= (-881024001));
728
+ assertEquals(1, x /= x);
729
+ assertEquals(-1879376393, x |= ((tmp = 161643764, tmp)|(tmp = 2281346499.9084272, tmp)));
730
+ assertEquals(1.321124264431369, x /= (-1422558379.7061746));
731
+ assertEquals(1, x >>>= (x&(tmp = -963118950.4710281, tmp)));
732
+ assertEquals(3, x ^= ((x+x)/x));
733
+ assertEquals(1, x /= x);
734
+ assertEquals(1, x &= (2090796073));
735
+ assertEquals(-1284301873, x ^= (((-11041168.146357536)+(tmp = -1273260707.8134556, tmp))+x));
736
+ assertEquals(292559045, x &= (x&((-2401110739)^((tmp = 630802904, tmp)^(((1012634447.0346229)+x)%((tmp = -1240091095, tmp)%(x/(-1483936527))))))));
737
+ assertEquals(0, x %= x);
738
+ assertEquals(0, x /= (tmp = 613145428.3653506, tmp));
739
+ assertEquals(0, x /= ((x-(tmp = 3116638456, tmp))*(-973300716)));
740
+ assertEquals(0, x %= (tmp = -1794741286.0464535, tmp));
741
+ assertEquals(0, x &= x);
742
+ assertEquals(0, x >>= (-551370105.0746605));
743
+ assertEquals(-1471996874, x ^= ((2822970422.2331414)-x));
744
+ assertEquals(-277914313, x |= (tmp = -818980601.2544096, tmp));
745
+ assertEquals(-34, x >>= x);
746
+ assertEquals(305422768, x -= (-305422802));
747
+ assertEquals(-2406146240, x += (tmp = -2711569008, tmp));
748
+ assertEquals(1073745408, x &= (tmp = -3046625618, tmp));
749
+ assertEquals(1073745408, x <<= ((-1234108306.7646303)<<((-233519302)|x)));
750
+ assertEquals(1073745408, x %= (tmp = 1898831268, tmp));
751
+ assertEquals(1073745408, x <<= (((tmp = 3089406038, tmp)/x)&(-2960027680)));
752
+ assertEquals(65536, x >>>= (2858188366));
753
+ assertEquals(128, x >>>= ((-2640257239.857275)%((tmp = -3185405235.3177376, tmp)*x)));
754
+ assertEquals(128, x >>>= x);
755
+ assertEquals(128, x -= (x&(x-(tmp = -247588018, tmp))));
756
+ assertEquals(81616906825.07776, x *= (tmp = 637632084.57092, tmp));
757
+ assertEquals(78860097686.07776, x -= (((1507215684)^((709254783)+(((x<<x)*((-2890828152.667641)%(2537817529.2041526)))^x)))+(3114024487)));
758
+ assertEquals(-2920545695.721283, x += (((tmp = -2555437435, tmp)>>>x)-((2920546109.72129)+x)));
759
+ assertEquals(-2879412281.721283, x += ((-1662428756)>>>(tmp = -1928491386.6926208, tmp)));
760
+ assertEquals(67403845, x &= (tmp = 2921644117, tmp));
761
+ assertEquals(16850961, x >>>= (((-1039328365)>>>(tmp = -768615112, tmp))<<((1037261855)*(tmp = -2906902831.4797926, tmp))));
762
+ assertEquals(0, x ^= x);
763
+ assertEquals(0, x *= ((-2729056530)/((-1776175111)%(1493002300.4604707))));
764
+ assertEquals(0, x *= (tmp = 370696035.22912216, tmp));
765
+ assertEquals(0, x ^= x);
766
+ assertEquals(0, x |= ((((((tmp = -1541196993, tmp)^x)/(854730380.1799632))/(2879117705.492209))+((((-2892068577)^(-2460614446.1044483))>>>((743413943)<<(-1285280084.4220598)))/(tmp = -1719994579.5141463, tmp)))%(((((tmp = 2522797851.088227, tmp)<<(tmp = 2257160597.1538725, tmp))/(-680406007))&((x>>>(tmp = -260350730, tmp))^(tmp = 1920522110.852598, tmp)))>>(-697620442))));
767
+ assertEquals(0, x &= x);
768
+ assertEquals(-591399642.958673, x += (x-(tmp = 591399642.958673, tmp)));
769
+ assertEquals(27, x >>>= (tmp = -726721317.2109983, tmp));
770
+ assertEquals(-2043736843, x -= (2043736870));
771
+ assertEquals(-3991674, x >>= (tmp = 1098126089, tmp));
772
+ assertEquals(-997919, x >>= ((x%(((x*(((-1497329257.1781685)%(2334511329.2690516))/(-3072526140.6635056)))+(-1843998852))-(tmp = 240300314.34070587, tmp)))+(714080860.6032693)));
773
+ assertEquals(-0, x %= x);
774
+ assertEquals(NaN, x /= x);
775
+ assertEquals(0, x >>= (tmp = 538348328.5363884, tmp));
776
+ assertEquals(0, x *= (800317515));
777
+ assertEquals(0, x -= x);
778
+ assertEquals(0, x >>= (984205514));
779
+ assertEquals(857282491, x += (tmp = 857282491, tmp));
780
+ assertEquals(587792897, x &= (tmp = 2951307845.164059, tmp));
781
+ assertEquals(595301269, x |= (tmp = 24285588.90314555, tmp));
782
+ assertEquals(1190602538, x += x);
783
+ assertEquals(0, x -= x);
784
+ assertEquals(-442423060, x |= ((x^((x-(tmp = 2342497475.637024, tmp))%(-1900074414.7678084)))|((tmp = 1932380130, tmp)%(x%(2291727569.817062)))));
785
+ assertEquals(-442423060, x %= (((tmp = 703479475.545413, tmp)>>(x-x))<<(2435723056.753845)));
786
+ assertEquals(1, x /= x);
787
+ assertEquals(0, x >>= x);
788
+ assertEquals(-1265317851, x |= (tmp = -1265317851, tmp));
789
+ assertEquals(-2, x >>= (-2015895906.8256726));
790
+ assertEquals(-0, x %= x);
791
+ assertEquals(-0, x %= (((1219237746)+(284683029))*(((tmp = 2288119628, tmp)|(-404658161.2563329))*(-265228691.74142504))));
792
+ assertEquals(1039509109, x -= (-1039509109));
793
+ assertEquals(2079018218, x += x);
794
+ assertEquals(-1979.9362673719077, x /= ((3219723500)>>x));
795
+ assertEquals(-62, x >>= ((x/(326466691))*(tmp = -607654070, tmp)));
796
+ assertEquals(-45, x |= (tmp = -2954888429.549882, tmp));
797
+ assertEquals(-1180929712, x &= (3114037588.570232));
798
+ assertEquals(815550480, x &= (-2302684143.3378315));
799
+ assertEquals(815550480, x %= (-2177479570));
800
+ assertEquals(815550480, x %= (tmp = 2895822167, tmp));
801
+ assertEquals(815550480, x %= (-1247621230.5438688));
802
+ assertEquals(283929811, x -= ((tmp = 251831053.17096448, tmp)|((tmp = 1140463506.004994, tmp)+(tmp = -743224673.546309, tmp))));
803
+ assertEquals(1825767424, x <<= (((tmp = 1732353599, tmp)^(tmp = 658726044, tmp))>>>((-2827889370.932477)%(tmp = 1950139204.3291233, tmp))));
804
+ assertEquals(1828450414, x |= (tmp = 1618538606, tmp));
805
+ assertEquals(0, x <<= (-2411670689.045702));
806
+ assertEquals(0, x <<= (-27744888.428537607));
807
+ assertEquals(-0, x /= (tmp = -1597552450, tmp));
808
+ assertEquals(0, x >>>= (((2165722776.7220936)>>>(tmp = 1233069931, tmp))>>>(-1120420811)));
809
+ assertEquals(-0, x *= ((tmp = -1505252656, tmp)>>((((3035637099.6156535)&((467761577.7669761)>>(-361034537)))^(tmp = -2347994840.6541123, tmp))*(tmp = -2191739821, tmp))));
810
+ assertEquals(0, x &= (795727404.0738752));
811
+ assertEquals(-0, x *= (tmp = -3125944685.3991394, tmp));
812
+ assertEquals(-0, x *= (x&x));
813
+ assertEquals(0, x >>= ((tmp = -2045709233, tmp)^x));
814
+ assertEquals(NaN, x /= (x>>(x/(3102894071))));
815
+ assertEquals(NaN, x += ((tmp = 2149079756.8941655, tmp)-(tmp = 810121645.305179, tmp)));
816
+ assertEquals(0, x >>>= (-859842989));
817
+ assertEquals(0, x >>>= (tmp = 2530531143.9369526, tmp));
818
+ assertEquals(0, x >>= (((-932981419.6254237)|(tmp = 1591591715, tmp))>>>(x+((3149795006)>>>(tmp = 613352154, tmp)))));
819
+ assertEquals(-4294967295, x -= ((((-2289331668)%(-282648480.0078714))>>(-1373720705.5142756))>>>((tmp = 15511563.517014384, tmp)/(360279080))));
820
+ assertEquals(1, x &= x);
821
+ assertEquals(0, x >>= (x^(-2791872557.5190563)));
822
+ assertEquals(0, x &= ((tmp = 336466956.7847167, tmp)>>((1235728252.053619)|(x<<((1828176636.13488)%x)))));
823
+ assertEquals(-0, x *= (-364042830.8894656));
824
+ assertEquals(0, x >>>= x);
825
+ assertEquals(-1675298680, x |= ((2323049541.321387)+(296619075)));
826
+ assertEquals(-0, x %= x);
827
+ assertEquals(-1583048579.4420977, x += (-1583048579.4420977));
828
+ assertEquals(0, x -= x);
829
+ assertEquals(-2, x ^= ((603171992.0545617)/(((-271888695.718297)%(tmp = -400159585, tmp))^((((tmp = 1536123971, tmp)-(tmp = -2310418666.6243773, tmp))|((tmp = 2242779597.1219435, tmp)<<(tmp = 1758127684.4745512, tmp)))/x))));
830
+ assertEquals(-2, x &= (x&x));
831
+ assertEquals(0, x &= ((tmp = -1098806007.4049063, tmp)/(((2862384059.3229523)/((((tmp = -92960842, tmp)-(x>>(tmp = 1244068344.2269042, tmp)))&x)*(tmp = -1919148313, tmp)))<<(-2486665929))));
832
+ assertEquals(0, x &= x);
833
+ assertEquals(-1441272634.582818, x -= (1441272634.582818));
834
+ assertEquals(-3, x >>= (tmp = 3186393693.7727594, tmp));
835
+ assertEquals(-1206855850, x ^= (((tmp = 607979495.303539, tmp)-(tmp = -2480131951, tmp))^(x*((tmp = 1324153477, tmp)/((1248126288)+(x|(1917331780.0741704)))))));
836
+ assertEquals(-1206855853, x ^= (x>>>(653288765.1749961)));
837
+ assertEquals(-1206857725, x &= (3149461539.6019173));
838
+ assertEquals(3088109571, x >>>= (x*(x<<(tmp = 1543540084, tmp))));
839
+ assertEquals(536903680, x &= (tmp = 644851760, tmp));
840
+ assertEquals(536903674.312194, x += (((-3183290076)-((tmp = 40738191.12097299, tmp)-x))/((x>>>(3151371851.9408646))^(tmp = 472698205.22445416, tmp))));
841
+ assertEquals(2127424750.0506563, x -= (tmp = -1590521075.7384624, tmp));
842
+ assertEquals(2127424750.0506563, x %= (tmp = 3027273433.361373, tmp));
843
+ assertEquals(0, x >>= (x>>(1445204441.702043)));
844
+ assertEquals(NaN, x %= (x<<x));
845
+ assertEquals(0, x ^= ((tmp = -2903841152.136344, tmp)-(x%(2938662860))));
846
+ assertEquals(0, x <<= (x<<x));
847
+ assertEquals(0, x >>>= (tmp = -979481631.33442, tmp));
848
+ assertEquals(0, x >>= x);
849
+ assertEquals(0, x &= (((x%((((((tmp = 1657446354.6820035, tmp)>>(-1916527001.2992697))/x)>>(tmp = 1450467955, tmp))&(277676820))+(x/(-945587805))))/((tmp = -690095354, tmp)^x))+(tmp = -2651195021, tmp)));
850
+ assertEquals(0, x <<= (752343428.2934296));
851
+ assertEquals(0, x /= (tmp = 3022310299, tmp));
852
+ assertEquals(0, x >>= (x%((388245402)>>>x)));
853
+ assertEquals(NaN, x %= x);
854
+ assertEquals(NaN, x %= ((tmp = 1205123529.8649468, tmp)>>>(-2848300932)));
855
+ assertEquals(0, x >>= ((x>>>x)<<(tmp = 487841938, tmp)));
856
+ assertEquals(0, x *= (((273436000.9463471)|(tmp = 141134074.27978027, tmp))^(tmp = 1220326800.7885802, tmp)));
857
+ assertEquals(1525600768, x |= (((x^(-2674777396))-(tmp = 1966360716.3434916, tmp))<<(794782595.9340223)));
858
+ assertEquals(761927595, x %= (tmp = -763673173, tmp));
859
+ assertEquals(1.1353588586934338, x /= ((x&((-1897159300.4789193)*(-348338328.0939896)))&(978680905.6470605)));
860
+ assertEquals(8.631173314966319e-10, x /= (1315416592));
861
+ assertEquals(0, x >>= ((tmp = -2581239435, tmp)-((-628818404.1122074)<<x)));
862
+ assertEquals(0, x -= x);
863
+ assertEquals(0, x *= (2925158236));
864
+ assertEquals(0, x /= (x+(tmp = 1405531594.0181243, tmp)));
865
+ assertEquals(0, x *= (2712022631.230831));
866
+ assertEquals(0, x >>= (tmp = 80518779.81608999, tmp));
867
+ assertEquals(1953477932.8046472, x += (tmp = 1953477932.8046472, tmp));
868
+ assertEquals(1953477932, x >>= (tmp = 3025539936, tmp));
869
+ assertEquals(1953477932, x -= ((-2675119685.8812313)>>(x/(-1808264410.9754841))));
870
+ assertEquals(1292620430, x += ((-660857502)%((((tmp = -698782819, tmp)%(tmp = 2847304199, tmp))<<(-2423443217.1315413))+x)));
871
+ assertEquals(78895, x >>>= x);
872
+ assertEquals(2, x >>= x);
873
+ assertEquals(2, x <<= (tmp = 1313641888.8301702, tmp));
874
+ assertEquals(1857416935.2532766, x += (tmp = 1857416933.2532766, tmp));
875
+ assertEquals(-1677721600, x <<= (tmp = -2482476902, tmp));
876
+ assertEquals(309226853.62854385, x -= (tmp = -1986948453.6285439, tmp));
877
+ assertEquals(33965156, x &= (2409088742));
878
+ assertEquals(Infinity, x /= (x-(x<<((x/(tmp = -3106546671.536726, tmp))/((tmp = 2695710176, tmp)-((((-2102442864)&(857636911.7079853))/x)%(-65640292)))))));
879
+ assertEquals(1270005091, x |= (tmp = 1270005091.0081215, tmp));
880
+ assertEquals(1270005091, x %= (tmp = -1833876598.2761571, tmp));
881
+ assertEquals(158750636, x >>>= x);
882
+ assertEquals(-1000809106.0879555, x -= (tmp = 1159559742.0879555, tmp));
883
+ assertEquals(72400936, x &= ((2448271389.3097963)%(tmp = 1517733861, tmp)));
884
+ assertEquals(282816, x >>= x);
885
+ assertEquals(282816, x %= (tmp = 3192677386, tmp));
886
+ assertEquals(0.00021521351827207216, x /= (1314118194.2040696));
887
+ assertEquals(Infinity, x /= (((tmp = 2822091386.1977024, tmp)&x)%(tmp = -3155658210, tmp)));
888
+ assertEquals(NaN, x %= (-359319199));
889
+ assertEquals(0, x >>>= (((tmp = -2651558483, tmp)-(x<<(tmp = 2537675226.941645, tmp)))<<(tmp = 667468049.0240343, tmp)));
890
+ assertEquals(-0, x *= (tmp = -2827980482.12998, tmp));
891
+ assertEquals(-0, x %= (((tmp = -689972329.3533998, tmp)>>>x)|(tmp = -7488144, tmp)));
892
+ assertEquals(0, x >>>= x);
893
+ assertEquals(0, x |= x);
894
+ assertEquals(-2410373675.2262926, x -= (2410373675.2262926));
895
+ assertEquals(1840423, x >>= ((-1081642113)^x));
896
+ assertEquals(-4829451429403412, x *= (-2624098606.35485));
897
+ assertEquals(-94552231, x %= (tmp = -97015883, tmp));
898
+ assertEquals(-94433287, x ^= (((tmp = -2297735280, tmp)&(((tmp = 2261074987.7072973, tmp)%((((2565078998)^(-2573247878))|x)|(((tmp = -2120919004.7239416, tmp)>>(tmp = -579224101, tmp))>>>(1905808441))))*(x|(3149383322))))>>(542664972)));
899
+ assertEquals(0, x ^= (x<<(tmp = -3112569312, tmp)));
900
+ assertEquals(0, x <<= (-2141934818.7052917));
901
+ assertEquals(0, x >>= (tmp = -2539525922, tmp));
902
+ assertEquals(-434467613, x ^= (tmp = -434467613, tmp));
903
+ assertEquals(-274792709, x |= (1233452601.462551));
904
+ assertEquals(-274726917, x |= (-2130333750));
905
+ assertEquals(-272629761, x |= (-1516071602.5622227));
906
+ assertEquals(-272629761, x |= ((tmp = 3012131694, tmp)&((tmp = -2595342375.8674774, tmp)-((tmp = -2710765792, tmp)>>>((x-(tmp = 2397845540, tmp))+(2496667307))))));
907
+ assertEquals(-4194305, x |= (1343705633.165825));
908
+ assertEquals(4190207, x >>>= ((tmp = 276587830, tmp)*((tmp = -1517753936, tmp)>>x)));
909
+ assertEquals(0, x >>= (x|((2247486919)-((-1664642412.4710495)*((((tmp = -358185292.17083216, tmp)-(tmp = -1472193444, tmp))*(tmp = 2699733752, tmp))&((x|(x<<(1137610148.1318119)))>>(((375089690.8764564)*x)&(tmp = 859788933.9560187, tmp))))))));
910
+ assertEquals(0, x %= (3080673960));
911
+ assertEquals(0, x >>>= (1328846190.1963305));
912
+ assertEquals(1249447579, x |= (-3045519717.580775));
913
+ assertEquals(-0.8743931060971377, x /= (-1428931187));
914
+ assertEquals(1, x |= ((tmp = -1756877535.7557893, tmp)/((-142900015.93200803)<<(1414557031.347334))));
915
+ assertEquals(759627265, x ^= (759627264.0514802));
916
+ assertEquals(741823, x >>= (1106391210));
917
+ assertEquals(610451, x &= ((x>>>((919849416)+((tmp = -427708986, tmp)^((x%x)|(tmp = -2853100288.932063, tmp)))))*x));
918
+ assertEquals(372650423401, x *= x);
919
+ assertEquals(410404493, x >>>= ((((-1425086765)>>>x)>>((2813118707.914771)>>(-424850240)))^x));
920
+ assertEquals(120511585729013, x *= ((tmp = -1889454669, tmp)>>>x));
921
+ assertEquals(120513295294304.22, x -= (tmp = -1709565291.2115698, tmp));
922
+ assertEquals(6164, x >>>= ((2244715719.397763)^(tmp = -741235818.6903033, tmp)));
923
+ assertEquals(937572790.468221, x -= (tmp = -937566626.468221, tmp));
924
+ assertEquals(937572790, x |= ((2129102867.156146)*(x%x)));
925
+ assertEquals(32, x &= ((2700124055.3712993)>>>((1977241506)>>>(-2915605511))));
926
+ assertEquals(32, x %= (tmp = -2513825862, tmp));
927
+ assertEquals(0, x <<= (-1379604802));
928
+ assertEquals(0, x >>>= (tmp = -1033248759, tmp));
929
+ assertEquals(-1151517050, x ^= (3143450246));
930
+ assertEquals(-180577, x |= ((738373819.4081701)^(-357134176)));
931
+ assertEquals(-0, x %= x);
932
+ assertEquals(-2086887759, x |= (tmp = 2208079537, tmp));
933
+ assertEquals(-2, x >>= (1460216478.7305799));
934
+ assertEquals(-2, x %= ((-1979700249.0593133)^(-3156454032.4790583)));
935
+ assertEquals(-256, x <<= ((1810316926)>>>(tmp = 414362256, tmp)));
936
+ assertEquals(-1, x >>= (((((((-1616428585.595561)*((tmp = 2574896242.9045777, tmp)|(86659152.37838173)))>>(((tmp = 2476869361, tmp)&((x+((tmp = -2445847462.1974697, tmp)>>(tmp = -1960643509.5255682, tmp)))+(x|(((((2231574372.778028)|(tmp = 1824767560, tmp))>>>((1108035230.2692142)|(tmp = 2354035815, tmp)))/((tmp = -2602922032, tmp)>>(-925080304.7681987)))-x))))-(x>>x)))>>>((tmp = 751425805.8402164, tmp)|(tmp = 1165240270.3437088, tmp)))-x)*(2870745939))-(x>>>((tmp = 2986532631.405425, tmp)>>>(((tmp = 2547448699, tmp)+(((((x<<(((((-2756908638.4197435)>>>(3134770084))-(-1147872642.3756688))%(x*(tmp = -282198341.6600039, tmp)))+(-770969864.2055655)))+((-2725270341)^x))/(-3093925722))>>(x&x))>>((tmp = -2705768192, tmp)>>>(((tmp = 577253091.6042917, tmp)/(((x&(((((x+x)>>>(-1000588972))/(x&(717414336)))^(tmp = 428782104.21504414, tmp))>>>(1084724288.953223)))%(tmp = -2130932217.4562194, tmp))&x))-(-286367389)))))+((x>>(tmp = 2001277117, tmp))>>((tmp = 1028512592, tmp)^((tmp = 2055148650, tmp)+((tmp = 1490798399, tmp)/(tmp = -2077566434.2678986, tmp))))))))));
937
+ assertEquals(-1, x |= (tmp = 1542129482, tmp));
938
+ assertEquals(-671816743, x &= (tmp = -671816743.9111726, tmp));
939
+ assertEquals(-1840333080, x -= (1168516337));
940
+ assertEquals(-1755382023, x |= ((((tmp = 2625163636.0142937, tmp)>>>((tmp = 1534304735, tmp)^x))-(tmp = -1959666777.9995313, tmp))%x));
941
+ assertEquals(-1750421896, x += (x>>>(tmp = -1364828055.1003118, tmp)));
942
+ assertEquals(-72864007, x %= (tmp = 239651127, tmp));
943
+ assertEquals(-72863956, x -= (((tmp = -1103261657.626319, tmp)*((tmp = 2789506613, tmp)+((tmp = 2294239314, tmp)>>>(2588428607.5454817))))>>x));
944
+ assertEquals(-170337477, x -= (tmp = 97473521, tmp));
945
+ assertEquals(-170337477, x |= (((tmp = 246292300.58998203, tmp)/(((tmp = -2664407492, tmp)|((-2416228818)^(tmp = 909802077, tmp)))%(tmp = 532643021.68109465, tmp)))/(tmp = 1015597843.8295637, tmp)));
946
+ assertEquals(1, x >>>= (((tmp = -2247554641.7422867, tmp)/(1186555294))%(tmp = -785511772.3124621, tmp)));
947
+ assertEquals(1188939891.668705, x -= (tmp = -1188939890.668705, tmp));
948
+ assertEquals(1188939891, x &= x);
949
+ assertEquals(1188413555, x &= (((tmp = -372965330.5709038, tmp)%(((tmp = 3108909487, tmp)|(x^(-1056955571.9951684)))^(-1549217484.009048)))/(x>>>(1403428437.9368362))));
950
+ assertEquals(-0.7343692094664643, x /= (-1618278026.4758227));
951
+ assertEquals(0, x -= x);
952
+ assertEquals(0, x &= (-2701762139.7500515));
953
+ assertEquals(0, x >>>= (((-1692761485.2299166)^x)+(tmp = -1221349575.938864, tmp)));
954
+ assertEquals(0, x <<= ((2148160230)<<x));
955
+ assertEquals(0, x <<= (((x<<(-740907931.38363))&(tmp = -930960051.6095045, tmp))>>(x/((tmp = -1921545150.1239789, tmp)/(-3015379806)))));
956
+ assertEquals(0, x <<= x);
957
+ assertEquals(NaN, x /= (x|x));
958
+ assertEquals(0, x >>= (tmp = -2265988773, tmp));
959
+ assertEquals(-0, x *= (((x<<(-928153614))<<(-989694208))^(2544757713.481016)));
960
+ assertEquals(0, x >>= ((tmp = 578009959.5299993, tmp)>>x));
961
+ assertEquals(0, x /= ((((tmp = 412689800.0431709, tmp)&(1630886276))*(tmp = 2028783080.7296097, tmp))/x));
962
+ assertEquals(0, x |= ((((x*(-2197198786))>>((2719887264.761987)<<(tmp = 2253246512, tmp)))-(tmp = -150703768.07045603, tmp))/(((-3160098146)%(((((1486098047.843547)>>(((tmp = -593773744.1144242, tmp)&(x<<(2651087978)))|((-680492758.930413)>>(tmp = 88363052.13662052, tmp))))<<x)<<(tmp = 2232672341, tmp))/((x<<x)&(((((348589117.64135563)<<(-1010050456.3097556))^(x/(tmp = -2282328795, tmp)))-(tmp = 1653716293, tmp))-((3157124731)/((tmp = 3007369535.341745, tmp)%(tmp = -2246556917, tmp)))))))+x)));
963
+ assertEquals(0, x >>= ((1935211663.5568764)>>(x-(tmp = 2116580032, tmp))));
964
+ assertEquals(-1725272693, x ^= (tmp = -1725272693, tmp));
965
+ assertEquals(313683, x >>>= (-1782632531.2877684));
966
+ assertEquals(0.009772287443565642, x /= (tmp = 32099240, tmp));
967
+ assertEquals(-647945916.9902277, x += (-647945917));
968
+ assertEquals(3647021380, x >>>= ((((((((2470411371.688199)<<x)>>x)-(x>>>((tmp = 1750747780, tmp)/x)))-x)<<(tmp = -2666186351.695101, tmp))^(((tmp = 2749205312.6666174, tmp)%x)&(2069802830.360536)))<<(tmp = 6051917.9244532585, tmp)));
969
+ assertEquals(-647939220, x |= ((x>>>((tmp = -2980404582.794245, tmp)>>>(-996846982)))^x));
970
+ assertEquals(-572178450, x |= ((-800571300.3277931)+(tmp = 2084365671, tmp)));
971
+ assertEquals(1172311208, x &= (x&((tmp = -1207487657.8953774, tmp)^x)));
972
+ assertEquals(12176516458994, x += ((((tmp = -1534997221, tmp)%(412142731))*((tmp = 2958726303, tmp)>>(1489169839)))+(((-574726407.2051775)>>>(((1772885017)<<(947804536.9958035))>>(-2406844737)))>>x)));
973
+ assertEquals(-1480065024, x <<= x);
974
+ assertEquals(-1736999042.227129, x += (tmp = -256934018.22712898, tmp));
975
+ assertEquals(-1338699394, x ^= ((((((x%(((tmp = -2551168455.222048, tmp)|(3213507293.930222))/((-1559278033)>>((tmp = 3107774495.3698573, tmp)-(2456375180.8660913)))))*((x*(tmp = 1088820004.8562922, tmp))+((tmp = 1850986704.9836102, tmp)%(tmp = -1226590364, tmp))))*(1786192008))&(((2193303940.310299)%(tmp = 1041726867.0602217, tmp))|((2210722848)/((-1293401295.6714435)&((tmp = 3052430315, tmp)|x)))))>>>(tmp = -2028014470.1524236, tmp))+(((1695818039.0383925)<<((1669068145)*(-2746592133.899276)))<<(tmp = 519092169, tmp))));
976
+ assertEquals(-334674849, x >>= (1170377794));
977
+ assertEquals(-10214, x >>= ((tmp = 1074704264.3712895, tmp)>>>((tmp = -1200860192, tmp)^((tmp = 539325023.4101218, tmp)*((tmp = -588989295, tmp)|x)))));
978
+ assertEquals(1384169472, x &= (1384171140));
979
+ assertEquals(1384169472, x >>>= ((tmp = -2161405973.830981, tmp)*(tmp = 2054628644, tmp)));
980
+ assertEquals(1610140972, x |= (527961388));
981
+ assertEquals(1073273198, x += ((tmp = -259650225.71344328, tmp)&(tmp = -344359694, tmp)));
982
+ assertEquals(65507, x >>= ((x<<((tmp = 2925070713.5245204, tmp)%(x+((tmp = -1229447799, tmp)/(((x/(x|(((-2337139694)|((((((2996268529.7965417)&x)%(((tmp = -1088587413, tmp)>>(-1384104418.90339))>>((tmp = -1643984822.3946526, tmp)+x)))%(((1118125268.4540217)-((((-1975051668.6652594)-(-704573232))+((tmp = 1674952373, tmp)/(tmp = 1321895696.0062659, tmp)))*(tmp = 1820002533.2021284, tmp)))>>>(tmp = -583960746.9993203, tmp)))|((tmp = -2577675508.550925, tmp)&x))/(tmp = 1459790066, tmp)))/(((((1051712301.7804044)&(tmp = -2726396354, tmp))^(tmp = 263937254.18934345, tmp))+(((x^x)*(((tmp = -2289491571, tmp)+x)%(-2239181148)))&x))>>(tmp = -1743418186.3030887, tmp)))))/(tmp = 1475718622, tmp))<<x)))))|(x&((((tmp = -2934707420, tmp)<<x)/x)^(1022527598.7386684)))));
983
+ assertEquals(2047, x >>= (x-(tmp = 2300626270, tmp)));
984
+ assertEquals(8384512, x <<= (tmp = -1917680820, tmp));
985
+ assertEquals(0, x <<= (2393691134));
986
+ assertEquals(0, x >>= x);
987
+ assertEquals(649995936.5853252, x -= (tmp = -649995936.5853252, tmp));
988
+ assertEquals(649995936, x &= x);
989
+ assertEquals(-0.33672017582945424, x /= (tmp = -1930374188, tmp));
990
+ assertEquals(-0.33672017582945424, x += (x&((1208055031)^(-2761287670.968586))));
991
+ assertEquals(0, x |= x);
992
+ assertEquals(0, x <<= ((-2038368978)/x));
993
+ assertEquals(0, x >>= (x&((tmp = 2481378057.738218, tmp)&(x+(1172701643)))));
994
+ assertEquals(0, x <<= ((x*(((((((tmp = 70690601.3046323, tmp)&(((((((((((x+(x+(x^(3118107461))))<<(264682213.41888392))&(tmp = -709415381.8623683, tmp))%(((((-1840054964)>>>(tmp = -405893120.89603686, tmp))|((-625507229)^(3128979265)))>>(x>>((tmp = -2480442390, tmp)*((x>>(tmp = -421414980.88330936, tmp))>>>((tmp = 1850868592, tmp)&(-2948543832.879225))))))|((2986545185)&((tmp = -1947550706, tmp)%(((tmp = 2590238422.1414256, tmp)/(((tmp = -361038812, tmp)>>x)|(((tmp = 1798444068, tmp)|((x&((tmp = -3104542069, tmp)-x))*((tmp = -1158658918, tmp)+((tmp = 2777031040.5552707, tmp)<<(-2816019335.9008327)))))<<x)))/(((2287795988.231702)/x)/(((-2588712925)>>>(2521189250))*((tmp = -2533527920, tmp)+(tmp = 1762281307.2162101, tmp)))))))))/x)/(tmp = 1047121955.5357032, tmp))|(((-121292251)<<(x^(x-(tmp = 1420006180, tmp))))%((-2278606219)>>>(((tmp = -1412487726, tmp)&(((((tmp = 253596554.16016424, tmp)/(tmp = 2083376247.0079951, tmp))^(x^((1549116789.8449988)>>>((((-1844170084)^(tmp = 1886066422, tmp))&x)<<(34918329)))))^(tmp = -440805555.3369155, tmp))-x))%(-1936512969)))))+(2911511178.4035435))|(1012059391))|(x>>>(tmp = -2551794626.158037, tmp)))+((2926596072.210515)/(tmp = -280299595.0450909, tmp))))&((tmp = 1501086971, tmp)^(tmp = 2114076983, tmp)))-((-1679390574.1466925)-(941349044)))-((x>>x)>>((-2600539474.2033434)+(tmp = 2567056503.9079475, tmp))))*(tmp = 1285896052, tmp))%(((tmp = 1191465410.7595167, tmp)>>((tmp = -2857472754, tmp)%x))>>>(((tmp = 1960819627.6552541, tmp)&(-2651207221.127376))*((((-687312743)+((x>>x)<<x))|((((((1549588195)*((tmp = 2733091019, tmp)^((527322540)<<(x>>x))))%(tmp = -2063962943, tmp))*x)*(734060600))&(-3049417708)))+(((((1084267726)+((x|x)^((tmp = -1917070472.4858549, tmp)%((690016078.9375831)*x))))%((((((tmp = -2091172769, tmp)%(2532365378))>>>(-871354260))/(tmp = 254167019.07825458, tmp))&(1330216175.9871218))>>(tmp = 1931099207, tmp)))^(-1116448185.2618852))>>((961660080.8135855)/x)))))))>>>(-1486048007.7053368)));
995
+ assertEquals(0, x >>= x);
996
+ assertEquals(0, x %= (tmp = -1202200444.6506357, tmp));
997
+ assertEquals(-0, x *= (-527500796.4145117));
998
+ assertEquals(0, x >>= (tmp = -2082822707, tmp));
999
+ assertEquals(0, x *= ((-1882398459.290778)>>>x));
1000
+ assertEquals(0, x &= (x/(tmp = -1569332286.392817, tmp)));
1001
+ assertEquals(-390169607, x |= (-390169607.11600184));
1002
+ assertEquals(-780339214, x += x);
1003
+ assertEquals(-780339214, x %= (2765959073));
1004
+ assertEquals(-5954, x >>= (tmp = -1900007055, tmp));
1005
+ assertEquals(743563420, x &= ((((-1520146483.5367205)|(-2075330284.3762321))-(tmp = -2263151872, tmp))%(-1264641939.957402)));
1006
+ assertEquals(1487126840, x += (x>>>(((x+((tmp = -1263274491, tmp)>>>x))&(470419048.0490037))%(tmp = -2642587112, tmp))));
1007
+ assertEquals(Infinity, x /= (x^x));
1008
+ assertEquals(0, x ^= ((tmp = -1436368543, tmp)+(x/(tmp = -1125415374.3297129, tmp))));
1009
+ assertEquals(0, x += x);
1010
+ assertEquals(0, x <<= x);
1011
+ assertEquals(0, x &= (tmp = 3101147204.2905564, tmp));
1012
+ assertEquals(0, x &= (tmp = 2914487586.606511, tmp));
1013
+ assertEquals(0, x += x);
1014
+ assertEquals(0, x -= (((-1738542908.6138556)&(((x+x)-(tmp = -2801153969, tmp))%(tmp = -1206684064.1477358, tmp)))>>((-2575546469.271897)|(tmp = -2573119106, tmp))));
1015
+ assertEquals(-1468808707, x ^= (tmp = -1468808707, tmp));
1016
+ assertEquals(1357349882, x <<= (tmp = -2808501087.7003627, tmp));
1017
+ assertEquals(-572025862, x |= ((((tmp = -2415486246.573399, tmp)/((tmp = -707895732.4593301, tmp)&x))%((-1960091005.0425267)*(972618070.9166157)))-(1649962343)));
1018
+ assertEquals(327213586796843100, x *= (x%(1337884626)));
1019
+ assertEquals(42991616, x &= (-2905576654.1280055));
1020
+ assertEquals(-26049289585042860, x *= (-605915571.6557121));
1021
+ assertEquals(597809748, x >>= ((362850791.077795)/(tmp = 1222777657.4401796, tmp)));
1022
+ assertEquals(597809748, x |= x);
1023
+ assertEquals(770065246, x -= ((-711227660)|(tmp = -508554506, tmp)));
1024
+ assertEquals(593000483097040500, x *= x);
1025
+ assertEquals(0, x %= x);
1026
+ assertEquals(0, x <<= (317862995.456813));
1027
+ assertEquals(0, x >>= ((tmp = 2518385735, tmp)+((-2973864605.267604)/(-930953312.718833))));
1028
+ assertEquals(1227822411, x ^= (x^(1227822411.8553264)));
1029
+ assertEquals(1090520320, x &= (x+((((-2100097959)>>(x/(tmp = -2002285068, tmp)))/(-364207954.9242482))-((tmp = 2771293106.7927113, tmp)-(tmp = -847237774, tmp)))));
1030
+ assertEquals(1090520320, x >>= (((((2439492849)<<((-2932672756.2578926)*((743648426.7224461)+((2942284935)<<((x/(((tmp = 886289462.6565771, tmp)+(-459458622.7475352))>>(tmp = -785521448.4979162, tmp)))|(tmp = -11630282.877367258, tmp))))))-(tmp = -647511106.9602091, tmp))^x)&x));
1031
+ assertEquals(115944291.48829031, x %= (243644007.12792742));
1032
+ assertEquals(1, x /= x);
1033
+ assertEquals(0, x >>>= ((tmp = -819782567, tmp)%(tmp = 2774793208.1994505, tmp)));
1034
+ assertEquals(0, x >>= (tmp = 721096000.2409859, tmp));
1035
+ assertEquals(0, x &= ((x%x)%x));
1036
+ assertEquals(-0, x *= ((-1670466344)<<x));
1037
+ assertEquals(0, x >>= (-677240844.904707));
1038
+ assertEquals(NaN, x %= (((((-1575993236.6126876)/(-2846264078.9581823))^((((-2220459664)-(((-1809496020)>>>(tmp = -3015964803.4566207, tmp))&x))/(tmp = -3081895596.0486784, tmp))>>>(x&x)))%(x^(-1338943139)))^(x-((((2074140963.2841332)^(tmp = 1878485274, tmp))%(((x/(-2568856967.6491556))^x)<<((x+x)^((((2139002721)|(x<<(-1356174045.840464)))>>x)-(tmp = 2305062176, tmp)))))>>>(((((x<<(tmp = -1663280319.078543, tmp))-((1498355849.4158854)-((-1321681257)>>>(tmp = -1321415088.6152222, tmp))))^(-2266278142.1584673))+(858538943))&((((x-((x|(((tmp = -1576599651, tmp)+((tmp = 1595319586, tmp)&(-2736785205.9203863)))>>((x+((-1856237826)+x))<<(tmp = -1590561854.3540869, tmp))))^(((-41283672.55606127)&(tmp = 2971132248, tmp))+x)))/(-849371349.1667476))%(x*((-1705070934.6892798)>>>x)))<<((2418200640)*x)))))));
1039
+ assertEquals(0, x >>>= (tmp = 664214199.5283061, tmp));
1040
+ assertEquals(0, x <<= ((-2827299151)<<(1815817649)));
1041
+ assertEquals(1405772596, x |= (tmp = 1405772596, tmp));
1042
+ assertEquals(-1483422104, x <<= (-2791499935.6822596));
1043
+ assertEquals(-45271, x >>= (1740128943.4254808));
1044
+ assertEquals(-45271, x <<= ((2072269957)-((tmp = -2553664811.4472017, tmp)*(tmp = -2502730352, tmp))));
1045
+ assertEquals(1192951471.6745887, x -= (-1192996742.6745887));
1046
+ assertEquals(-353370112, x <<= (tmp = -1410280844, tmp));
1047
+ assertEquals(0, x ^= (x%((2754092728)*(-1017564599.1094015))));
1048
+ assertEquals(-2662096003.2397957, x -= (tmp = 2662096003.2397957, tmp));
1049
+ assertEquals(-2587094028.50764, x -= (tmp = -75001974.7321558, tmp));
1050
+ assertEquals(6693055512339889000, x *= x);
1051
+ assertEquals(897526784, x %= (x-((tmp = 897526813, tmp)%(-1525574090))));
1052
+ assertEquals(7011928, x >>= ((-440899641.344357)%x));
1053
+ assertEquals(8382047686388683, x += (x*(1195398423.8538609)));
1054
+ assertEquals(16764095372777366, x += x);
1055
+ assertEquals(16764096859576696, x -= (tmp = -1486799329.7207344, tmp));
1056
+ assertEquals(16764099774187724, x += (2914611029));
1057
+ assertEquals(16764102926624664, x -= (-3152436939.724612));
1058
+ assertEquals(-538220648, x |= x);
1059
+ assertEquals(269110324, x /= (((-2114698894.6014318)/(tmp = 767687453, tmp))>>(623601568.1558858)));
1060
+ assertEquals(256, x >>= x);
1061
+ assertEquals(-293446891, x += (x+(-293447403)));
1062
+ assertEquals(119, x >>>= ((1759400753)>>(2481263470.4489403)));
1063
+ assertEquals(14, x >>= (762849027.89693));
1064
+ assertEquals(16, x += (x&(x>>(1104537666.1510491))));
1065
+ assertEquals(-12499808227.980995, x *= (tmp = -781238014.2488122, tmp));
1066
+ assertEquals(1, x /= x);
1067
+ assertEquals(1, x &= x);
1068
+ assertEquals(0, x >>>= ((tmp = 1513381008, tmp)|(tmp = 1593208075.7259543, tmp)));
1069
+ assertEquals(0, x &= (-788154636.2843091));
1070
+ assertEquals(-0, x /= (tmp = -2124830879, tmp));
1071
+ assertEquals(0, x &= (934237436));
1072
+ assertEquals(0, x |= x);
1073
+ assertEquals(-79370942.97651315, x += (-79370942.97651315));
1074
+ assertEquals(-79370942.97651315, x %= ((tmp = -2683255523, tmp)<<(tmp = 2323123280.287587, tmp)));
1075
+ assertEquals(-79370942, x |= x);
1076
+ assertEquals(0.05861647801688159, x /= (-1354072177.061561));
1077
+ assertEquals(0, x <<= (((((((tmp = 1989257036, tmp)&(tmp = 1565496213.6578887, tmp))&x)&(tmp = -2798643735.905287, tmp))&(2354854813.43784))%(tmp = 1118124748, tmp))<<((tmp = 2453617740, tmp)*(((tmp = 1762604500.492329, tmp)<<(-2865619363))%(((2474193854.640994)|((tmp = 1425847419.6256948, tmp)|(((-1271669386)%((x|((tmp = -2059795445.3607287, tmp)+x))*(x*x)))>>>(tmp = -2997360849.0750895, tmp))))/(tmp = 2326894252, tmp))))));
1078
+ assertEquals(0, x >>>= ((-671325215)/((-727408755.8793397)>>(tmp = 315457854, tmp))));
1079
+ assertEquals(0, x >>= (x&x));
1080
+ assertEquals(0, x <<= ((x/x)>>>(((((x&x)-((x*(((tmp = -2689062497.0087833, tmp)^x)/((-1465906334.9701924)<<(tmp = -349000262, tmp))))*x))%(1630399442.5429945))*x)+((tmp = 605234630, tmp)%(tmp = 2325750892.5065155, tmp)))));
1081
+ assertEquals(0, x |= (x%((x>>(((((tmp = 1622100459, tmp)<<x)&((((((tmp = 2411490075, tmp)<<x)|x)>>((x<<x)-(-2133780459)))/x)&(x+x)))%(x/((((tmp = 580125125.5035453, tmp)>>>(-470336002.1246581))|((tmp = 871348531, tmp)*x))>>(2866448831.23781))))-((2352334552)-(-562797641.6467373))))-(x^(tmp = -681731388, tmp)))));
1082
+ assertEquals(0, x <<= (tmp = -1358347010.3729038, tmp));
1083
+ assertEquals(-260967814, x |= ((tmp = -260967814.45976686, tmp)%(tmp = 1126020255.1772437, tmp)));
1084
+ assertEquals(NaN, x %= ((((tmp = 3176388281, tmp)<<(tmp = 611228283.2600244, tmp))>>>((tmp = 3068009824, tmp)+(tmp = 2482705111, tmp)))>>>((tmp = -750778285.2580311, tmp)>>>x)));
1085
+ assertEquals(0, x <<= (x>>>x));
1086
+ assertEquals(0, x /= (1238919162));
1087
+ assertEquals(0, x >>= (x^x));
1088
+ assertEquals(0, x &= (-2137844801));
1089
+ assertEquals(0, x >>>= (x^(x*(-1774217252))));
1090
+ assertEquals(0, x >>= x);
1091
+ assertEquals(0, x |= x);
1092
+ assertEquals(0, x &= (x<<(tmp = 2791377560, tmp)));
1093
+ assertEquals(-1330674638.8117397, x += (tmp = -1330674638.8117397, tmp));
1094
+ assertEquals(353, x >>>= (-212202857.4320326));
1095
+ assertEquals(353, x ^= ((((x+(tmp = 1448262278, tmp))-(-3141272537))>>(tmp = 1116596587.7832575, tmp))>>>((x-(((tmp = 303953098, tmp)>>>((tmp = 691514425, tmp)/((176223098)*(((2876180016)%(-1805235275.892374))|x))))<<(((tmp = 528736141.838547, tmp)^(2556817082))*(2898381286.2846575))))|((-1445518239)&(tmp = 389789481.9604758, tmp)))));
1096
+ assertEquals(0, x >>>= (-227376461.14343977));
1097
+ assertEquals(0, x <<= (tmp = -2575967504, tmp));
1098
+ assertEquals(0, x <<= (x^((-2668391896)>>((x+(tmp = 598697235.9205595, tmp))+((((-2105306785)|((-1174912319.794015)>>>(x-((148979923)%((((tmp = -2459140558.4436393, tmp)|(1265905916.494016))^(tmp = 1213922357.2230597, tmp))|(1028030636))))))%x)+(((tmp = 1393280827.0135512, tmp)^((tmp = 1210906638, tmp)+(-1572777641.1396031)))<<x))))));
1099
+ assertEquals(0, x *= (tmp = 2134187165, tmp));
1100
+ assertEquals(-1084549964, x -= (tmp = 1084549964, tmp));
1101
+ assertEquals(-2045706240, x &= ((tmp = -1250758905.7889671, tmp)*(x+(((x<<(x/(tmp = -738983664.845448, tmp)))>>>x)&(tmp = 2197525295, tmp)))));
1102
+ assertEquals(-2045706240, x ^= (((522049712.14743733)>>(tmp = -2695628092, tmp))>>>(tmp = -2603972068, tmp)));
1103
+ assertEquals(2249261056, x >>>= x);
1104
+ assertEquals(-33291, x |= ((((1891467762)<<(184547486.213719))-((458875403.50689447)^(((x&(x*x))|x)%(-3127945140))))|(-100765232)));
1105
+ assertEquals(-33291, x %= (1460486884.1367688));
1106
+ assertEquals(-1, x >>= (tmp = -2667341441, tmp));
1107
+ assertEquals(-3.6289151568259606e-10, x /= (tmp = 2755644474.4072013, tmp));
1108
+ assertEquals(-3.6289151568259606e-10, x %= (tmp = 1186700893.0751028, tmp));
1109
+ assertEquals(0, x <<= (tmp = -1199872107.9612694, tmp));
1110
+ assertEquals(371216449, x ^= ((tmp = 371324611.1357789, tmp)&(x-(x|((tmp = -518410357, tmp)>>((tmp = 687379733, tmp)/x))))));
1111
+ assertEquals(0.3561383159088311, x /= (((((x%(((((-2293101242)%((((495316779)/x)-((-3198854939.8857965)>>>((tmp = -288916023, tmp)-(x^(tmp = -2504080119.431858, tmp)))))^(-1201674989)))-((2965433901)*(405932927)))/((1974547923)|(tmp = 534069372, tmp)))-(x-((x+(-1258297330))%x))))<<(((-2648166176.4947824)^(-3043930615))&(1550481610)))<<(tmp = -3118264986.743822, tmp))<<x)|x));
1112
+ assertEquals(-46272499.15029934, x -= (tmp = 46272499.50643766, tmp));
1113
+ assertEquals(-6, x >>= ((tmp = -731454087.0621192, tmp)>>>x));
1114
+ assertEquals(-2.7207928474520667e-9, x /= (((x<<(x|((tmp = -1650731700.9540024, tmp)/(tmp = -677823292, tmp))))^((((((1972576122.928667)>>x)%(2952412902.115453))<<((-2888879343)+(tmp = -425663504, tmp)))>>>(((((tmp = 1089969932, tmp)>>>(x|((-2088509661)/(1131470551))))>>>x)+x)|(tmp = 955695979.7982506, tmp)))|(((((tmp = 826954002.6188571, tmp)^(2016485728))|((x/(((x<<(tmp = 2493217141, tmp))/(-2259979800.997408))-(tmp = -427592173.41389966, tmp)))%(((-471172918)/x)>>>((383234436.16425097)&(tmp = 1664411146.5308032, tmp)))))*(tmp = 1863669754.7545495, tmp))*(x>>(2062197604)))))>>>((x-(2624545856))*(tmp = 1025803102, tmp))));
1115
+ assertEquals(0, x >>= ((tmp = 1068702028, tmp)*(296106770)));
1116
+ assertEquals(0, x ^= (x/x));
1117
+ assertEquals(85359536, x ^= (((x|(((tmp = 740629227, tmp)<<(-1107397366))%((tmp = 2315368172, tmp)>>(((-2269513683)|(-2698795048))+(-396757976)))))*(929482738.803125))^(((-1415213955.4198723)-(tmp = -2885808324, tmp))>>>((tmp = -472842353.85736656, tmp)&(tmp = 1684231312.4497018, tmp)))));
1118
+ assertEquals(2075131904, x <<= x);
1119
+ assertEquals(123, x >>>= (x>>>(tmp = 754093009, tmp)));
1120
+ assertEquals(0, x >>= ((-2690948145)/((1988638799)+x)));
1121
+ assertEquals(0, x >>>= (tmp = -798849903.2467625, tmp));
1122
+ assertEquals(NaN, x %= x);
1123
+ assertEquals(NaN, x *= (2431863540.4609756));
1124
+ assertEquals(484934656, x |= ((-2322193663)*(tmp = -2754666771, tmp)));
1125
+ assertEquals(-82505091404694530, x *= (tmp = -170136513, tmp));
1126
+ assertEquals(-82505090515370620, x += ((-148762237)&(tmp = 889417717, tmp)));
1127
+ assertEquals(-908221124, x %= (tmp = -2346393300, tmp));
1128
+ assertEquals(-1242515799, x ^= (2083328917));
1129
+ assertEquals(-1126056310271520600, x *= ((((tmp = -3065605442, tmp)<<(-3012703413))|x)^(-2081329316.4781387)));
1130
+ assertEquals(-1126056309941068000, x += ((((tmp = 1886925157, tmp)&((tmp = -163003119.31722307, tmp)/((tmp = 2094816076, tmp)>>((tmp = -706947027, tmp)^x))))^((1819889650.5261197)<<(-1641091933)))>>x));
1131
+ assertEquals(-1864360191, x |= (((x/x)|x)|x));
1132
+ assertEquals(-1864360191, x &= x);
1133
+ assertEquals(-3728720382, x += x);
1134
+ assertEquals(1042663165, x ^= (535165183.4230335));
1135
+ assertEquals(2644530017.8833704, x += (1601866852.8833704));
1136
+ assertEquals(-574949401, x |= ((tmp = 943193254.5210983, tmp)^((x%(tmp = -2645213497, tmp))*(-1904818769))));
1137
+ assertEquals(1763223578, x ^= ((x^(tmp = -2244359016, tmp))^(tmp = 320955522, tmp)));
1138
+ assertEquals(-1.9640961474334235, x /= (tmp = -897727731.0502782, tmp));
1139
+ assertEquals(1, x >>>= (x-(-3183031393.8967886)));
1140
+ assertEquals(1, x &= (tmp = 1732572051.4196641, tmp));
1141
+ assertEquals(1, x >>= (-1642797568));
1142
+ assertEquals(-2339115203.3140306, x += (-2339115204.3140306));
1143
+ assertEquals(1955852093, x ^= (((((-1469402389)/(-2648643333.1454573))>>>x)<<(x/x))>>x));
1144
+ assertEquals(-965322519, x ^= (3001399252));
1145
+ assertEquals(-2139727840, x &= (tmp = 2298411812.964484, tmp));
1146
+ assertEquals(2103328, x &= (tmp = -2488723009, tmp));
1147
+ assertEquals(1799011007, x |= (tmp = -2498057537.226923, tmp));
1148
+ assertEquals(1799011007, x |= ((-308193085)>>>x));
1149
+ assertEquals(1799011007, x |= x);
1150
+ assertEquals(818879107, x ^= (1542823996.423564));
1151
+ assertEquals(-2601416919234843600, x *= ((-2357923057.076759)-x));
1152
+ assertEquals(-2601416920481796600, x -= (x|(tmp = -3048039765, tmp)));
1153
+ assertEquals(-33690112, x <<= x);
1154
+ assertEquals(1039491072, x &= (tmp = 1039491474.3389125, tmp));
1155
+ assertEquals(126891, x >>= (-3079837011.6151257));
1156
+ assertEquals(-163191923097543, x *= (((tmp = -2847221258.4048786, tmp)*(x-(tmp = 1527622853.5925639, tmp)))^x));
1157
+ assertEquals(753616551, x ^= (-946895202));
1158
+ assertEquals(-347691264, x <<= (tmp = -433184408.33790135, tmp));
1159
+ assertEquals(0, x <<= (x|(tmp = -1911731462.6835637, tmp)));
1160
+ assertEquals(-0, x *= (tmp = -2616154415.1662617, tmp));
1161
+ assertEquals(0, x >>= x);
1162
+ assertEquals(0, x -= x);
1163
+ assertEquals(0, x *= (2272504250.501526));
1164
+ assertEquals(0, x ^= x);
1165
+ assertEquals(NaN, x %= x);
1166
+ assertEquals(0, x >>>= (2475346113));
1167
+ assertEquals(NaN, x /= (((x+(-2646140897))&(((tmp = 1039073714.142481, tmp)-x)*x))|(x*(((-1277822905.773948)>>(tmp = 2035512354.2400663, tmp))*(77938193.80013895)))));
1168
+ assertEquals(0, x ^= (x<<(tmp = 2491934268, tmp)));
1169
+ assertEquals(0, x &= (tmp = 569878335.4607931, tmp));
1170
+ assertEquals(-88575883, x ^= ((453890820.8012209)-((1569189876)%((-1280613677.7083852)^(-1902514249.29567)))));
1171
+ assertEquals(-88575883, x %= (tmp = 257947563.19206762, tmp));
1172
+ assertEquals(-88575881.7863678, x -= ((tmp = 1257547359.029678, tmp)/(x^(tmp = 948265672.821815, tmp))));
1173
+ assertEquals(-169, x >>= (tmp = -2530523309.6703596, tmp));
1174
+ assertEquals(-1, x >>= x);
1175
+ assertEquals(-1, x |= x);
1176
+ assertEquals(131071, x >>>= (-673590289));
1177
+ }
1178
+ f();