{"ScriptPreparationCode":"var bigInt32 = 2n ** 24n;\r\nvar bigInt64 = 2n ** 40n;\r\nvar bigInt128 = 2n ** 80n;\r\nvar bigIntNum = 2n;\r\n\r\nvar int32 = 2 ** 10;\r\nvar int64 = 2 ** 40;\r\nvar float = Math.fround(2 ** 20);\r\nvar double = 2 ** 80;\r\nvar intNum = 2;\r\n\r\nconst imul = Math.imul\r\nconst fround = Math.fround","TestCases":[{"Name":"BigInt (32)","Code":"let a = bigInt32;\r\nlet b = bigIntNum;\r\nlet c_sub, c_mod, c_mul, c_add;\r\nc_sub = a - b;\r\nc_mod = a % b;\r\nc_mul = a * b;\r\nc_add = a \u002B b;","IsDeferred":false},{"Name":"BigInt (64)","Code":"let a = bigInt64;\r\nlet b = bigIntNum;\r\nlet c_sub, c_mod, c_mul, c_add;\r\nc_sub = a - b;\r\nc_mod = a % b;\r\nc_mul = a * b;\r\nc_add = a \u002B b;","IsDeferred":false},{"Name":"BigInt (128)","Code":"let a = bigInt128;\r\nlet b = bigIntNum;\r\nlet c_sub, c_mod, c_mul, c_add;\r\nc_sub = a - b;\r\nc_mod = a % b;\r\nc_mul = a * b;\r\nc_add = a \u002B b;","IsDeferred":false},{"Name":"Number (Int32)","Code":"let a = int32;\r\nlet b = intNum;\r\nlet c_sub, c_mod, c_mul, c_add;\r\nc_sub = a - b;\r\nc_mod = a % b;\r\nc_mul = a * b;\r\nc_add = a \u002B b;","IsDeferred":false},{"Name":"Number (Int32 asm.js)","Code":"\u0022use asm\u0022;\r\nlet a = int32 | 0;\r\nlet b = intNum | 0;\r\nlet c_sub, c_mod, c_mul, c_add;\r\nc_sub = (a - b) | 0;\r\nc_mod = (a % b) | 0;\r\nc_mul = imul(a, b);\r\nc_add = (a \u002B b) | 0;","IsDeferred":false},{"Name":"Number (maybe Int64)","Code":"let a = int64;\r\nlet b = intNum;\r\nlet c_sub, c_mod, c_mul, c_add;\r\nc_sub = a - b;\r\nc_mod = a % b;\r\nc_mul = a * b;\r\nc_add = a \u002B b;","IsDeferred":false},{"Name":"Number (Float asm.js)","Code":"\u0022use asm\u0022;\r\nlet a = float;\r\nlet b = fround(intNum);\r\nlet c_sub, c_mod, c_mul, c_add;\r\nc_sub = fround(a - b);\r\nc_mod = fround(a % b);\r\nc_mul = fround(a * b);\r\nc_add = fround(a \u002B b);","IsDeferred":false},{"Name":"Number (Double)","Code":"let a = double;\r\nlet b = intNum;\r\nlet c_sub, c_mod, c_mul, c_add;\r\nc_sub = a - b;\r\nc_mod = a % b;\r\nc_mul = a * b;\r\nc_add = a \u002B b;","IsDeferred":false}]}