Module:User:Cscott/LuaTurtle

From Wikipedia, the free encyclopedia
return (function()
local builders = {}
function register(name, f)
  builders[name] = f
end
register('luaturtle.ops', function(myrequire)
-- generated by TurtleScript write-lua-ops.js

local ops = {}

ops.byname = {
  ["PUSH_FRAME"] = 0,
  ["PUSH_LOCAL_FRAME"] = 1,
  ["PUSH_LITERAL"] = 2,
  ["NEW_OBJECT"] = 3,
  ["NEW_ARRAY"] = 4,
  ["NEW_FUNCTION"] = 5,
  ["GET_SLOT_DIRECT"] = 6,
  ["GET_SLOT_INDIRECT"] = 7,
  ["GET_SLOT_DIRECT_CHECK"] = 8,
  ["SET_SLOT_DIRECT"] = 9,
  ["SET_SLOT_INDIRECT"] = 10,
  ["INVOKE"] = 11,
  ["RETURN"] = 12,
  ["JMP"] = 13,
  ["JMP_INTO_LOOP"] = 14,
  ["JMP_UNLESS"] = 15,
  ["PHI"] = 16,
  ["POP"] = 17,
  ["DUP"] = 18,
  ["DUP2"] = 19,
  ["OVER"] = 20,
  ["OVER2"] = 21,
  ["SWAP"] = 22,
  ["UN_NOT"] = 23,
  ["UN_MINUS"] = 24,
  ["UN_TYPEOF"] = 25,
  ["BI_EQ"] = 26,
  ["BI_GT"] = 27,
  ["BI_GTE"] = 28,
  ["BI_ADD"] = 29,
  ["BI_SUB"] = 30,
  ["BI_MUL"] = 31,
  ["BI_DIV"] = 32
}

ops.bynum = {}

-- invert byname into bynum, and combine both into root export
for name,val in pairs(ops.byname) do
  ops.bynum[val] = name
  ops[name] = val
end

return ops

end)

register('luaturtle.compat', function(myrequire)
-- Compatibility functions
-- (Things present in Lua 5.3 that are missing in Lua 5.1)
local compat = {}

local string = myrequire('string')
local table = myrequire('table')

function compat.combineBytes(msb, lsb)
   -- (msb << 8) | lsb
   return (msb * 256) + lsb
end

function compat.splitBytes(u16)
   -- u16 >> 8, u16 & 0xFF
   local lsb = math.fmod(u16, 256)
   local msb = (u16 - lsb) / 256
   return msb, lsb
end

function compat.rshift(x, disp)
   -- x >> disp
   return math.floor(x/(2^disp))
end

function compat.utf8codes(s)
   local len = #s
   local f = function(state, _)
      local pos = state.nextpos
      if pos > len then
         return nil, nil
      end
      local c1 = string.byte(s, pos)
      if c1 <= 0x7F then
         state.nextpos = pos + 1
         return pos, c1
      end
      c2 = string.byte(s, pos + 1)
      if c1 <= 0xDF then
         state.nextpos = pos + 2
         return pos, ((c1 % 0x20 ) * 0x40) + (c2 % 0x40)
      end
      c3 = string.byte(s, pos + 2)
      if c1 <= 0xEF then
         state.nextpos = pos + 3
         return pos, (((c1 % 0x10) * 0x40) + (c2 % 0x40)) * 0x40 + (c3 % 0x40)
      end
      c4 = string.byte(s, pos + 3)
      if c1 <= 0xF7 then
         state.nextpos = pos + 4
         return pos, ((((c1 % 0x08) * 0x40) + (c2 % 0x40)) * 0x40 + (c3 % 0x40)) * 0x40 + (c4 % 0x40)
      end
      error()
   end
   return f, { nextpos = 1 }, 0
end

function compat.utf8char(...)
   -- utf8.char(c)
   result = {}
   for _,c in ipairs{...} do
      local s
      if c <= 0x7F then
         s = string.char(c)
      else
         c1 = c % 0x40
         cN = (c - c1) / 0x40
         if c <= 0x7FF then
            s = string.char(
               cN + 0xC0,
               c1 + 0x80
            )
         else
            c2 = cN % 0x40
            cN = (cN - c2) / 0x40
            if c <= 0xFFFF then
               s = string.char(
                  cN + 0xE0,
                  c2 + 0x80,
                  c1 + 0x80
               )
            else
               c3 = cN % 0x40
               cN = (cN - c3) / 0x40
               if c <= 0x10FFFF then
                  s = string.char(
                     cN + 0xF0,
                     c3 + 0x80,
                     c2 + 0x80,
                     c1 + 0x80
                  )
               else
                  error()
               end
            end
         end
      end
      table.insert(result, s)
   end
   return table.concat(result)
end

-- unpack is a global function for Lua 5.1, otherwise use table.unpack
compat.unpack = rawget(_G, "unpack") or table.unpack

return compat

end)

register('luaturtle.jsval', function(myrequire)
-- JavaScript value types
-- In the future we could gain efficiency by unwrapping some of these
-- primitive types, but for now let's wrap everything.
local table = myrequire('table')
local string = myrequire('string')

local compat = myrequire('luaturtle.compat')

local jsval = {}

-- private slot keys
local function mkPrivateSlot(name)
   return setmetatable({}, { __tostring = function() return name end })
end
local DEFAULTENV = mkPrivateSlot('@DEFAULTENV@')
local PARENTFRAME = mkPrivateSlot('@PARENTFRAME@')
local VALUE = mkPrivateSlot('@VALUE@')
local ISAPPLY = mkPrivateSlot('@ISAPPLY@')
local DEBUGNAME = mkPrivateSlot('@DEBUGNAME@')
-- private slots in the JS standard
local PROTOTYPE = mkPrivateSlot('[[Prototype]]')
local EXTENSIBLE = mkPrivateSlot('[[Extensible]]')
local BOOLEANDATA = mkPrivateSlot('[[BooleanData]]')
local ERRORDATA = mkPrivateSlot('[[ErrorData]]')
local NUMBERDATA = mkPrivateSlot('[[NumberData]]')
local STRINGDATA = mkPrivateSlot('[[StringData]]')
local SYMBOLDATA = mkPrivateSlot('[[SymbolData]]')
local CALL = mkPrivateSlot('[[Call]]')
local PARAMETERMAP = mkPrivateSlot('[[ParameterMap]]')

-- helper to call 'hidden' functions on metatable
local function mt(env, v, name, ...)
   if true then -- debugging code, disable later for speed in this hot path
      local vm = getmetatable(v)
      if vm == nil or vm[name] == nil then
         local ty = vm and vm.Type
         if ty ~= nil then ty = ty() else ty = '<unknown>' end
         if v == nil then ty = 'nil' end
         error('NYI ' .. name .. ' in ' .. ty)
      end
   end
   return getmetatable(v)[name](env, v, ...)
end

local function ThrowError(env, name, msg)
   if env ~= nil then
      error(env:newError(name, msg))
   end
   error(name .. ': ' .. msg)
end
local function ThrowTypeError(env, msg) ThrowError(env, 'TypeError', msg) end
local function ThrowRangeError(env, msg) ThrowError(env, 'RangeError', msg) end

local function nyi(msg)
   return function() error('not yet implemented: ' .. msg) end
end

-- PropertyDescriptor describes a slot in the JavaScript object
local PropertyDescriptor = {}
PropertyDescriptor.__index = PropertyDescriptor
function PropertyDescriptor:new(desc)
   -- note! the `value`, `get` and `set` fields can be present but Undefined
   desc = desc or {}
   setmetatable(desc, self)
   return desc
end
function PropertyDescriptor:newSimple(value)
   return self:new{
      value = value,
      writable = true,
      enumerable = true,
      configurable = true
   }
end
function PropertyDescriptor:newData(desc)
   return self:new{
      value = desc.value or Undefined,
      writable = desc.writable or false,
      enumerable = desc.enumerable or false,
      configurable = desc.configurable or false
   }
end
function PropertyDescriptor:newAccessor(desc)
   return self:new{
      get = desc.get or Undefined,
      set = desc.set or Undefined,
      enumerable = desc.enumerable or false,
      configurable = desc.configurable or false
   }
end
function PropertyDescriptor:clone()
   local npd = PropertyDescriptor:new{}
   npd:setFrom(self)
   return npd
end
function PropertyDescriptor:setFrom(P)
   if P.value ~= nil then self.value = P.value end
   if P.get ~= nil then self.get = P.get end
   if P.set ~= nil then self.set = P.set end
   if P.writable ~= nil then self.writable = P.writable end
   if P.enumerable ~= nil then self.enumerable = P.enumerable end
   if P.configurable ~= nil then self.configurable = P.configurable end
   return self
end
function PropertyDescriptor:IsEmpty()
   return self.value == nil and self.get == nil and self.set == nil and
      self.writable == nil and self.enumerable == nil and
      self.configurable == nil
end
function PropertyDescriptor:IsSimple(noDefaults)
   return
      (self.writable == true or (noDefaults and self.writable == nil)) and
      (self.configurable == true or (noDefaults and self.configurable == nil)) and
      (self.enumerable == true or (noDefaults and self.enumerable == nil))
end
function PropertyDescriptor:IsAccessorDescriptor()
   if self == nil then return false end
   if self.get == nil and self.set == nil then return false end
   return true
end
function PropertyDescriptor:IsDataDescriptor()
   if self == nil then return false end
   if self.value == nil and self.writable == nil then return false end
   return true
end
function PropertyDescriptor:IsGenericDescriptor()
   if self == nil then return false end
   if (not self:IsAccessorDescriptor()) and (not self:IsDataDescriptor()) then
      return true
   end
   return false
end

-- EcmaScript language types
local function extendMT(oldmt)
   local newmt = setmetatable({}, { __index = oldmt })
   local metamethods = {
      '__tostring', '__add', '__sub', '__index', '__newindex'
   }
   for i,name in ipairs(metamethods) do
      local func = rawget(oldmt, name)
      if func ~= nil then
         rawset(newmt, name, func)
      end
   end
   return newmt
end
local JsValMT = {
   isJsVal = true,
   Type = nyi('Type'),
   ToPrimitive = nyi('ToPrimitive'),
   ToObject = nyi('ToObject'),
   GetMethod = nyi('GetMethod'),
   Call = nyi('Call'),
   SameValue = nyi('SameValue'),
}
local UndefinedMT = extendMT(JsValMT)
local NullMT = extendMT(JsValMT)
local BooleanMT = extendMT(JsValMT)
local StringMT = extendMT(JsValMT)
local SymbolMT = extendMT(JsValMT)
local NumberMT = extendMT(JsValMT)
local BigIntMT = extendMT(JsValMT)
local ObjectMT = extendMT(JsValMT)

local allTypes = {
   UndefinedMT, NullMT, BooleanMT, StringMT,
   SymbolMT, NumberMT, BigIntMT, ObjectMT
}
local function copyToAll(name)
   for i, ty in ipairs(allTypes) do
      ty[name] = JsValMT[name]
   end
end

-- Constructors
local Undefined = setmetatable({}, UndefinedMT)
local Null = setmetatable({}, NullMT)
function NumberMT:from(value)
   return setmetatable({ value = value }, self)
end
local True = setmetatable(
   { value = true, number = NumberMT:from(1) }, BooleanMT)
local False = setmetatable(
   { value = false, number = NumberMT:from(0) }, BooleanMT)
function ObjectMT:create(env, proto)
   -- OrdinaryObjectCreate, more or less
   assert(proto ~= nil)
   return setmetatable(
      { [DEFAULTENV] = env, [PROTOTYPE] = proto, [EXTENSIBLE] = true },
      ObjectMT)
end

-- String constructors
function StringMT:cons(a, b)
   if a ~= nil and type(a) ~= 'string' then
      if a.prefix == nil then
         a = a.suffix
      elseif a.suffix == nil then
         a = a.prefix
      end
   end
   if b ~= nil and type(b) ~= 'string' then
      if b.prefix == nil then
         b = b.suffix
      elseif b.suffix == nil then
         b = b.prefix
      end
   end
   return setmetatable({ prefix=a, suffix=b }, self)
end
function StringMT:fromUTF8(s)
   local result = {}
   local push16 = function(c)
      local msb, lsb = compat.splitBytes(c)
      table.insert(result, string.char(msb, lsb))
   end
   for _,c in compat.utf8codes(s) do
      if c <= 0xD7FF or (c >= 0xE000 and c <= 0xFFFF) then
         push16(c)
      else
         assert(c >= 0x10000, "unpaired surrogate")
         c = c - 0x10000
         push16(0xD800 + compat.rshift(c, 10))
         push16(0xDC00 + (c % 0x400)) -- c & 0x3FF in Lua 5.3
      end
   end
   local obj = StringMT:cons(nil, table.concat(result))
   obj.utf8 = s -- optimization!
   return obj
end
function StringMT:flatten(s)
   if s.prefix == nil then return s end
   local result = {}
   local stack = { '' }
   local ss = s
   while #stack > 0 do
      if type(ss) == 'string' then
         table.insert(result, ss)
         ss = table.remove(stack)
      elseif ss.prefix == nil then
         ss = ss.suffix
      else
         table.insert(stack, ss.suffix)
         ss = ss.prefix
      end
   end
   s.prefix = nil
   s.suffix = table.concat(result)
   return s
end

-- String Intern table
local stringInternTable = {}
function StringMT:intern(s)
   -- fast case
   local r = stringInternTable[s]
   if r ~= nil then return r end
   -- slower case
   if type(s) == 'string' then
      r = StringMT:fromUTF8(s)
      stringInternTable[s] = r
      return r
   end
   -- more unusual case, called w/ a JS object
   assert(mt(nil, s, 'Type') == 'String')
   local key = tostring(s)
   stringInternTable[key] = s
   return s
end

-- Convert values to/from lua
local function isJsVal(v)
   if type(v) == 'table' then
      local mt = getmetatable(v)
      if mt ~= nil and mt.isJsVal == true then return true end
   end
   return false
end

local function fromLua(env, v)
   if isJsVal(v) then return v end -- fast path: already converted!
   local ty = type(v)
   if ty == 'string' then
      return StringMT:fromUTF8(v)
   elseif ty == 'number' then
      return NumberMT:from(v)
   end
   ThrowTypeError(env, "Can't convert Lua type " .. ty .. " to JS")
end
local function toLua(env, jsval)
   assert(isJsVal(jsval), jsval)
   return mt(env, jsval, 'toLua')
end

-- lua pretty-printing (but tostring isn't a virtual dispatch by default)
function JsValMT:__tostring() return mt(nil, self, 'Type') end
copyToAll('__toString')
function UndefinedMT:__tostring() return 'undefined' end
function NullMT:__tostring() return 'null' end
function BooleanMT:__tostring() return tostring(self.value) end
-- StringMT.__tostring is actually defined lower down
function NumberMT:__tostring() return tostring(self.value) end
function PropertyDescriptor:__tostring()
   local s = ''
   for k,v in pairs(self) do
      s = s .. k .. '=' .. tostring(v) .. ','
   end
   return 'PropertyDescriptor{' .. s .. '}'
end

function JsValMT:toLua(env, val)
   ThrowTypeError(env, "Can't convert "..tostring(val).." to Lua")
end
function UndefinedMT.toLua() return nil end
function NullMT.toLua() return nil end
function BooleanMT.toLua(env, b) return b.value end
function NumberMT.toLua(env, n) return n.value end
function StringMT.toLua(env, s) return tostring(s) end

-- Type (returns lua string, not js string)
function UndefinedMT.Type() return 'Undefined' end
function NullMT.Type() return 'Null' end
function BooleanMT.Type() return 'Boolean' end
function StringMT.Type() return 'String' end
function SymbolMT.Type() return 'Symbol' end
function NumberMT.Type() return 'Number' end
function BigIntMT.Type() return 'BigInt' end
function ObjectMT.Type() return 'Object' end
-- internal object types
function PropertyDescriptor.Type() return 'PropertyDescriptor' end

-- typeof
function UndefinedMT.typeof() return StringMT:intern('undefined') end
function NullMT.typeof() return StringMT:intern('object') end
function BooleanMT.typeof() return StringMT:intern('boolean') end
function NumberMT.typeof() return StringMT:intern('number') end
function StringMT.typeof() return StringMT:intern('string') end
function SymbolMT.typeof() return StringMT:intern('symbol') end
function BigIntMT.typeof() return StringMT:intern('bigint') end
function ObjectMT.typeof(env, obj)
   if rawget(obj, CALL) == nil then
      return StringMT:intern('object')
   else
      return StringMT:intern('function')
   end
end

-- IsPropertyDescriptor (returns lua boolean, not js boolean)
function IsPropertyDescriptor(v) -- faster
   return getmetatable(v) == PropertyDescriptor
end

-- IsObject (returns lua boolean, not js boolean)
function JsValMT.IsObject() return false end
function ObjectMT.IsObject() return true end

-- ToObject
function UndefinedMT.ToObject(env, undef)
   return ThrowTypeError(env, 'ToObject on undefined')
end
function NullMT.ToObject(env, undef)
   return ThrowTypeError(env, 'ToObject on null')
end
function BooleanMT.ToObject(env, b, proto)
   local O = ObjectMT:create(env, proto or env.realm.BooleanPrototype)
   rawset(O, BOOLEANDATA, b)
   return O
end
function StringMT.ToObject(env, s, proto)
   -- StringCreate 9.4.3.4
   local O = ObjectMT:create(env, proto or env.realm.StringPrototype)
   rawset(O, STRINGDATA, s)
   mt(env, O, 'DefinePropertyOrThrow', StringMT:intern('length'),
      PropertyDescriptor:newData{ value = NumberMT:from(StringMT.__len(s)) } )
   setmetatable(O, getmetatable(env.realm.StringPrototype))
   return O
end
StringMT.StringCreate = StringMT.ToObject
function SymbolMT.ToObject(env, s)
   local O = ObjectMT:create(env, env.realm.SymbolPrototype)
   rawset(O, SYMBOLDATA, s)
   return O
end
function NumberMT.ToObject(env, num, proto)
   local O = ObjectMT:create(env, proto or env.realm.NumberPrototype)
   rawset(O, NUMBERDATA, num)
   return O
end
function ObjectMT.ToObject(env, obj)
   return obj
end

-- ToPrimitive / OrdinaryToPrimitive
function JsValMT.ToPrimitive(env, val, hint)
   return val
end
function ObjectMT.ToPrimitive(env, input, hint)
   hint = hint or 'default'
   if env == nil then env = rawget(input, DEFAULTENV) end -- support for lua interop
   if env.symbols.toPrimitive ~= nil then -- XXX symbols NYI
      local exoticToPrim = mt(env, input, 'GetMethod', env.symbols.toPrimitive)
      if not rawequal(exoticToPrim, Undefined) then
         local result = mt(env, exoticToPrim, 'Call', StringMT:intern(hint))
         if mt(env, result, 'IsObject') then
            ThrowTypeError(env, 'exotic ToPrimitive not primitive')
         end
         return result
      end
   end
   if hint == 'default' then
      hint = 'number'
   end
   return mt(env, input, 'OrdinaryToPrimitive', hint)
end

function ObjectMT.OrdinaryToPrimitive(env, O, hint)
   local methodNames
   assert(isJsVal(O))
   if hint == 'string' then
      methodNames = { 'toString', 'valueOf' }
   else
      methodNames = { 'valueOf', 'toString' }
   end
   for i=1,2 do
      local method = mt(env, O, 'Get', StringMT:intern(methodNames[i]))
      if mt(env, method, 'IsCallable') then
         local status,result = env:interpretFunction(method, O, {})
         if (not status) then error(result) end -- rethrow
         if not mt(env, result, 'IsObject') then
            return result
         end
      end
   end
   ThrowTypeError(env, 'Failed to convert to primitive')
end

-- ToBoolean -- returns JS boolean, not lua boolean
function UndefinedMT.ToBoolean() return False end
function NullMT.ToBoolean() return False end
function BooleanMT.ToBoolean(env, b) return b end
function NumberMT.ToBoolean(env, n)
   n = n.value
   if n == 0 or (n ~= n) then return False end
   return True
end
function StringMT.ToBoolean(env, s)
   if StringMT.IsZeroLength(s) then return False end
   return True
end
function SymbolMT.ToBoolean() return True end
function ObjectMT.ToBoolean() return True end

-- ToNumeric
function JsValMT.ToNumeric(env, value)
   local primValue = mt(env, value, 'ToPrimitive', 'number')
   if mt(env, primValue, 'Type') == 'BigInt' then
      return primValue
   end
   return mt(env, primValue, 'ToNumber')
end

-- ToNumber
function UndefinedMT.ToNumber() return NumberMT:from(0/0) end
function NullMT.ToNumber() return NumberMT:from(0) end
function BooleanMT.ToNumber(env, b) return b.number end
function NumberMT.ToNumber(env, n) return n end
function StringMT.ToNumber(env, s)
   cheat = rawget(s, 'number')
   if cheat ~= nil then
      return NumberMT:from(cheat)
   end
   -- convert from UTF16 to UTF8
   s = tostring(s)
   -- start by trimming whitespace
   s = string.gsub(s, '^%s+', '')
   s = string.gsub(s, '%s+$', '')
   if #s == 0 then return NumberMT:from(0) end -- empty string is +0
   local minus = 1
   local pm = string.sub(s, 1, 1)
   if pm == '+' then
      s = string.sub(s, 2)
   elseif pm == '-' then
      minus = -1
      s = string.sub(s, 2)
   end
   if s == 'Infinity' then return NumberMT:from(minus/0) end -- +/-Infinity
   local prefix = string.lower(string.sub(s, 1, 2))
   if prefix == '0b' or prefix == '0o' then
      nyi(prefix .. ' number parsing')()
   end
   local n = tonumber(s)
   -- Lua 5.1 parses some strings which JavaScript does not.
   if s == 'inf' or s == '-inf' then
      n = nil
   end
   if n == nil then n = (0/0) end
   return NumberMT:from(minus * n)
end
function SymbolMT.ToNumber(env)
   ThrowTypeError(env, 'Symbol#toNumber')
end
function BigIntMT.ToNumber(env)
   ThrowTypeError(env, 'BigInt#toNumber')
end
function ObjectMT.ToNumber(env, argument)
   if env == nil then env = rawget(argument, DEFAULTENV) end -- support for lua interop
   local primValue = mt(env, argument, 'ToPrimitive', 'number')
   return mt(env, primValue, 'ToNumber')
end

function JsValMT.ToInteger(env, argument)
   local number = mt(env, argument, 'ToNumber')
   assert(mt(env, number, 'Type') == 'Number')
   return NumberMT.ToInteger(env, number)
end
function NumberMT.ToInteger(env, argument)
   local number = argument.value
   if number ~= number then return NumberMT:from(0) end -- NaN
   if number == 0 then return argument end -- +0.0 and -0.0
   if number == (1/0) or number == (-1/0) then return argument end -- Infinities
   local minus = (number < 0)
   number = math.floor(math.abs(number))
   if minus then number = -number end
   return NumberMT:from(number)
end

function JsValMT.ToInt32(env, argument)
   local number = mt(env, argument, 'ToNumber')
   assert(mt(env, number, 'Type') == 'Number')
   return NumberMT.ToInt32(env, number)
end
function NumberMT.ToInt32(env, argument)
   local number = argument.value
   if (number ~= number or -- NaN
       number == 0 or -- +0.0 and -0.0
       number == (1/0) or number == (-1/0)) then -- Infinities
      return NumberMT:from(0)
   end
   number = NumberMT.ToUint32(env, argument).value
   if number >= 0x80000000 then
      number = number - 0x100000000
   end
   return NumberMT:from(number)
end

function JsValMT.ToUint32(env, argument)
   local number = mt(env, argument, 'ToNumber')
   assert(mt(env, number, 'Type') == 'Number')
   return NumberMT.ToUint32(env, number)
end
function NumberMT.ToUint32(env, argument)
   local number = argument.value
   if (number ~= number or -- NaN
       number == 0 or -- +0.0 and -0.0
       number == (1/0) or number == (-1/0)) then -- Infinities
      return NumberMT:from(0)
   end
   local minus = (number < 0)
   number = math.floor(math.abs(number))
   if minus then number = -number end
   return NumberMT:from(number % 0x100000000) -- (number & 0xFFFFFFFF) in Lua 5.3
end

function JsValMT.ToUint16(env, argument)
   local number = mt(env, argument, 'ToNumber')
   assert(mt(env, number, 'Type') == 'Number')
   return NumberMT.ToUint16(env, number)
end
function NumberMT.ToUint16(env, argument)
   local number = argument.value
   if (number ~= number or -- NaN
       number == 0 or -- +0.0 and -0.0
       number == (1/0) or number == (-1/0)) then -- Infinities
      return NumberMT:from(0)
   end
   local minus = (number < 0)
   number = math.floor(math.abs(number))
   if minus then number = -number end
   return NumberMT:from(number % 0x10000) -- (number & 0xFFFF) in Lua 5.3
end

-- ToString
local toStringVals = {
   [Undefined] = StringMT:intern('undefined'),
   [Null] = StringMT:intern('null'),
   [True] = StringMT:intern('true'),
   [False] = StringMT:intern('false'),
}
function JsValMT.ToString(env, val) return toStringVals[val] end
function NumberMT.ToString(env, n)
   local val = n.value
   if val ~= val then return StringMT:intern('NaN') end -- NaN
   if val == 0 then return StringMT:intern('0') end -- +0 and -0
   if val == 1/0 then return StringMT:intern('Infinity') end -- +Infinity
   if val == -1/0 then return StringMT:intern('-Infinity') end -- -Infinity
   -- Try to match the ECMAScript spec for number format
   -- https://262.ecma-international.org/5.1/#sec-9.8.1
   local luastr = tostring(val) -- only used for very small #s.
   if val >= 1e-6 then
      luastr = string.gsub(
         string.gsub(
            string.format('%.21f', val),
            "0+$", ""
         ),
         "%.$", "")
   end
   local s = StringMT:fromUTF8(luastr)
   -- fast-ish path for converting back to number for array index, etc
   rawset(s, 'number', val)
   return s
end
function StringMT.ToString(env, val) return val end
function SymbolMT.ToString(env, val)
   ThrowTypeError(env, "can't convert Symbol to string")
end
BigIntMT.ToString = nyi('BigInt ToString')
function ObjectMT.ToString(env, val)
   local primValue = mt(env, val, 'ToPrimitive', 'string')
   return mt(env, primValue, 'ToString')
end

-- ToPropertyKey
function JsValMT.ToPropertyKey(env, val)
   local key = mt(env, val, 'ToPrimitive', 'string')
   if mt(env, key, 'Type') == 'Symbol' then return key end
   return mt(env, key, 'ToString')
end
function NumberMT.ToPropertyKey(env, val)
   return NumberMT.ToString(env, val) -- sort of fast path (kinda slow)
end
-- Fast path for string and symbol
function SymbolMT.ToPropertyKey(env, val) return val end
function StringMT.ToPropertyKey(env, val) return val end

-- ToLength
function JsValMT.ToLength(env, val)
   local len = mt(env, val, 'ToInteger') -- assume unboxed
   if len <= 0 then return 0 end
   -- XXX clamp len to 2^53 - 1
   return len
end

-- CanonicalNumericIndexString
function StringMT.CanonicalNumericIndexString(env, val)
   if val.number ~= nil then return val.number end -- fast path!
   if StringMT.equals(val, StringMT:intern("-0")) then
      return NumberMT:from(-1/(1/0)) -- -0.0
   end
   local n = mt(env, val, 'ToNumber')
   if StringMT.equals(val, mt(env, n, 'ToString')) then
      return n
   end
   return Undefined
end

-- ToIndex

-- thisBooleanValue (19.3.3)
function JsValMT.thisBooleanValue(env, val)
   ThrowTypeError(env, 'Not a boolean value!')
end
function BooleanMT.thisBooleanValue(env, value)
   return value
end
function ObjectMT.thisBooleanValue(env, obj)
   local b = rawget(obj, BOOLEANDATA)
   if b == nil then
      ThrowTypeError(env, 'Not a boolean value!')
   end
   assert(mt(env, b, 'Type') == 'Boolean')
   return b
end

-- thisNumberValue (20.1.3)
function JsValMT.thisNumberValue(env, val)
   ThrowTypeError(env, 'Not a number value!')
end
function NumberMT.thisNumberValue(env, value)
   return value
end
function ObjectMT.thisNumberValue(env, obj)
   local n = rawget(obj, NUMBERDATA)
   if n == nil then
      ThrowTypeError(env, 'Not a number value!')
   end
   assert(mt(env, n, 'Type') == 'Number')
   return n
end

-- thisStringValue (21.1.3)
function JsValMT.thisStringValue(env, val)
   ThrowTypeError(env, 'Not a string value!')
end
function StringMT.thisStringValue(env, value)
   return value
end
function ObjectMT.thisStringValue(env, obj)
   local s = rawget(obj, STRINGDATA)
   if s == nil then
      ThrowTypeError(env, 'Not a string value!')
   end
   assert(mt(env, s, 'Type') == 'String')
   return s
end

-- IsArray (returns lua boolean, not Js boolean)
function JsValMT.IsArray(env) return false end
function ObjectMT.IsArray(env, argument)
   -- If argument is an Array exotic object, return true
   local mt = getmetatable(argument)
   if mt ~= nil and mt['[[DefineOwnProperty]]'] == ObjectMT.ArrayDefineOwnProperty then
      return true
   end
   -- If argument is a Proxy exotic object, then... XXX NYI
   return false
end

-- IsCallable (returns lua boolean, not Js boolean)
function JsValMT.IsCallable(env) return false end
function ObjectMT.IsCallable(env, argument)
   return (rawget(argument, CALL) ~= nil)
end

-- IsConstructor (returns lua boolean, not Js boolean)
function JsValMT.IsConstructor(env) return false end
function ObjectMT.IsConstructor(env, argument)
   return (getmetatable(argument)['[[Construct]]'] ~= nil)
end

-- IsExtensible (returns lua boolean, not js boolean)
function JsValMT.IsExtensible(env) assert(false, 'IsExtensible on prim') end
function ObjectMT.IsExtensible(env, obj)
   return mt(env, obj, '[[IsExtensible]]')
end

-- DefinePropertyOrThrow (7.3.8)
function ObjectMT.DefinePropertyOrThrow(env, O, P, desc)
   local success = mt(env, O, '[[DefineOwnProperty]]', P, desc)
   if not success then ThrowTypeError(env, "Can't define property") end
   return success
end

-- GetMethod (7.3.10)
function JsValMT.GetMethod(env, V, P)
   local func = mt(env, V, 'GetV', P)
   if rawequal(func, Undefined) or rawequal(func, Null) then
      return Undefined
   end
   if not mt(env, func, 'IsCallable') then
      ThrowTypeError(env, 'method not callable')
   end
   return func
end

-- HasProperty (7.3.11)
function ObjectMT.HasProperty(env, O, P)
   return mt(env, O, '[[HasProperty]]', P)
end

-- HasOwnProperty (7.3.12)
function ObjectMT.HasOwnProperty(env, O, P)
   local desc = mt(env, O, '[[GetOwnProperty]]', P)
   if desc == nil then return False end
   return True
end

-- EnumerableOwnPropertyNames (7.3.23)
function ObjectMT.EnumerableOwnPropertyNames(env, O, kind)
   local ownKeys = mt(env, O, '[[OwnPropertyKeys]]')
   local properties = {}
   for _,key in ipairs(ownKeys) do
      if mt(env, key, 'Type') == 'String' then
         local desc = mt(env, O, '[[GetOwnProperty]]', key)
         if desc ~= nil and desc.enumerable == true then
            if kind == 'key' then
               table.insert(properties, key)
            else
               local value = mt(env, O, '[[Get]]', key)
               if kind == 'value' then
                  table.insert(properties, value)
               else
                  table.insert(properties, env:arrayCreate{ key, value })
               end
            end
         end
      end
   end
   return properties
end

-- Get/GetV
function JsValMT.GetV(env, V, P)
   local O = mt(env, V, 'ToObject')
   return mt(env, O, '[[Get]]', P, V)
end
function ObjectMT.Get(env, O, P)
   return mt(env, O, '[[Get]]', P, O)
end
ObjectMT.GetV = ObjectMT.Get -- optimization

-- Set
function ObjectMT.Set(env, O, P, V, Throw)
   local success = mt(env, O, '[[Set]]', P, V, O)
   if (not success) and Throw then
      ThrowTypeError(env, 'Failed to set')
   end
   return success
end

-- [[HasProperty]] (9.1.7)
-- OrdinaryHasProperty (9.1.7.1)
function OrdinaryHasProperty(env, O, P)
   local hasOwn = mt(env, O, '[[GetOwnProperty]]', P)
   if hasOwn ~= nil then return true end
   local parent = mt(env, O, '[[GetPrototypeOf]]')
   if not rawequal(parent, Null) then
      return mt(env, parent, '[[HasProperty]]', P)
   end
   return false
end
ObjectMT.OrdinaryHasProperty = OrdinaryHasProperty
ObjectMT['[[HasProperty]]'] = OrdinaryHasProperty

function ObjectMT.OrdinaryGet(env, O, P, Receiver)
   -- fast path! inlined from OrdinaryGetOwnProperty impl
   local desc
   local GetOwnProperty = getmetatable(O)['[[GetOwnProperty]]']
   local fastKey = rawget(P, 'key')
   if GetOwnProperty == OrdinaryGetOwnProperty and fastKey ~= nil then
      local fastVal = rawget(O, fastKey)
      if fastVal == nil then
         desc = nil -- this is fast path for method lookup through prototype
      elseif getmetatable(fastVal) == PropertyDescriptor then
         desc = fastVal -- moderately fast path for method lookup
      else
         return fastVal -- super fast path for a simple value
      end
   else
      desc = GetOwnProperty(env, O, P)
   end
   if desc == nil then
      local parent = mt(env, O, '[[GetPrototypeOf]]')
      if rawequal(parent, Null) then return Undefined end
      return mt(env, parent, '[[Get]]', P, Receiver)
   end
   if desc:IsDataDescriptor() then
      if desc.value == nil then return Undefined end
      return desc.value
   end
   local getter = desc.get
   if getter == nil or rawequal(getter, Undefined) then return Undefined end
   return mt(env, getter, 'Call', Receiver)
end
ObjectMT['[[Get]]'] = ObjectMT.OrdinaryGet

function ObjectMT.OrdinarySet(env, O, P, V, Receiver)
   -- fast path! inlined from OrdinaryGetOwnProperty impl
   local GetOwnProperty = getmetatable(O)['[[GetOwnProperty]]']
   if rawequal(O, Receiver) and GetOwnProperty == OrdinaryGetOwnProperty then
      local fastKey = rawget(P, 'key')
      if fastKey ~= nil then
         local fastVal = rawget(O, fastKey)
         if fastVal ~= nil and getmetatable(fastVal) ~= PropertyDescriptor then
            -- fast path for a set of a simple value
            rawset(O, fastKey, V)
            return true
         end
      end
   end
   local ownDesc = GetOwnProperty(env, O, P)
   return mt(env, O, 'OrdinarySetWithOwnDescriptor', P, V, Receiver, ownDesc)
end
ObjectMT['[[Set]]'] = ObjectMT.OrdinarySet

function ObjectMT.OrdinarySetWithOwnDescriptor(env, O, P, V, Receiver, ownDesc)
   if ownDesc == nil then
      local parent = mt(env, O, '[[GetPrototypeOf]]')
      if not rawequal(parent, Null) then
         return mt(env, parent, '[[Set]]', P, V, Receiver)
      else
         ownDesc = PropertyDescriptor:newSimple(Undefined)
      end
   end
   if ownDesc:IsDataDescriptor() then
      if not ownDesc.writable then return false end
      if not mt(env, Receiver, 'IsObject') then return false end
      local existingDescriptor = mt(env, Receiver, '[[GetOwnProperty]]', P)
      if existingDescriptor ~= nil then
         if existingDescriptor:IsAccessorDescriptor() then return false end
         if existingDescriptor.writable == false then return false end
         local valueDesc = PropertyDescriptor:new{ value = V }
         return mt(env, Receiver, '[[DefineOwnProperty]]', P, valueDesc)
      else
         -- inlined CreateDataProperty(Receiver, P, V)
         local newDesc = PropertyDescriptor:newSimple(V)
         return mt(env, Receiver, '[[DefineOwnProperty]]', P, newDesc)
      end
   end
   -- ownDesc is an accessor descriptor
   local setter = ownDesc.set
   if setter == nil or rawequal(setter, Undefined) then return false end
   mt(env, setter, 'Call', Receiver, V)
   return true
end

-- [[Delete]] / OrdinaryDelete (9.1.10)
function OrdinaryDelete(env, O, P)
   local desc = mt(env, O, '[[GetOwnProperty]]', P)
   if desc == nil then return true end
   if desc.configurable == true then
      local field = mt(env, P, 'toKey')
      rawset(O, field, nil)
      return true
   end
   return false
end
ObjectMT.OrdinaryDelete = OrdinaryDelete
ObjectMT['[[Delete]]'] = OrdinaryDelete

-- [[GetPrototypeOf]] / [[SetPrototypeOf]]
function OrdinaryGetPrototypeOf(env, obj)
   return rawget(obj, PROTOTYPE)
end
ObjectMT.OrdinaryGetPrototypeOf = OrdinaryGetPrototypeOf
ObjectMT['[[GetPrototypeOf]]'] = OrdinaryGetPrototypeOf

function ObjectMT.OrdinarySetPrototypeOf(env, O, V)
   assert(rawequal(V, Null) or mt(env, V, 'IsObject'), 'bad prototype')
   local current = rawget(O, PROTOTYPE)
   if mt(env, V, 'SameValue', current) then return true end
   if rawget(O, EXTENSIBLE) == false then return false end
   local p = V
   local done = false
   while done == false do
      if rawequal(p, Null) then
         done = true
      elseif mt(env, p, 'SameValue', O) then
         return false -- prototype cycle!  bail!
      else
         if getmetatable(p)['[[GetPrototypeOf]]'] ~= OrdinaryGetPrototypeOf then
            done = true
         else
            p = rawget(p, PROTOTYPE) or Null
         end
      end
   end
   rawset(O, PROTOTYPE, V)
   return true
end
ObjectMT['[[SetPrototypeOf]]'] = OrdinarySetPrototypeOf

function ObjectMT.SetImmutablePrototype(env, O, V)
   local current = mt(env, O, '[[GetPrototypeOf]]')
   if mt(env, V, 'SameValue', current) then
      return true
   else
      return false
   end
end

function ObjectMT.OrdinaryIsExtensible(env, obj)
   return rawget(obj, EXTENSIBLE) ~= false
end
ObjectMT['[[IsExtensible]]'] = ObjectMT.OrdinaryIsExtensible

function ObjectMT.OrdinaryPreventExtensions(env, obj)
   rawset(obj, EXTENSIBLE, false)
   return true
end
ObjectMT['[[PreventExtensions]]'] = ObjectMT.OrdinaryPreventExtensions

-- returns nil or a PropertyDescriptor
-- Note that a fast path from this is inlined into [[Get]] and [[Set]]
function OrdinaryGetOwnProperty(env, O, P)
   -- P is a String or a Symbol
   local field = mt(env, P, 'toKey')
   local valOrDesc = rawget(O, field)
   if valOrDesc == nil then return nil end
   if IsPropertyDescriptor(valOrDesc) then
      return valOrDesc
   else
      return PropertyDescriptor:newSimple(valOrDesc)
   end
end
ObjectMT.OrdinaryGetOwnProperty = OrdinaryGetOwnProperty
ObjectMT['[[GetOwnProperty]]'] = OrdinaryGetOwnProperty

function ObjectMT.StringGetOwnProperty(env, S, P) -- 9.4.3.5
   assert(rawget(S, STRINGDATA) ~= nil)
   if mt(env, P, 'Type') ~= 'String' then return nil end
   local index = mt(env, P, 'CanonicalNumericIndexString')
   if rawequal(index, Undefined) then return nil end
   assert(mt(env, index, 'Type') == 'Number')
   if not mt(env, index, 'IsInteger') then return nil end
   -- test for -0.0
   if index.value == 0 and (1/index.value) == (-1/0) then return nil end
   if index.value < 0 then return nil end
   local str = rawget(S, STRINGDATA)
   console.assert(str~=nil and mt(env, str, 'Type') == 'String')
   local len = StringMT.__len(str)
   if len <= index then return nil end
   local start = (index * 2) + 1 -- 1-based indexing!
   local resultStr = string.sub(StringMT:flatten(str).suffix, start, start+1)
   return PropertyDescriptor:newData{
      value = StringMT:cons(nil, resultStr),
      enumerable = true,
   }
end

function ObjectMT.OrdinaryDefineOwnProperty(env, O, P, Desc)
   local current = mt(env, O, '[[GetOwnProperty]]', P)
   local extensible = mt(env, O, '[[IsExtensible]]')
   return ObjectMT.ValidateAndApplyPropertyDescriptor(
      env, O, P, extensible, Desc, current
   )
end
ObjectMT['[[DefineOwnProperty]]'] = ObjectMT.OrdinaryDefineOwnProperty

function ObjectMT.ValidateAndApplyPropertyDescriptor(env, O, P, extensible, desc, current)
   local field = (not rawequal(O, Undefined)) and mt(env, P, 'toKey') or nil
   if current == nil then
      if extensible == false then return false end
      if desc:IsGenericDescriptor() or desc:IsDataDescriptor() then
         if field ~= nil then
            if desc:IsSimple(false) then
               local val = desc.value
               if val == nil then val = Undefined end
               rawset(O, field, val)
            else
               rawset(O, field, PropertyDescriptor:newData(desc))
            end
         end
      else
         if field ~= nil then
            rawset(O, field, PropertyDescriptor:newAccessor(desc))
         end
      end
      return true
   end
   if desc:IsEmpty() then return true end
   if current.configurable == false then
      if desc.configurable == true then return false end
      if desc.enumerable ~= nil and (desc.enumerable ~= current.enumerable) then
         return false
      end
   end
   if desc:IsGenericDescriptor() then
      -- no further validation required
   elseif current:IsDataDescriptor() ~= desc:IsDataDescriptor() then
      if current.configurable == false then return false end
      if current:IsDataDescriptor() then
         if field ~= nil then
            rawset(O, field, PropertyDescriptor:newAccessor(current))
         end
      else
         if field ~= nil then
            rawset(O, field, PropertyDescriptor:newData(current))
         end
      end
   elseif current:IsDataDescriptor() and desc:IsDataDescriptor() then
      if current.configurable == false and current.writable == false then
         if desc.writable == true then return false end
         if desc.value ~= nil and not mt(env, desc.value, 'SameValue', current.value) then
            return false
         end
         return true
      end
   else
      if current.configurable == false then
         if desc.set ~= nil and not mt(env, desc.set, 'SameValue', current.set) then
            return false
         end
         if desc.get ~= nil and not mt(env, desc.get, 'SameValue', current.get) then
            return false
         end
         return true
      end
   end
   if field ~= nil then
      local valOrDesc = rawget(O, field)
      if IsPropertyDescriptor(valOrDesc) then
         valOrDesc:setFrom(desc)
      elseif desc:IsSimple(true) then
         if desc.value ~= nil then
            rawset(O, field, desc.value)
         end
         -- bail early, because valOrDesc is a value not a PropertyDescriptor
         return true
      else
         -- valOrDesc is a value here...
         valOrDesc = PropertyDescriptor:newSimple(valOrDesc):setFrom(desc)
         -- ...and now it's a property descriptor
         rawset(O, field, valOrDesc)
      end
      -- if we've falled through, check once more if the resulting valOrDesc
      -- (guaranteed to be a PropertyDescriptor) is simple, and optimize if so
      if valOrDesc.value ~= nil and valOrDesc:IsSimple(false) then
         -- reoptimize if we've ended up with a simple field
         rawset(O, field, valOrDesc.value)
      end
   end
   return true
end

function JsValMT.ObjectDefineProperties(env)
   ThrowTypeError(env, "Can't define properties on non-object")
end
function ObjectMT.ObjectDefineProperties(env, O, Properties)
   local props = mt(env, Properties, 'ToObject')
   local keys = mt(env, props, '[[OwnPropertyKeys]]')
   local descriptors = {}
   for _,nextKey in ipairs(keys) do
      local propDesc = mt(env, props, '[[GetOwnProperty]]', nextKey)
      if propDesc ~= nil and propDesc.enumerable == true then
         local descObj = mt(env, props, 'Get', nextKey)
         local desc = mt(env, descObj, 'ToPropertyDescriptor')
         table.insert(descriptors, { key = nextKey, desc = desc })
      end
   end
   for _,pair in ipairs(descriptors) do
      mt(env, O, 'DefinePropertyOrThrow', pair.key, pair.desc)
   end
   return O
end

function ObjectMT.ArrayDefineOwnProperty(env, A, P, desc) -- 9.4.2.1
   local lengthStr = StringMT:intern('length')
   if mt(env, P, 'Type') == 'String' then
      if StringMT.equals(P, lengthStr) then
         return mt(env, A, 'ArraySetLength', desc)
      end
      local index = mt(env, P, 'ToUint32')
      if StringMT.equals(mt(env, index, 'ToString'), P) then
         -- P is an array index
         local oldLenDesc = mt(env, A, 'OrdinaryGetOwnProperty', lengthStr)
         local oldLen = oldLenDesc.value
         if index.value >= oldLen.value and oldLenDesc.writable == false then
            return false
         end
         local succeeded = mt(env, A, 'OrdinaryDefineOwnProperty', P, desc)
         if not succeeded then return false end
         if index.value >= oldLen.value then
            local newLenDesc = PropertyDescriptor:newData(oldLenDesc)
            newLenDesc.value = NumberMT:from(index.value + 1)
            succeeded = mt(
               env, A, 'OrdinaryDefineOwnProperty', lengthStr, newLenDesc
            )
            assert(succeeded)
         end
         return true
      end
   end
   return mt(env, A, 'OrdinaryDefineOwnProperty', P, desc)
end

function ObjectMT.ArraySetLength(env, A, desc)
   local lengthStr = StringMT:intern('length')
   if desc.value == nil then
      return mt(env, A, 'OrdinaryDefineOwnProperty', lengthStr, desc)
   end
   local newLenDesc = desc:clone()
   local newLen = mt(env, desc.value, 'ToUint32')
   local numberLen = mt(env, desc.value, 'ToNumber')
   if newLen.value ~= numberLen.value then
      ThrowRangeError(env, 'array length out of range')
   end
   newLenDesc.value = newLen
   local oldLenDesc = mt(env, A, 'OrdinaryGetOwnProperty', lengthStr)
   assert(oldLenDesc ~= nil)
   local oldLen = oldLenDesc.value
   if newLen.value >= oldLen.value then
      return mt(env, A, 'OrdinaryDefineOwnProperty', lengthStr, newLenDesc)
   end
   if oldLenDesc.writable == false then return false end
   local newWritable
   if newLenDesc.writable == nil or newLenDesc.writable == true then
      newWritable = true
   else
      -- defer setting writable in case any elements can't be deleted
      newWritable = false
      newLenDesc.writable = true
   end
   local succeeded = mt(
      env, A, 'OrdinaryDefineOwnProperty', lengthStr, newLenDesc
   )
   if not succeeded then return false end
   for i=oldLen.value-1, newLen.value, -1 do
      -- XXX this isn't quite right; in a sparse array we waste time trying
      -- to delete non-existant elements.  But it's close enough.
      local P = mt(env, NumberMT:from(i), 'ToPropertyKey')
      local deleteSucceeded = mt(env, A, '[[Delete]]', P)
      if not deleteSucceeded then
         newLenDesc = newLenDesc:clone()
         newLenDesc.value = NumberMT:from(i + 1)
         if not newWritable then newLenDesc.writable = false end
         mt(env, A, 'OrdinaryDefineOwnProperty', lengthStr, newLenDesc)
         return false
      end
   end
   if not newWritable then
      return mt(env, A, 'OrdinaryDefineOwnProperty', lengthStr,
                PropertyDescriptor:new{ writable = false })
   end
   return true
end

-- 9.1.11 [[OrdinaryOwnPropertyKeys]]
function ObjectMT.OrdinaryOwnPropertyKeys(env, O)
   local keys = {}
   -- this is a little hacky! and order is not preserved according to JS spec
   for k,v in pairs(O) do
      if type(k)=='number' then
         table.insert(keys, k-1)
      end
   end
   -- sort in ascending numeric index order
   table.sort(keys)
   for i=1,#keys do
      keys[i] = tostring(keys[i])
   end
   -- now add the non-numeric keys
   for k,v in pairs(O) do
      if type(k)=='string' then
         -- XXX hack, strip off the prefix
         table.insert(keys, string.sub(k, 4))
      end
   end
   -- Convert everything to a JS string
   for i=1,#keys do
      keys[i] = StringMT:fromUTF8(keys[i])
   end
   -- XXX now add the symbol keys
   return keys
end
ObjectMT['[[OwnPropertyKeys]]'] = ObjectMT.OrdinaryOwnPropertyKeys

-- 9.1.13 OrdinaryCreateFromConstructor
function JsValMT.OrdinaryCreateFromConstructor(env, constructor, defaultProto)
   return ObjectMT:create(env, defaultProto)
end
function ObjectMT.OrdinaryCreateFromConstructor(env, constructor, defaultProto)
   local proto = mt(env, constructor, 'GetPrototypeFromConstructor', defaultProto)
   return ObjectMT:create(env, proto)
end

-- 9.1.14 GetPrototypeFromConstructor
function JsValMT.GetPrototypeFromConstructor(env, constructor, defaultProto)
   return defaultProto
end
function ObjectMT.GetPrototypeFromConstructor(env, constructor, defaultProto)
   assert(mt(env, constructor, 'IsCallable'))
   local proto = mt(env, constructor, 'Get', StringMT:intern('prototype'))
   if mt(env, proto, 'Type') == 'Object' then return proto end
   return defaultProto
end

-- Additional methods on PropertyDescriptor
function PropertyDescriptor.IsCompatible(desc, extensible, current)
   return ObjectMT.ValidateAndApplyPropertyDescriptor(
      nil, Undefined, Undefined, extensible, desc, current
   )
end

function PropertyDescriptor:From(env, desc)
   local obj = ObjectMT:create(env, env.realm.ObjectPrototype)
   local mkProp = function(field, val)
      mt(env, obj, 'CreateDataPropertyOrThrow', StringMT:intern(field), val)
   end
   local toBool = function(b) if b then return True else return False end end
   if desc.value ~= nil then mkProp('value', desc.value) end
   if desc.writable ~= nil then mkProp('writable', toBool(desc.writable)) end
   if desc.get ~= nil then mkProp('get', desc.get) end
   if desc.set ~= nil then mkProp('get', desc.set) end
   if desc.enumerable ~= nil then mkProp('enumerable', toBool(desc.enumerable)) end
   if desc.configurable ~= nil then mkProp('configurable', toBool(desc.configurable)) end
   return obj
end

function ObjectMT.ToPropertyDescriptor(env, obj)
   if not mt(env, obj, 'IsObject') then
      ThrowTypeError(env, 'property descriptor not an object')
   end
   local desc = PropertyDescriptor:new{}
   local has = function(field)
      return mt(env, obj, 'HasProperty', StringMT:intern(field))
   end
   local get = function(field)
      return mt(env, obj, 'Get', StringMT:intern(field))
   end
   local getBool = function(field)
      return mt(env, get(field), 'ToBoolean').value
   end
   if has('enumerable') then desc.enumerable = getBool('enumerable') end
   if has('configurable') then desc.configurable = getBool('configurable') end
   if has('value') then desc.value = get('value') end -- can be Undefined
   if has('writable') then desc.writable = getBool('writable') end
   if has('get') then
      local getter = get('get')
      if (not mt(env, getter, 'IsCallable')) and not rawequal(getter, Undefined) then
         ThrowTypeError(env, 'getter is not callable')
      end
      desc.get = getter -- can be Undefined
   end
   if has('set') then
      local setter = get('set')
      if (not mt(env, setter, 'IsCallable')) and (not rawequal(setting, Undefined)) then
         ThrowTypeError(env, 'setter is not callable')
      end
      desc.set = setter
   end
   if desc.get ~= nil or desc.set ~= nil then
      if desc.value ~= nil or desc.writable ~= nil then
         ThrowTypeError(env, 'accessor or data descriptor, not both')
      end
   end
   return desc
end

-- Math
function JsValMT.__add(lval, rval, env) -- note optional env!
   assert(isJsVal(rval))
   local lprim = mt(env, lval, 'ToPrimitive')
   if mt(env, lprim, 'Type') == 'String' then
      -- ToPrimitive/ToString on rval done inside StringMT.__add
      return StringMT.__add(lprim, rval, env) -- no need for ToString on lprim
   end
   local rprim = mt(env, rval, 'ToPrimitive')
   if mt(env, rprim, 'Type') == 'String' then
      local lstr = mt(env, lprim, 'ToString')
      return StringMT.__add(lstr, rprim, env) -- no need for ToString on rprim
   end
   local lnum = mt(env, lprim, 'ToNumeric')
   local rnum = mt(env, rprim, 'ToNumeric') -- avoids a redundant ToPrimitive
   return lnum + rnum
end
copyToAll('__add')
function StringMT.__add(lstr, rstr, env)
   if getmetatable(rstr) ~= StringMT then
      assert(isJsVal(rstr))
      local rprim = mt(env, rstr, 'ToPrimitive')
      rstr = mt(env, rprim, 'ToString')
   end
   return StringMT:cons(lstr, rstr)
end
function NumberMT.__add(l, r, env)
   if getmetatable(r) ~= NumberMT then
      assert(isJsVal(r))
      local rprim = mt(env, r, 'ToPrimitive') -- may be redundant
      if mt(env, rprim, 'Type') == 'String' then
         -- whoops, bail to string + string case!
         local lstr = mt(env, l, 'ToString')
         return StringMT.__add(lstr, rprim, env)
      end
      r = mt(env, rprim, 'ToNumeric')
   end
   return NumberMT:from(l.value + r.value)
end

function JsValMT.__sub(lval, rval, env) -- note optional env!
   local lnum = mt(env, lval, 'ToNumeric')
   local rnum = mt(env, rval, 'ToNumeric')
   if mt(env, lnum, 'Type') ~= mt(env, rnum, 'Type') then
      ThrowTypeError(env, 'bad types for subtraction')
   end
   assert(getmetatable(lnum) == NumberMT)
   return NumberMT:from(lnum.value - rnum.value)
end
copyToAll('__sub')
function NumberMT.__sub(l, r, env)
   if getmetatable(r) ~= NumberMT then
      r = mt(env, r, 'ToNumeric')
   end
   return NumberMT:from(l.value - r.value)
end

function JsValMT.__div(lval, rval, env) -- note optional env!
   local lnum = mt(env, lval, 'ToNumeric')
   local rnum = mt(env, rval, 'ToNumeric')
   if mt(env, lnum, 'Type') ~= mt(env, rnum, 'Type') then
      ThrowTypeError(env, 'bad types for division')
   end
   assert(getmetatable(lnum) == NumberMT)
   return NumberMT:from(lnum.value / rnum.value)
end
copyToAll('__div')
function NumberMT.__div(l, r, env)
   if getmetatable(r) ~= NumberMT then
      r = mt(env, r, 'ToNumeric')
   end
   return NumberMT:from(l.value / r.value)
end

function JsValMT.__mul(lval, rval, env) -- note optional env!
   local lnum = mt(env, lval, 'ToNumeric')
   local rnum = mt(env, rval, 'ToNumeric')
   if mt(env, lnum, 'Type') ~= mt(env, rnum, 'Type') then
      ThrowTypeError(env, 'bad types for multiplication')
   end
   assert(getmetatable(lnum) == NumberMT)
   return NumberMT:from(lnum.value * rnum.value)
end
copyToAll('__mul')
function NumberMT.__mul(l, r, env)
   if getmetatable(r) ~= NumberMT then
      r = mt(env, r, 'ToNumeric')
   end
   return NumberMT:from(l.value * r.value)
end

function JsValMT.__unm(val, _, env) -- note optional env!
   local num = mt(env, val, 'ToNumeric')
   assert(getmetatable(num) == NumberMT)
   return NumberMT.__unm(num, num, env)
end
copyToAll('__unm')
function NumberMT.__unm(n, _, env)
   -- special case for -0
   if n.value == 0 and 1/n.value == 1/0 then
      return NumberMT:from(-1/(1/0))
   end
   return NumberMT:from(-n.value)
end

-- Note that the order in which we call 'ToPrimitive' is a slight variance
-- from the JS spec -- EcmaScript is strict about calling it on the left
-- operand first, then the right operand -- but our turtlescript compiler
-- can swap operands in the interest of simplifying the bytecode operation.
function JsValMT.__lt(lval, rval, env) -- note optional env!
   local lnum = mt(env, lval, 'ToPrimitive', 'number')
   local rnum = mt(env, rval, 'ToPrimitive', 'number')
   -- if *both* are strings, we do a string comparison
   if mt(env, lnum, 'Type') == 'String' and mt(env, rnum, 'Type') == 'String' then
      return StringMT.__lt(lval, rval, env)
   end
   -- otherwise, a numerical comparison (skipping some BigInt support here)
   lnum = mt(env, lnum, 'ToNumeric')
   rnum = mt(env, rnum, 'ToNumeric')
   return NumberMT.__lt(lnum, rnum, env)
end
copyToAll('__lt')
function StringMT.__lt(l, r, env)
   if getmetatable(r) ~= StringMT then
      -- this will be a numeric comparison.
      return JsValMT.__lt(l, r, env)
   end
   l = StringMT:flatten(l).suffix
   r = StringMT:flatten(r).suffix
   return l < r -- This is UTF-16 but I think it works out correctly
end
function NumberMT.__lt(l, r, env)
   if getmetatable(r) ~= NumberMT then
      r = mt(env, r, 'ToPrimitive', 'number')
      r = mt(env, r, 'ToNumeric')
   end
   return l.value < r.value
end

function JsValMT.__le(lval, rval, env) -- note optional env!
   local lnum = mt(env, lval, 'ToPrimitive', 'number')
   local rnum = mt(env, rval, 'ToPrimitive', 'number')
   -- if *both* are strings, we do a string comparison
   if mt(env, lnum, 'Type') == 'String' and mt(env, rnum, 'Type') == 'String' then
      return StringMT.__le(lval, rval, env)
   end
   -- otherwise, a numerical comparison (skipping some BigInt support here)
   lnum = mt(env, lnum, 'ToNumeric')
   rnum = mt(env, rnum, 'ToNumeric')
   return NumberMT.__le(lnum, rnum, env)
end
copyToAll('__le')
function StringMT.__le(l, r, env)
   if getmetatable(r) ~= StringMT then
      -- this will be a numeric comparison.
      return JsValMT.__le(l, r, env)
   end
   l = StringMT:flatten(l).suffix
   r = StringMT:flatten(r).suffix
   return l <= r -- This is UTF-16 but I think it works out correctly
end
function NumberMT.__le(l, r, env)
   if getmetatable(r) ~= NumberMT then
      r = mt(env, r, 'ToPrimitive', 'number')
      r = mt(env, r, 'ToNumeric')
   end
   return l.value <= r.value
end

function JsValMT.__eq(l, r, env)
   if isJsVal(l) ~= isJsVal(r) then return false end
   if getmetatable(l) == NumberMT then return NumberMT.__eq(l, r, env) end
   return mt(env, l, 'SameValue', r)
end
function NumberMT.__eq(l, r, env)
   if getmetatable(r) ~= NumberMT then return false end
   return l.value == r.value -- matches Number::equal (6.1.6.1.13)
end
function StringMT.__eq(l, r, env) -- fast path
   if getmetatable(r) ~= StringMT then return false end
   return StringMT:flatten(l).suffix == StringMT:flatten(r).suffix
end

function UndefinedMT.SameValue(env, l, r)
   if getmetatable(r) ~= UndefinedMT then return false end
   return true
end
function NullMT.SameValue(env, l, r)
   if getmetatable(r) ~= NullMT then return false end
   return true
end
function BooleanMT.SameValue(env, l, r)
   if getmetatable(r) ~= BooleanMT then return false end
   return l.value == r.value
end
function StringMT.SameValue(env, l, r)
   if getmetatable(r) ~= StringMT then return false end
   return StringMT.equals(l, r)
end
function SymbolMT.SameValue(env, l, r)
   if getmetatable(r) ~= StringMT then return false end
   return rawequal(l, r)
end
function ObjectMT.SameValue(env, l, r)
   if mt(env, r, 'Type') ~= 'Object' then return false end -- allow subclassing
   return rawequal(l, r)
end
function NumberMT.SameValue(env, l, r) -- see 6.1.6.1.14
   if getmetatable(r) ~= NumberMT then return false end
   local x, y = l.value, r.value
   if x ~= x and y ~= y then return true end -- both x and y are NaN
   if x == 0 and y == 0 then return (1/x) == (1/y) end -- distinguish +/- 0
   return (x == y)
end

function StringMT.equals(l, r)
   return StringMT:flatten(l).suffix == StringMT:flatten(r).suffix
end

function StringMT.IsZeroLength(s)
   local u8 = s.utf8
   if u8 ~= nil then return #u8 == 0 end -- fast path!
   for _,ss in ipairs{ s.suffix, s.prefix } do -- suffix's more likely non-nil
      if ss ~= nil then
         if type(ss) == 'string' then
            if #ss > 0 then return false end
         else
            if not StringMT.IsZeroLength(ss) then return false end
         end
      end
   end
   return true
end

-- Object utilities (lua interop)
function ObjectMT:__index(key)
   local env = rawget(self, DEFAULTENV)
   local jskey = mt(env, fromLua(env, key), 'ToPropertyKey')
   return toLua(env, mt(env, self, 'GetV', jskey))
end
function ObjectMT:__newindex(key, value)
   local env = rawget(self, DEFAULTENV)
   local jskey = mt(env, fromLua(env, key), 'ToPropertyKey')
   local jsval = fromLua(env, value)
   mt(env, self, '[[Set]]', jskey, jsval, self)
end

-- String utilities (lua interop)
-- Note that #s with s an wrapped String jsval doesn't invoke this on Lua 5.1
-- although it works fine on Lua 5.2+ ; use jsval.strlen(S) instead of #S
-- for compatibility with Lua 5.1.
function StringMT:__len()
   if self.prefix ~= nil then
      StringMT:flatten(self)
   end
   return (#self.suffix) / 2 -- UTF-16 length (should be // in lua 5.3)
end

-- UTF16 to UTF8 string conversion
function StringMT:__tostring()
   local u8 = self.utf8
   if u8 ~= nil then return u8 end -- fast path for constants
   s = StringMT:flatten(self).suffix -- UTF-16 native string
   local result = {}
   local len = #s
   local surrogate = false
   for i=1,len,2 do
      local hi,lo = string.byte(s, i, i+1)
      local code = compat.combineBytes(hi, lo)
      if surrogate ~= false then
         if code >= 0xDC00 and code <= 0xDFFF then
            code = (surrogate - 0xDB00) * 0x400 + (code - 0xDC00) + 0x10000;
            surrogate = false
         else
            assert(false, 'bad utf-16')
         end
         table.insert(result, code)
      elseif code >= 0xDB00 and code <= 0xDBFF and (i+2) < len then
         surrogate = code
      else
         table.insert(result, code)
      end
   end
   assert(surrogate == false, 'bad utf-16')
   u8 = compat.utf8char(compat.unpack(result))
   -- speed up future invocations!
   self.utf8 = u8
   return u8
end
function StringMT.toKey(env, s)
   local key = rawget(s, 'key')
   if key ~= nil then return key end -- fast path
   key = 'js@' .. StringMT.__tostring(s)
   rawset(s, 'key', key)
   return key
end

return {
   Undefined = Undefined,
   Null = Null,
   True = True,
   False = False,
   PropertyDescriptor = PropertyDescriptor,
   extendObj = function(obj)
      setmetatable(obj, extendMT(getmetatable(obj)))
   end,
   invokePrivate = mt,
   isJsVal = isJsVal,
   fromLua = fromLua,
   toLua = toLua,
   convertUtf16ToUtf8 = function(utf16)
      return tostring(StringMT:cons(nil, utf16))
   end,
   stringToUtf16 = function(s) return StringMT:flatten(s).suffix end,
   Type = function(jsval) return mt(nil, jsval, 'Type') end,
   strlen = function(jsval) return StringMT.__len(jsval) end,
   newBoolean = function(b) if b then return True else return False end end,
   newNumber = function(val) return NumberMT:from(val) end,
   newString = function(s) return StringMT:fromUTF8(s) end,
   newStringFromUtf16 = function(s) return StringMT:cons(nil, s) end,
   newStringIntern = function(s) return StringMT:intern(s) end,
   newObject = function(env, proto)
      if proto == nil then proto = env.realm.ObjectPrototype end
      return ObjectMT:create(env, proto)
   end,
   newFunction = function(env, fields)
      -- XXX this should match OrdinaryFunctionCreate from ECMAScript spec
      local f = ObjectMT:create(env, env.realm.FunctionPrototype)
      -- hidden fields of callable function objects
      rawset(f, PARENTFRAME, fields.parentFrame)
      rawset(f, VALUE, { modul = fields.modul, func = fields.func })
      -- user-visible fields
      mt(env, f, 'OrdinaryDefineOwnProperty', StringMT:intern('name'),
         PropertyDescriptor:newData{value = fields.func.name, configurable=true}
      )
      mt(env, f, 'OrdinaryDefineOwnProperty', StringMT:intern('length'),
         PropertyDescriptor:newData{value = NumberMT:from(fields.func.nargs), configurable=true}
      )
      -- spec-defined marker field: this is callable
      rawset(f, CALL, true)
      return f
   end,
   newFrame = function(env, parentFrame, this, arguments)
      local nFrame = ObjectMT:create(env, parentFrame)
      mt(env, nFrame, '[[Set]]', StringMT:intern('this'), this, nFrame)
      mt(env, nFrame, '[[Set]]', StringMT:intern('arguments'), arguments, nFrame)
      assert(rawget(arguments, PARAMETERMAP) ~= nil, 'Should be arguments array')
      -- this is used by the binterp compiler to avoid actual inheritance of
      -- frame objects, but we don't support the __proto__ field yet (although
      -- we do support actual inheritance of frame objects!).  Anyway, fake
      -- it until you make it.
      mt(env, nFrame, '[[Set]]', StringMT:intern('__proto__'), parentFrame, nFrame)
      return nFrame
   end,
   privateSlots = {
      PARENTFRAME = PARENTFRAME,
      VALUE = VALUE,
      ISAPPLY = ISAPPLY,
      DEBUGNAME = DEBUGNAME,

      CALL = CALL,
      PARAMETERMAP = PARAMETERMAP,
      BOOLEANDATA = BOOLEANDATA,
      ERRORDATA = ERRORDATA,
      NUMBERDATA = NUMBERDATA,
      STRINGDATA = STRINGDATA,
      SYMBOLDATA = SYMBOLDATA,
   }
}

end)

register('luaturtle.env', function(myrequire)
-- JavaScript execution environment
-- Consists of a realm, well-known symbols, etc
local ops = myrequire('luaturtle.ops')
local jsval = myrequire('luaturtle.jsval')
local compat = myrequire('luaturtle.compat')

function nyi(which)
   return function()
      error("Not yet implemented: " .. which)
   end
end

-- Bytecode interpreter execution state
local State = {}
State.__index = State

function State:new(parent, frame, modul, func)
   local o = {
      parent = parent,
      frame = frame,
      stack = {},
      pc = 1, -- lua indexing is 1-based
      -- from bytecode file
      modul = modul,
      func = func
   }
   setmetatable(o, self)
   return o
end

function State:__tostring()
   local s = ''
   for k,v in pairs(self) do
      s = s .. k .. '=' .. tostring(v) .. ','
   end
   return 'State{' .. s .. '}'
end

function State:push(v)
   table.insert(self.stack, v)
end

function State:pop()
   return table.remove(self.stack)
end

function State:getnext()
   local n = self.func.bytecode[self.pc]
   self.pc = self.pc + 1
   return n
end


-- JavaScript execution environment
-- Consists of a realm, well-known symbols, etc.
-- (Also the bytecode interpreter!)
local Env = {}
Env.__index = Env

function Env:new()
   local env = {
      realm = {},
      symbols = {}
   }
   setmetatable(env, self)

   local function setRealm(name, debugName, obj)
      rawset(obj, jsval.privateSlots.DEBUGNAME, debugName)
      env.realm[name] = obj
   end

   -- %ObjectPrototype%, the parent of all Objects
   local ObjectPrototype = jsval.newObject(env, jsval.Null)
   jsval.extendObj(ObjectPrototype)
   getmetatable(ObjectPrototype)['[[SetPrototypeOf]]'] =
      getmetatable(ObjectPrototype)['SetImmutablePrototype']
   setRealm('ObjectPrototype', '%ObjectPrototype%', ObjectPrototype)

   -- 19.1.1 The Object Constructor
   local Object = env:addNativeFunc(nil, 'Object', 1, function(this, args, newTarget, activeFunc)
     if newTarget ~= nil and newTarget ~= activeFunc then
        return jsval.invokePrivate(env, newTarget, 'OrdinaryCreateFromConstructor', ObjectPrototype)
     end
     local value = args[1]
     if rawequal(value, jsval.Undefined) or rawequal(value, jsval.Null) then
        return jsval.newObject(env, ObjectPrototype)
     end
     return jsval.invokePrivate(env, value, 'ToObject')
   end)
   env:mkFrozen(Object, 'prototype', ObjectPrototype)
   env:mkHidden(ObjectPrototype, 'constructor', Object) -- cycles, whee!
   setRealm('Object', '%Object%', Object)

   local FunctionPrototype = jsval.newObject(env, ObjectPrototype)
   env:mkDataDesc(FunctionPrototype, 'name', { value = '', configurable = true })
   env:mkDataDesc(FunctionPrototype, 'length', { value = 0, configurable = true })
   setRealm('FunctionPrototype', '%Function.prototype%', FunctionPrototype)

   -- 19.2.1 The Function Constructor
   local Function = jsval.newObject(env, FunctionPrototype)
   env:mkDataDesc(Function, 'name', { value = 'Function', configurable = true })
   env:mkDataDesc(Function, 'length', { value = 1, configurable = true })
   env:mkFrozen(Function, 'prototype', FunctionPrototype)
   setRealm('Function', '%Function%', Function)

   -- 19.3 Boolean Objects
   local BooleanPrototype = jsval.newObject(env, ObjectPrototype)
   rawset(BooleanPrototype, jsval.privateSlots.BOOLEANDATA, jsval.False)
   setRealm('BooleanPrototype', '%BooleanPrototype%', BooleanPrototype)

   local Boolean = env:addNativeFunc(nil, 'Boolean', 1, function(this, args, newTarget)
     local b = jsval.invokePrivate(env, args[1] or jsdef.Undefined, 'ToBoolean')
     if newTarget == nil then return b end
     local proto = jsval.invokePrivate(env, newTarget, 'GetPrototypeFromConstructor', BooleanPrototype)
     return jsval.invokePrivate(env, b, 'ToObject', proto)
   end)
   env:mkFrozen(Boolean, 'prototype', BooleanPrototype)
   env:mkHidden(BooleanPrototype, 'constructor', Boolean) -- cycles, whee!
   setRealm('Boolean', '%Boolean%', Boolean)

   -- 19.5 Error objects
   local ErrorPrototype = jsval.newObject(env, ObjectPrototype)
   env:mkHidden(ErrorPrototype, 'name', 'Error')
   env:mkHidden(ErrorPrototype, 'message', '')
   setRealm('ErrorPrototype', '%ErrorPrototype%', ErrorPrototype)

   local Error = env:addNativeFunc(nil, 'Error', 1, function(this, args, newTarget, activeFunc)
     local newTarget = newTarget or activeFunc or jsval.Undefined
     local O = jsval.invokePrivate(env, newTarget, 'OrdinaryCreateFromConstructor', ErrorPrototype)
     rawset(O, jsval.privateSlots.ERRORDATA, jsval.Undefined)
     if args[1] ~= nil then
        local msg = jsval.invokePrivate(env, args[1], 'ToString')
        env:mkHidden(O, 'message', msg)
     end
     return O
   end)
   env:mkFrozen(Error, 'prototype', ErrorPrototype)
   env:mkHidden(ErrorPrototype, 'constructor', Error) -- cycles, whee!
   setRealm('Error', '%Error%', Error)

   local nativeErrors = {
      'EvalError', 'RangeError', 'ReferenceError', 'SyntaxError',
      'TypeError', 'URIError'
   }
   for _,nativeErrorName in ipairs(nativeErrors) do
      local NativeErrorPrototype = jsval.newObject(env, ErrorPrototype)
      env:mkHidden(NativeErrorPrototype, 'name', nativeErrorName)
      env:mkHidden(NativeErrorPrototype, 'message', '')
      setRealm(nativeErrorName .. 'Prototype', '%' .. nativeErrorName .. 'Prototype%', NativeErrorPrototype)

      local NativeError = env:addNativeFunc(nil, nativeErrorName, 1, function(this, args, newTarget, activeFunc)
        local newTarget = newTarget or activeFunc or jsval.Undefined
        local O = jsval.invokePrivate(env, newTarget, 'OrdinaryCreateFromConstructor', NativeErrorPrototype)
        rawset(O, jsval.privateSlots.ERRORDATA, jsval.Undefined)
        if args[1] ~= nil then
           local msg = jsval.invokePrivate(env, args[1], 'ToString')
           env:mkHidden(O, 'message', msg)
        end
        return O
      end)
      env:mkFrozen(NativeError, 'prototype', NativeErrorPrototype)
      env:mkHidden(NativeErrorPrototype, 'constructor', NativeError) -- cycles, whee!
      setRealm(nativeErrorName, '%' .. nativeErrorName .. '%', NativeError)
   end

   -- 20.1.3 Properties of the Number Prototype Object
   local NumberPrototype = jsval.newObject(env, ObjectPrototype)
   rawset(NumberPrototype, jsval.privateSlots.NUMBERDATA, jsval.newNumber(0))
   setRealm('NumberPrototype', '%NumberPrototype%', NumberPrototype)

   -- 20.1.1 The Number Constructor
   local Number = env:addNativeFunc(nil, 'Number', 1, function(this, args, newTarget)
     local value = args[1] or jsval.newNumber(0)
     local n = jsval.invokePrivate(env, value, 'ToNumeric')
     -- XXX BigInt support
     if newTarget == nil then return n end
     local proto = jsval.invokePrivate(env, newTarget, 'GetPrototypeFromConstructor', NumberPrototype)
     return jsval.invokePrivate(env, n, 'ToObject', proto)
   end)
   env:mkFrozen(Number, 'prototype', NumberPrototype)
   env:mkHidden(NumberPrototype, 'constructor', Number) -- cycles, whee!
   setRealm('Number', '%Number%', Number)

   -- 20.3 The Math object
   local Math = jsval.newObject(env, ObjectPrototype)
   setRealm('Math', '%Math%', Math)

   -- 25.5 The JSON object
   local JSON = jsval.newObject(env, ObjectPrototype)
   setRealm('JSON', '%JSON%', JSON)

   -- 21.1.3 Properties of the String Prototype Object
   local StringPrototype = jsval.newObject(env, ObjectPrototype)
   jsval.extendObj(StringPrototype)
   rawset(StringPrototype, jsval.privateSlots.STRINGDATA, jsval.newStringIntern(''))
   env:mkFrozen(StringPrototype, 'length', 0)
   getmetatable(StringPrototype)['[[GetOwnProperty]]'] = function(env, S, P)
      local desc = jsval.invokePrivate(env, S, 'OrdinaryGetOwnProperty', P)
      if desc ~= nil then return desc end
      return jsval.invokePrivate(env, S, 'StringGetOwnProperty', P)
   end
   getmetatable(StringPrototype)['[[DefineOwnProperty]]'] = function(env, S, P, desc)
      local stringDesc = jsval.invokePrivate(env, S, 'StringGetOwnProperty', P)
      if stringDesc ~= nil then
         local extensible = jsval.invokePrivate(env, S, 'OrdinaryIsExtensible')
         return desc:IsCompatible(extensible, stringDesc)
      end
      return jsval.invokePrivate(env, S, 'OrdinaryDefineOwnProperty', P, desc)
   end
   getmetatable(StringPrototype)['[[OwnPropertyKeys]]'] = nyi('9.4.3.3')
   setRealm('StringPrototype', '%StringPrototype%', StringPrototype)

   -- 21.1.1 The String constructor
   local String = env:addNativeFunc(nil, 'String', 1, function(this, args, newTarget)
     local value = args[1]
     local s
     if value == nil then
        s = jsval.newStringIntern('')
     elseif newTarget == nil and jsval.Type(value) == 'Symbol' then
        return jsval.invokePrivate(env, value, 'SymbolDescriptiveString')
     else
        s = jsval.invokePrivate(env, value, 'ToString')
     end
     if newTarget == nil then return s end
     local proto = jsval.invokePrivate(env, newTarget, 'GetPrototypeFromConstructor', StringPrototype)
     return jsval.invokePrivate(env, s, 'StringCreate', proto)
   end)
   env:mkFrozen(String, 'prototype', StringPrototype)
   env:mkHidden(StringPrototype, 'constructor', String) -- cycles, whee!
   setRealm('String', '%String%', String)

   -- 22.1.3 Properties of the Array Prototype object
   local ArrayPrototype = jsval.newObject(env, ObjectPrototype)
   jsval.extendObj(ArrayPrototype)
   env:mkDataDesc(ArrayPrototype, 'length', { value = 0, writable = true })
   getmetatable(ArrayPrototype)['[[DefineOwnProperty]]'] =
      getmetatable(ArrayPrototype)['ArrayDefineOwnProperty']
   setRealm('ArrayPrototype', '%ArrayPrototype%', ArrayPrototype)

   -- 22.1.1 The Array constructor
   local Array = jsval.newObject(env, FunctionPrototype)
   env:mkFrozen(Array, 'prototype', ArrayPrototype)
   env:mkDataDesc(Array, 'name', { value = 'Array', configurable = true })
   env:mkDataDesc(Array, 'length', { value = 1, configurable = true })
   setRealm('Array', '%Array%', Array)

   -- Functions of global this
   local parseInt = env:addNativeFunc(nil, 'parseInt', 2, function(this, args)
     local inputString = jsval.invokePrivate(env, args[1] or jsval.Undefined, 'ToString')
     local S = string.gsub(tostring(inputString), '^%s+', '')
     local sign = 1
     if S ~= '' and string.sub(S, 1, 1) == '-' then sign = -1 end
     S = string.gsub(S, '^[+-]', '')
     local R = jsval.toLua(env, jsval.invokePrivate(env, args[2] or jsval.Undefined, 'ToInt32'))
     local stripPrefix = true
     if R == 0 then
        R = 10
     else
        if R < 2 or R > 36 then return jsval.newNumber(0/0) end
        if R ~= 16 then stripPrefix = false end
     end
     if stripPrefix then
        if string.lower(string.sub(S, 1, 2)) == '0x' then
           S = string.sub(S, 3)
           R = 16
        end
     end
     local function digit(i)
        local code = string.byte(S, i)
        if code >= 0x30 and code <= 0x39 then return code - 0x30 end -- 0-9
        if code >= 0x41 and code <= 0x5A then return code - 0x41 + 10 end -- A-Z
        if code >= 0x61 and code <= 0x7A then return code - 0x61 + 10 end -- a-z
        return nil
     end
     -- scan for bad characters
     local Z = S
     for i = 1,#S do
        local d = digit(i)
        if d == nil or d >= R then
           Z = string.sub(S, 1, i-1)
           break
        end
     end
     if #Z == 0 then return jsval.newNumber(0/0) end
     local number = tonumber(Z, R)
     assert(number ~= nil, Z .. ' radix ' .. R)
     -- handle -0!
     if sign < 0 and number == 0 then return jsval.newNumber(-1/(1/0)) end
     return jsval.newNumber(sign * number)
   end)
   setRealm('parseInt', '%parseInt%', parseInt)

   -- Not in ECMAScript but useful: console!
   local ConsolePrototype = jsval.newObject(env, ObjectPrototype)
   env.realm.ConsolePrototype = ConsolePrototype
   local Console = jsval.newObject(env, ConsolePrototype)
   setRealm('Console', '%Console%', Console)

   -- Native methods
   local function RequireObjectCoercible(arg)
      if rawequal(arg, jsval.Null) or rawequal(arg, jsval.Undefined) then
         error(env:newTypeError('this not coercible to object'))
      end
      return arg
   end
   env:addNativeFunc(BooleanPrototype, 'valueOf', 0, function(this, args)
      return jsval.invokePrivate(env, this, 'thisBooleanValue')
   end)
   env:addNativeFunc(ConsolePrototype, 'log', 0, function(this, args)
      local sargs = {}
      for _,v in ipairs(args) do
         table.insert(sargs, tostring(jsval.invokePrivate(env, v, 'ToString')))
      end
      print(table.concat(sargs, ' '))
      return jsval.Undefined
   end)
   env:addNativeFunc(ErrorPrototype, 'toString', 0, function(this, args)
      local O = this
      if jsval.Type(O) ~= 'Object' then
         error(env:newTypeError('not object'))
      end
      local name = jsval.invokePrivate(env, O, 'Get', jsval.newStringIntern('name'))
      if rawequal(name, jsval.Undefined) then
         name = jsval.newStringIntern('Error')
      else
         name = jsval.invokePrivate(env, name, 'ToString')
      end
      local msg = jsval.invokePrivate(env, O, 'Get', jsval.newStringIntern('message'))
      if rawequal(msg, jsval.Undefined) then
         msg = jsval.newStringIntern('')
      else
         msg = jsval.invokePrivate(env, msg, 'ToString')
      end
      if rawequal(jsval.invokePrivate(env, name, 'ToBoolean'), jsval.False) then
         return msg
      end
      if rawequal(jsval.invokePrivate(env, msg, 'ToBoolean'), jsval.False) then
         return name
      end
      return name + jsval.newStringIntern(': ') + msg
   end)
   env:addNativeFunc(Math, 'abs', 1, function(this, args)
      local n = jsval.invokePrivate(env, args[1] or jsval.Undefined, 'ToNumber')
      return jsval.newNumber(math.abs(jsval.toLua(env, n)))
   end)
   env:addNativeFunc(Math, 'floor', 1, function(this, args)
      local n = jsval.invokePrivate(env, args[1] or jsval.Undefined, 'ToNumber')
      n = jsval.toLua(env, n)
      -- special case for -0.0
      if n == 0 and (1/n) == (-1/0) then return jsval.newNumber(n) end
      return jsval.newNumber(math.floor(n))
   end)
   env:addNativeFunc(NumberPrototype, 'valueOf', 0, function(this, args)
      return jsval.invokePrivate(env, this, 'thisNumberValue')
   end)
   env:addNativeFunc(Object, 'create', 2, function(this, args)
     local O = args[1] or jsval.Undefined
     local Properties = args[2] or jsval.Undefined
     if O ~= jsval.Null and jsval.Type(O) ~= 'Object' then
        error(env:newTypeError('prototype not an object or null'))
     end
     local obj = jsval.newObject(env, O)
     if rawequal(Properties, jsval.Undefined) then return obj end
     return jsval.invokePrivate(env, obj, 'ObjectDefineProperties', Properties)
   end)
   env:addNativeFunc(Object, 'defineProperties', 2, function(this, args)
     local O = args[1] or jsval.Undefined
     local Properties = args[2] or jsval.Undefined
     return jsval.invokePrivate(env, O, 'ObjectDefineProperties', Properties)
   end)
   env:addNativeFunc(Object, 'defineProperty', 3, function(this, args)
     local O = args[1] or jsval.Undefined
     local P = args[2] or jsval.Undefined
     local Attributes = args[3] or jsval.Undefined
     if jsval.Type(O) ~= 'Object' then
        error(env:newTypeError('not an object'))
     end
     local key = jsval.invokePrivate(env, P, 'ToPropertyKey')
     local desc = jsval.invokePrivate(env, Attributes, 'ToPropertyDescriptor')
     jsval.invokePrivate(env, O, 'DefinePropertyOrThrow', key, desc)
     return O
   end)
   env:addNativeFunc(Object, 'entries', 1, function(this, args)
     local O = args[1] or jsval.Undefined
     local obj = jsval.invokePrivate(env, O, 'ToObject')
     local nameList = jsval.invokePrivate(env, obj, 'EnumerableOwnPropertyNames', 'key+value')
     return env:arrayCreate(nameList)
   end)
   env:addNativeFunc(Object, 'keys', 1, function(this, args)
     local O = args[1] or jsval.Undefined
     local obj = jsval.invokePrivate(env, O, 'ToObject')
     local nameList = jsval.invokePrivate(env, obj, 'EnumerableOwnPropertyNames', 'key')
     return env:arrayCreate(nameList)
   end)
   env:addNativeFunc(Object, 'values', 1, function(this, args)
     local O = args[1] or jsval.Undefined
     local obj = jsval.invokePrivate(env, O, 'ToObject')
     local nameList = jsval.invokePrivate(env, obj, 'EnumerableOwnPropertyNames', 'value')
     return env:arrayCreate(nameList)
   end)
   -- Object.Try / Object.Throw -- turtlescript extension!
   env:addNativeFunc(Object, 'Try', 4, function(this, args)
     local innerThis = args[1] or jsval.Undefined
     local bodyBlock = args[2] or jsval.Undefined
     local catchBlock = args[3] or jsval.Undefined
     local finallyBlock = args[4] or jsval.Undefined
     local status, rv = env:interpretFunction(bodyBlock, innerThis, {})
     if not status then -- exception thrown! invoke catchBlock!
        if not jsval.isJsVal(rv) then error(rv) end -- lua exception, rethrow
        -- print('EXCEPTION CAUGHT!', rv)
        if jsval.Type(catchBlock) == 'Object' then
           status, rv = env:interpretFunction( catchBlock, innerThis, { rv } )
           -- ignore return value of catch block (not ideal)
           if status then rv = jsval.Undefined end
        end
     end
     if jsval.Type(finallyBlock)=='Object' then
        local finalStatus, finalResult =
           env:interpretFunction( finallyBlock, innerThis, {} )
        if not finalStatus then -- exceptions propagate out from finally
           status, rv = finalStatus, finalResult
        end
     end
     -- rethrow if exception uncaught (or thrown during catch/finally)
     if not status then error(rv) end
     return rv
   end)
   env:addNativeFunc(Object, 'Throw', 1, function(this, args)
     local ex = args[1] or jsval.Undefined
     error(ex) -- native throw!
   end)

   env:addNativeFunc(ObjectPrototype, 'hasOwnProperty', 1, function(this, args)
     local V = args[1] or jsval.Undefined
     local P = jsval.invokePrivate(env, V, 'ToPropertyKey')
     local O = jsval.invokePrivate(env, this, 'ToObject')
     return jsval.invokePrivate(env, O, 'HasOwnProperty', P)
   end)
   env:addNativeFunc(ObjectPrototype, 'toString', 0, function(this, args)
     if rawequal(this, jsval.Undefined) then
        return jsval.newStringIntern('[object Undefined]')
     elseif rawequal(this, jsval.Null) then
        return jsval.newStringIntern('[object Null]')
     end
     local O = jsval.invokePrivate(env, this, 'ToObject')
     local isArray = jsval.invokePrivate(env, O, 'IsArray')
     local builtinTag
     if isArray then
        builtinTag = 'Array'
     elseif rawget(O, jsval.privateSlots.PARAMETERMAP) ~= nil then
        builtinTag = 'Arguments'
     elseif rawget(O, jsval.privateSlots.CALL) ~= nil then
        builtinTag = 'Function'
     elseif rawget(O, jsval.privateSlots.ERRORDATA) ~= nil then
        builtinTag = 'Error'
     elseif rawget(O, jsval.privateSlots.BOOLEANDATA) ~= nil then
        builtinTag = 'Boolean'
     elseif rawget(O, jsval.privateSlots.NUMBERDATA) ~= nil then
        builtinTag = 'Number'
     elseif rawget(O, jsval.privateSlots.STRINGDATA) ~= nil then
        builtinTag = 'String'
     -- XXX Date and RegExp, too
     else
        builtinTag = 'Object'
     end
     local tag = jsval.Undefined
     if env.symbols.toStringTag ~= nil then -- XXX symbols NYI
        tag = jsval.invokePrivate(env, O, 'Get', env.symbols.toStringTag)
     end
     if jsval.Type(tag) ~= 'String' then tag = jsval.newString(builtinTag) end
     return jsval.newStringIntern('[object ') + tag + jsval.newStringIntern(']')
   end)
   env:addNativeFunc(ObjectPrototype, 'valueOf', 0, function(this, args)
     return jsval.invokePrivate(env, this, 'ToObject')
   end)

   rawset(env:addNativeFunc(FunctionPrototype, 'call', 1, function(this, args)
     -- push arguments on stack and use 'invoke' bytecode op
     -- arg #0 is the function itself ('this')
     -- arg #1 is 'this' (for the invoked function)
     -- arg #2-#n are rest of arguments
     local nargs = { this } -- the function itself
     if #args == 0 then
        -- Ensure there's a 'this' value (for the invoked function);
        -- that's a non-optional argument
        table.insert(nargs, jsval.Undefined)
     else
        for i,v in ipairs(args) do
           table.insert(nargs, v)
        end
     end
     return nargs
   end), jsval.privateSlots.ISAPPLY, true)
   rawset(env:addNativeFunc(FunctionPrototype, 'apply', 2, function(this, args)
     -- push arguments on stack and use 'invoke' bytecode op
     -- arg #0 is the function itself ('this')
     -- arg #1 is 'this' (for the invoked function)
     -- arg #2 is rest of arguments, as JS array
     local nargs = { this, (args[1] or jsval.Undefined) }
     if #args > 1 then
        env:arrayEach(args[2], function(v) table.insert(nargs, v) end)
     end
     return nargs
   end), jsval.privateSlots.ISAPPLY, true)

   env:addNativeFunc(StringPrototype, 'charAt', 1, function(this, args)
     local O = RequireObjectCoercible(this)
     local S = jsval.invokePrivate(env, O, 'ToString')
     local pos = args[1] or jsval.Undefined
     local position = jsval.toLua(env, jsval.invokePrivate(env, pos, 'ToInteger'))
     local size = jsval.strlen(S)
     if position < 0 or position >= size then
        return jsval.newStringIntern('')
     end
     local start = (position * 2) + 1 -- 1-based indexing!
     local resultStr = string.sub(jsval.stringToUtf16(S), start, start + 1)
     return jsval.newStringFromUtf16(resultStr)
   end)
   env:addNativeFunc(StringPrototype, 'charCodeAt', 1, function(this, args)
     local O = RequireObjectCoercible(this)
     local S = jsval.invokePrivate(env, O, 'ToString')
     local pos = args[1] or jsval.Undefined
     local position = jsval.toLua(env, jsval.invokePrivate(env, pos, 'ToInteger'))
     local size = jsval.strlen(S)
     if position < 0 or position >= size then
        return jsval.newNumber(0/0) -- NaN
     end
     local start = (position * 2) + 1 -- 1-based indexing!
     local high,lo = string.byte(jsval.stringToUtf16(S), start, start + 1)
     return jsval.newNumber(compat.combineBytes(high, lo))
   end)
   env:addNativeFunc(StringPrototype, 'substring', 2, function(this, args)
     local O = RequireObjectCoercible(this)
     local S = jsval.invokePrivate(env, O, 'ToString')
     local len = jsval.strlen(S)
     local startPos = args[1] or jsval.Undefined
     local intStart = jsval.toLua(env, jsval.invokePrivate(env, startPos, 'ToInteger'))
     local endPos = args[2] or jsval.Undefined
     local intEnd = len
     if not rawequal(endPos, jsval.Undefined) then
        intEnd = jsval.toLua(env, jsval.invokePrivate(env, endPos, 'ToInteger'))
     end
     local finalStart = math.max(0, math.min(intStart, len))
     local finalEnd = math.max(0, math.min(intEnd, len))
     local from = math.min(finalStart, finalEnd)
     local to = math.max(finalStart, finalEnd)
     local resultStr = string.sub(jsval.stringToUtf16(S),
                                  -- 1-based indexing
                                  (from * 2) + 1,
                                  -- last index is inclusive (not exclusive)
                                  (to * 2) )
     return jsval.newStringFromUtf16(resultStr)
   end)
   env:addNativeFunc(String, 'fromCharCode', 1, function(this, args)
     local length = #args
     local elements = {}
     local nextIndex = 0
     while nextIndex < length do
        local next = args[1 + nextIndex]
        local nextCU = jsval.toLua(env, jsval.invokePrivate(env, next, 'ToUint16'))
        local msb, lsb = compat.splitBytes(nextCU)
        table.insert(elements, string.char(msb, lsb))
        nextIndex = nextIndex + 1
     end
     return jsval.newStringFromUtf16(table.concat(elements))
   end)
   env:addNativeFunc(StringPrototype, 'toLowerCase', 0, function(this, args)
     local O = RequireObjectCoercible(this)
     local S = jsval.invokePrivate(env, O, 'ToString')
     return jsval.newString(string.lower(tostring(S)))
   end)
   env:addNativeFunc(StringPrototype, 'toUpperCase', 0, function(this, args)
     local O = RequireObjectCoercible(this)
     local S = jsval.invokePrivate(env, O, 'ToString')
     return jsval.newString(string.upper(tostring(S)))
   end)
   env:addNativeFunc(StringPrototype, 'valueOf', 0, function(this, args)
      return jsval.invokePrivate(env, this, 'thisStringValue')
   end)

   return env
end

function Env:prettyPrint(jsv)
   if jsv == nil then return 'nil' end
   assert(jsval.isJsVal(jsv))
   local debugName = rawget(jsv, jsval.privateSlots.DEBUGNAME)
   if debugName ~= nil then return debugName end
   if jsval.Type(jsv) == 'Number' and jsv.value == 0 and 1/jsv.value == -1/0 then
      -- special case! (node's REPL does this as well)
      -- normally, (-0).toString() == '0'
      return '-0'
   end
   if jsval.Type(jsv) == 'String' then
      -- XXX not quite right, since the escapes are UTF-8 not UTF-16,
      -- but it's close
      return string.format('%q', tostring(jsv))
   end
   if jsval.invokePrivate(self, jsv, 'IsArray') then
      local result = {}
      self:arrayEach(jsv, function(v)
        table.insert(result, self:prettyPrint(v))
      end)
      if #result == 0 then return '[]' end
      return '[ '..table.concat(result, ', ')..' ]'
   end
   local s = tostring(jsval.invokePrivate(self, jsv, 'ToString'))
   if jsval.Type(jsv) == 'Object' and s == '[object Object]' then
      -- special case (again, node's REPL works like this too)
      local result = {}
      local ZERO = jsval.newStringIntern('0')
      local ONE = jsval.newStringIntern('1')
      local entries = jsval.invokePrivate(self, jsv, 'EnumerableOwnPropertyNames', 'key+value')
      for _,e in ipairs(entries) do
         local prop = jsval.invokePrivate(self, e, 'Get', ZERO)
         local value = jsval.invokePrivate(self, e, 'Get', ONE)
         -- XXX prop should be quoted iff it contains unusual characters
         table.insert(result, tostring(prop)..': '..self:prettyPrint(value))
      end
      return '{ ' .. table.concat(result, ', ') .. ' }'
   end
   return s
end

function Env:arrayCreate(luaArray, isArguments)
   local arr = jsval.newObject(self, self.realm.ArrayPrototype)
   self:mkDataDesc(arr, 'length', { value = 0, writable = true })
   setmetatable(arr, getmetatable(self.realm.ArrayPrototype))
   for i,v in ipairs(luaArray) do
      arr[i-1] = v
   end
   if isArguments == true then
      -- Mark this array as a special 'arguments array'
      -- Affects 'toString' mostly.
      rawset(arr, jsval.privateSlots.PARAMETERMAP, true)
   end
   return arr
end

function Env:arrayEach(arr, func)
   local len = jsval.invokePrivate(
      self, arr, 'Get', jsval.newStringIntern('length')
   )
   len = jsval.toLua(env, len)
   for i = 1, len do
      local key = jsval.invokePrivate(
         self, jsval.newNumber(i-1), 'ToPropertyKey'
      )
      local val = jsval.invokePrivate(
         self, arr, 'Get', key
      )
      func(val)
   end
end

function Env.newError(env, name, msg)
   local O = jsval.newObject(env, env.realm[name..'Prototype'])
   rawset(O, jsval.privateSlots.ERRORDATA, jsval.Undefined)
   if msg ~= nil then
      msg = jsval.invokePrivate(env, jsval.fromLua(env, msg), 'ToString')
      env:mkHidden(O, 'message', msg)
   end
   return O
end

function Env:newTypeError(msg) return self:newError('TypeError', msg) end
function Env:newRangeError(msg) return self:newError('RangeError', msg) end

-- helper functions to create properties
function Env:mkFrozen(obj, name, value)
   self:mkDataDesc(
      obj, name,
      jsval.PropertyDescriptor:newData{ value = jsval.fromLua(self, value ) }
   )
end

function Env:mkHidden(obj, name, value)
   self:mkDataDesc(
      obj, name,
      jsval.PropertyDescriptor:newData{
         value = jsval.fromLua(self, value),
         writable = true,
         configurable = true,
   })
end

function Env:mkDataDesc(obj, name, desc)
   if getmetatable(desc) ~= jsval.PropertyDescriptor then
      desc = jsval.PropertyDescriptor:newData(desc)
      if desc.value ~= nil then desc.value = jsval.fromLua(self, desc.value) end
   end
   jsval.invokePrivate(
      self, obj, 'OrdinaryDefineOwnProperty', jsval.newStringIntern(name),
      desc
   )
end

function Env:addNativeFunc(obj, name, len, f)
   local myFunc = jsval.newObject(self, self.realm.FunctionPrototype)
   self:mkDataDesc(myFunc, 'name', { value = name, configurable = true })
   self:mkDataDesc(myFunc, 'length', { value = len, configurable = true })
   rawset(myFunc, jsval.privateSlots.PARENTFRAME, jsval.Null)
   rawset(myFunc, jsval.privateSlots.VALUE, f)
   if obj ~= nil then self:mkHidden(obj, name, myFunc) end
   rawset(myFunc, jsval.privateSlots.CALL, true) -- mark as callable
   return myFunc
end

function Env:makeTopLevelFrame(context, arguments)
   local frame = jsval.newFrame(
      self, jsval.Null, context, self:arrayCreate(arguments, true)
   )

   -- value properties of the global object
   self:mkHidden(frame, 'globalThis', frame)
   self:mkFrozen(frame, 'Infinity', 1/0)
   self:mkFrozen(frame, 'NaN', 0/0)
   self:mkFrozen(frame, 'undefined', jsval.Undefined)
   self:mkHidden(frame, 'console', self.realm.Console)
   self:mkHidden(frame, 'parseInt', self.realm.parseInt)
   self:addNativeFunc(frame, 'isFinite', 1, function(this, args)
     local number = args[1] or jsval.Undefined
     local num = jsval.invokePrivate(self, number, 'ToNumber')
     num = num.value
     if num ~= num then return jsval.False end -- NaN
     if num == 1/0 or num == -1/0 then return jsval.False end -- infinities
     return jsval.True
   end)
   self:addNativeFunc(frame, 'isNaN', 1, function(this, args)
     local number = args[1] or jsval.Undefined
     local num = jsval.invokePrivate(self, number, 'ToNumber')
     num = num.value
     if num ~= num then return jsval.True end -- NaN
     return jsval.False
   end)

   -- constructors
   self:mkHidden(frame, 'Array', self.realm.Array)
   self:mkHidden(frame, 'Boolean', self.realm.Boolean)
   self:mkHidden(frame, 'Error', self.realm.Error)
   self:mkHidden(frame, 'Function', self.realm.Function)
   self:mkHidden(frame, 'JSON', self.realm.JSON)
   self:mkHidden(frame, 'Math', self.realm.Math)
   self:mkHidden(frame, 'Number', self.realm.Number)
   self:mkHidden(frame, 'Object', self.realm.Object)
   self:mkHidden(frame, 'RangeError', self.realm.RangeError)
   self:mkHidden(frame, 'String', self.realm.String)
   self:mkHidden(frame, 'TypeError', self.realm.TypeError)

   return frame
end

local one_step = {
   [ops.PUSH_FRAME] = function(env, state)
      state:push(state.frame)
   end,
   [ops.PUSH_LOCAL_FRAME] = function(env, state)
      -- This is a lame implementation, but it works for now.
      -- We could do better!
      state:push(state.frame)
   end,
   [ops.PUSH_LITERAL] = function(env, state)
      state:push(state.modul.literals[1+state:getnext()]) -- 1-based indexing
   end,
   [ops.NEW_OBJECT] = function(env, state)
      state:push(jsval.newObject(env, env.realm.ObjectPrototype))
   end,
   [ops.NEW_ARRAY] = function(env, state)
      state:push(env:arrayCreate{})
   end,
   [ops.NEW_FUNCTION] = function(env, state)
      local arg1 = state:getnext()
      local func = state.modul.functions[arg1 + 1] -- 1-based indexing
      local f = jsval.newFunction(env, {
        parentFrame = state.frame, modul = state.modul, func = func
      })
      state:push(f)
   end,
   [ops.GET_SLOT_DIRECT] = function(env, state)
      local obj = state:pop()
      local name = state.modul.literals[1+state:getnext()] -- 1-based indexing
      -- we should really handle the ToPropertyKey conversion at compile time
      name = jsval.invokePrivate(env, name, 'ToPropertyKey') -- arg, slow
      local result = jsval.invokePrivate(env, obj, 'GetV', name)
      state:push(result)
   end,
   [ops.GET_SLOT_DIRECT_CHECK] = function(env, state)
      local obj = state:pop()
      local name = state.modul.literals[1+state:getnext()] -- 1-based indexing
      -- we should really handle the ToPropertyKey conversion at compile time
      name = jsval.invokePrivate(env, name, 'ToPropertyKey') -- arg, slow
      local result = jsval.invokePrivate(env, obj, 'GetV', name)
      if jsval.Type(result) ~= 'Object' then
         -- warn about unimplemented (probably library) functions
         print('Failing lookup of method ' .. env:prettyPrint(obj) .. '.' .. tostring(name) .. "\n")
      end
      state:push(result)
   end,
   [ops.GET_SLOT_INDIRECT] = function(env, state)
      local name = jsval.invokePrivate(env, state:pop(), 'ToPropertyKey')
      local obj = state:pop()
      local result = jsval.invokePrivate(env, obj, 'GetV', name)
      state:push(result)
   end,
   [ops.SET_SLOT_DIRECT] = function(env, state)
      local nval = state:pop()
      local name = state.modul.literals[1+state:getnext()] -- 1-based indexing
      local obj = state:pop()
      obj = jsval.invokePrivate(env, obj, 'ToObject')
      -- we should really handle the ToPropertyKey conversion at compile time
      name = jsval.invokePrivate(env, name, 'ToPropertyKey') -- arg, slow
      jsval.invokePrivate(env, obj, '[[Set]]', name, nval, obj)
   end,
   [ops.SET_SLOT_INDIRECT] = function(env, state)
      local nval = state:pop()
      local name = jsval.invokePrivate(env, state:pop(), 'ToPropertyKey')
      local obj = state:pop()
      obj = jsval.invokePrivate(env, obj, 'ToObject')
      jsval.invokePrivate(env, obj, '[[Set]]', name, nval, obj)
   end,
   [ops.INVOKE] = function(env, state)
      return env:invoke(state, state:getnext())
   end,
   [ops.RETURN] = function(env, state)
      local retval = state:pop()
      -- go up to the parent state
      state = state.parent
      state:push(retval)
      return state -- continue in parent state
   end,
   -- branches
   [ops.JMP] = function(env, state)
      state.pc = state:getnext() + 1 -- convert to 1-based indexing
   end,
   [ops.JMP_INTO_LOOP] = function(env, state)
      local dest = state:getnext()
      local loopexit = state:getnext()
      state.pc = dest + 1 -- convert to 1-based indexing
   end,
   [ops.JMP_UNLESS] = function(env, state)
      local dest = state:getnext()
      local mergepoint = state:getnext()
      local cond = state:pop()
      cond = jsval.invokePrivate(env, cond, 'ToBoolean')
      if rawequal(cond, jsval.False) then
         state.pc = dest + 1 -- convert to 1-based indexing
      end
   end,
   [ops.PHI] = function(env, state)
      -- no op
   end,
   -- stack manipulation
   [ops.POP] = function(env, state)
      state:pop()
   end,
   [ops.DUP] = function(env, state)
      local top = state:pop()
      state:push(top)
      state:push(top)
   end,
   [ops.DUP2] = function(env, state)
      local top = state:pop()
      local nxt = state:pop()
      state:push(nxt)
      state:push(top)
      state:push(nxt)
      state:push(top)
   end,
   [ops.OVER] = function(env, state)
      local top = state:pop()
      local nxt = state:pop()
      state:push(top)
      state:push(nxt)
      state:push(top)
   end,
   [ops.OVER2] = function(env, state)
      local top = state:pop()
      local nx1 = state:pop()
      local nx2 = state:pop()
      state:push(top)
      state:push(nx2)
      state:push(nx1)
      state:push(top)
   end,
   [ops.SWAP] = function(env, state)
      local top = state:pop()
      local nxt = state:pop()
      state:push(top)
      state:push(nxt)
   end,
   -- unary operators
   [ops.UN_NOT] = function(env, state)
      local arg = state:pop()
      arg = jsval.invokePrivate(env, arg, 'ToBoolean')
      if rawequal(arg, jsval.True) then
         state:push(jsval.False)
      else
         state:push(jsval.True)
      end
   end,
   [ops.UN_MINUS] = function(env, state)
      local arg = state:pop()
      -- lua passes the same arg twice for unary operators
      state:push( getmetatable(arg).__unm(arg, arg, env) )
   end,
   [ops.UN_TYPEOF] = function(env, state)
      local arg = state:pop()
      state:push( jsval.invokePrivate(env, arg, 'typeof') )
   end,
   [ops.BI_EQ] = function(env, state)
      local right = state:pop()
      local left = state:pop()
      local result = getmetatable(left).__eq(left, right, env)
      state:push( jsval.newBoolean(result) )
   end,
   [ops.BI_GT] = function(env, state)
      local right = state:pop()
      local left = state:pop()
      -- Note that we flip the order of operands
      local result = getmetatable(right).__lt(right, left, env)
      state:push( jsval.newBoolean(result) )
   end,
   [ops.BI_GTE] = function(env, state)
      local right = state:pop()
      local left = state:pop()
      -- Note that we flip the order of operands
      local result = getmetatable(right).__le(right, left, env)
      state:push( jsval.newBoolean(result) )
   end,
   [ops.BI_ADD] = function(env, state)
      local right = state:pop()
      local left = state:pop()
      state:push( getmetatable(left).__add(left, right, env) )
   end,
   [ops.BI_SUB] = function(env, state)
      local right = state:pop()
      local left = state:pop()
      state:push( getmetatable(left).__sub(left, right, env) )
   end,
   [ops.BI_MUL] = function(env, state)
      local right = state:pop()
      local left = state:pop()
      state:push( getmetatable(left).__mul(left, right, env) )
   end,
   [ops.BI_DIV] = function(env, state)
      local right = state:pop()
      local left = state:pop()
      state:push( getmetatable(left).__div(left, right, env) )
   end,
}

function Env:interpretOne(state)
   local op = state:getnext()
   -- print(state.func.name, state.pc-2, ops.bynum[op]) -- convert back to 0-based pc indexing
   local nstate = one_step[op](self, state) or state
   return nstate
end

function Env:interpret(modul, func_id, frame)
   if frame == nil then
      frame = self:makeTopLevelFrame(jsval.Null, {})
   end
   local func = modul.functions[func_id + 1] -- 1-based indexing
   local top = State:new(nil, frame, modul, func)
   local state = State:new(top, frame, modul, func)
   while state.parent ~= nil do -- wait for state == top
      state = self:interpretOne(state)
   end
   return state:pop()
end

-- Invoke a function from the stack
function Env:invoke(state, nargs)
   -- collect arguments
   local nativeArgs = {}
   for i = 1,nargs do
      table.insert(nativeArgs, state:pop())
   end
   for i = 1,compat.rshift(nargs,1) do -- reverse array
      j = (nargs+1) - i
      nativeArgs[i],nativeArgs[j] = nativeArgs[j],nativeArgs[i]
   end
   -- collect 'this'
   local myThis = state:pop()
   -- get function object
   local func = state:pop()
   if jsval.Type(func) == 'Object' then
      return self:invokeInternal( state, func, myThis, nativeArgs )
   end
   error('Not a function at '..tostring(state.pc - 1)..' function '..tostring(state.func.id))
end

-- Invoke a function from the stack (after function object, context, and
-- arguments have been popped off the stack)
function Env:invokeInternal(state, func, myThis, args)
   -- assert that func is a function
   local parentFrame = rawget(func, jsval.privateSlots.PARENTFRAME)
   if parentFrame == nil then
      error(self:newTypeError('Not a function at ' .. state.pc))
   end
   local f = rawget(func, jsval.privateSlots.VALUE)
   if type(f) == 'function' then -- native function
      local rv = f(myThis, args)
      -- handle "apply-like" natives
      if rawget(func, jsval.privateSlots.ISAPPLY) == true then
         local nargs = 0
         for i,val in ipairs(rv) do
            state:push(val)
            nargs = nargs + 1
         end
         return self:invoke(state, nargs - 2)
      end
      -- XXX handle exceptions
      state:push(rv)
      return state
   end
   if type(f) == 'table' and f.modul ~= nil and f.func ~= nil then
      -- create new frame
      assert(jsval.Type(parentFrame) == 'Object')
      local nFrame = jsval.newFrame(
         self, parentFrame, myThis, self:arrayCreate(args, true)
      )
      -- construct new child state
      return State:new(state, nFrame, f.modul, f.func)
   end
   error('bad function object')
end

-- Returns a pair of status, result like pcall does
-- status is false if an exception was thrown (and result is the exception)
function Env:interpretFunction(func, this, args)
   -- assert that func is a function
   local parentFrame = rawget(func, jsval.privateSlots.PARENTFRAME)
   if parentFrame == nil then
      error(self:newTypeError('Not a function'))
   end
   local f = rawget(func, jsval.privateSlots.VALUE)
   if type(f) == 'function' then -- native function
      local rv = f(this, args)
      -- handle "apply-like" natives
      if rawget(func, jsval.privateSlots.ISAPPLY) == true then
         local nArgs = {}
         for i,val in ipairs(rv) do
            table.insert(nArgs, val)
         end
         local nFunction = table.remove(nArgs, 1)
         local nThis = table.remove(nArgs, 1)
         return self:interpretFunction(nFunction, nThis, nArgs)
      end
      return true, rv
   end
   if type(f) == 'table' and f.modul ~= nil and f.func ~= nil then
      assert(jsval.Type(parentFrame) == 'Object')
      -- Make a frame for the function invocation
      local nFrame = jsval.newFrame(
         self, parentFrame, this, self:arrayCreate(args, true)
      )
      if true then -- lua 5.1
         return pcall(function()
               return self:interpret(f.modul, f.func.id, nFrame)
         end)
      else
         -- Set up error-handling
         return xpcall(
            self.interpret, debug.traceback, self, f.modul, f.func.id, nFrame
         )
      end
   end
   error('bad function object')
end

return Env

end)

register('luaturtle.ifunc', function(myrequire)
local ifunc = {}

local Function = {
   type = 'Function'
}
Function.__index = Function

function Function:new(o)
   setmetatable(o, self)
   return o
end


ifunc.Function = Function
return ifunc

end)

register('luaturtle.startup', function(myrequire)
-- generated by TurtleScript write-lua-bytecode.js
local jsval = myrequire('luaturtle.jsval')
local ifunc = myrequire('luaturtle.ifunc')
local ops = myrequire('luaturtle.ops')

local startup = {}

-- Populate the function and literal arrays with the precompiled
-- startup code, including the compiler and standard library.

startup.functions = {
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 0,
    nargs = 0,
    max_stack = 7,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 1,  -- 3: set_slot_direct(1)
      ops.PUSH_LOCAL_FRAME,    -- 5: push_local_frame
      ops.NEW_FUNCTION, 1,     -- 6: new_function(1)
      ops.OVER,                -- 8: over
      ops.SET_SLOT_DIRECT, 192,-- 9: set_slot_direct(192)
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 12: get_slot_direct(26)
      ops.INVOKE, 0,           -- 14: invoke(0)
      ops.POP,                 -- 16: pop
      ops.PUSH_LOCAL_FRAME,    -- 17: push_local_frame
      ops.NEW_FUNCTION, 37,    -- 18: new_function(37)
      ops.OVER,                -- 20: over
      ops.SET_SLOT_DIRECT, 272,-- 21: set_slot_direct(272)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 24: get_slot_direct(26)
      ops.INVOKE, 0,           -- 26: invoke(0)
      ops.POP,                 -- 28: pop
      ops.PUSH_FRAME,          -- 29: push_frame
      ops.NEW_OBJECT,          -- 30: new_object
      ops.SET_SLOT_DIRECT, 1,  -- 31: set_slot_direct(1)
      ops.PUSH_FRAME,          -- 33: push_frame
      ops.PUSH_LOCAL_FRAME,    -- 34: push_local_frame
      ops.NEW_FUNCTION, 46,    -- 35: new_function(46)
      ops.OVER,                -- 37: over
      ops.SET_SLOT_DIRECT, 277,-- 38: set_slot_direct(277)
      ops.SET_SLOT_DIRECT, 278,-- 40: set_slot_direct(278)
      ops.PUSH_FRAME,          -- 42: push_frame
      ops.GET_SLOT_DIRECT, 278,-- 43: get_slot_direct(278)
      ops.PUSH_LOCAL_FRAME,    -- 45: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 46: get_slot_direct(26)
      ops.PUSH_LITERAL, 279,   -- 48: push_literal(279)
      ops.NEW_ARRAY,           -- 50: new_array
      ops.DUP,                 -- 51: dup
      ops.PUSH_LITERAL, 280,   -- 52: push_literal(280)
      ops.SET_SLOT_DIRECT, 18, -- 54: set_slot_direct(18)
      ops.PUSH_FRAME,          -- 56: push_frame
      ops.NEW_FUNCTION, 48,    -- 57: new_function(48)
      ops.OVER,                -- 59: over
      ops.SET_SLOT_DIRECT, 322,-- 60: set_slot_direct(322)
      ops.INVOKE, 3,           -- 62: invoke(3)
      ops.POP,                 -- 64: pop
      ops.PUSH_FRAME,          -- 65: push_frame
      ops.GET_SLOT_DIRECT, 278,-- 66: get_slot_direct(278)
      ops.PUSH_LOCAL_FRAME,    -- 68: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 69: get_slot_direct(26)
      ops.PUSH_LITERAL, 325,   -- 71: push_literal(325)
      ops.NEW_ARRAY,           -- 73: new_array
      ops.DUP,                 -- 74: dup
      ops.PUSH_LITERAL, 326,   -- 75: push_literal(326)
      ops.SET_SLOT_DIRECT, 18, -- 77: set_slot_direct(18)
      ops.DUP,                 -- 79: dup
      ops.PUSH_LITERAL, 279,   -- 80: push_literal(279)
      ops.SET_SLOT_DIRECT, 31, -- 82: set_slot_direct(31)
      ops.PUSH_FRAME,          -- 84: push_frame
      ops.NEW_FUNCTION, 52,    -- 85: new_function(52)
      ops.OVER,                -- 87: over
      ops.SET_SLOT_DIRECT, 443,-- 88: set_slot_direct(443)
      ops.INVOKE, 3,           -- 90: invoke(3)
      ops.POP,                 -- 92: pop
      ops.PUSH_FRAME,          -- 93: push_frame
      ops.GET_SLOT_DIRECT, 278,-- 94: get_slot_direct(278)
      ops.PUSH_LOCAL_FRAME,    -- 96: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 97: get_slot_direct(26)
      ops.PUSH_LITERAL, 446,   -- 99: push_literal(446)
      ops.NEW_ARRAY,           -- 101: new_array
      ops.DUP,                 -- 102: dup
      ops.PUSH_LITERAL, 447,   -- 103: push_literal(447)
      ops.SET_SLOT_DIRECT, 18, -- 105: set_slot_direct(18)
      ops.DUP,                 -- 107: dup
      ops.PUSH_LITERAL, 279,   -- 108: push_literal(279)
      ops.SET_SLOT_DIRECT, 31, -- 110: set_slot_direct(31)
      ops.PUSH_FRAME,          -- 112: push_frame
      ops.NEW_FUNCTION, 105,   -- 113: new_function(105)
      ops.OVER,                -- 115: over
      ops.SET_SLOT_DIRECT, 449,-- 116: set_slot_direct(449)
      ops.INVOKE, 3,           -- 118: invoke(3)
      ops.POP,                 -- 120: pop
      ops.PUSH_FRAME,          -- 121: push_frame
      ops.GET_SLOT_DIRECT, 278,-- 122: get_slot_direct(278)
      ops.PUSH_LOCAL_FRAME,    -- 124: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 125: get_slot_direct(26)
      ops.PUSH_LITERAL, 450,   -- 127: push_literal(450)
      ops.NEW_ARRAY,           -- 129: new_array
      ops.DUP,                 -- 130: dup
      ops.PUSH_LITERAL, 451,   -- 131: push_literal(451)
      ops.SET_SLOT_DIRECT, 18, -- 133: set_slot_direct(18)
      ops.PUSH_FRAME,          -- 135: push_frame
      ops.NEW_FUNCTION, 121,   -- 136: new_function(121)
      ops.OVER,                -- 138: over
      ops.SET_SLOT_DIRECT, 504,-- 139: set_slot_direct(504)
      ops.INVOKE, 3,           -- 141: invoke(3)
      ops.POP,                 -- 143: pop
      ops.PUSH_FRAME,          -- 144: push_frame
      ops.GET_SLOT_DIRECT, 278,-- 145: get_slot_direct(278)
      ops.PUSH_LOCAL_FRAME,    -- 147: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 148: get_slot_direct(26)
      ops.PUSH_LITERAL, 507,   -- 150: push_literal(507)
      ops.NEW_ARRAY,           -- 152: new_array
      ops.DUP,                 -- 153: dup
      ops.PUSH_LITERAL, 508,   -- 154: push_literal(508)
      ops.SET_SLOT_DIRECT, 18, -- 156: set_slot_direct(18)
      ops.PUSH_FRAME,          -- 158: push_frame
      ops.NEW_FUNCTION, 131,   -- 159: new_function(131)
      ops.OVER,                -- 161: over
      ops.SET_SLOT_DIRECT, 519,-- 162: set_slot_direct(519)
      ops.INVOKE, 3,           -- 164: invoke(3)
      ops.POP,                 -- 166: pop
      ops.PUSH_FRAME,          -- 167: push_frame
      ops.GET_SLOT_DIRECT, 278,-- 168: get_slot_direct(278)
      ops.PUSH_LOCAL_FRAME,    -- 170: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 171: get_slot_direct(26)
      ops.PUSH_LITERAL, 520,   -- 173: push_literal(520)
      ops.NEW_ARRAY,           -- 175: new_array
      ops.DUP,                 -- 176: dup
      ops.PUSH_LITERAL, 521,   -- 177: push_literal(521)
      ops.SET_SLOT_DIRECT, 18, -- 179: set_slot_direct(18)
      ops.DUP,                 -- 181: dup
      ops.PUSH_LITERAL, 450,   -- 182: push_literal(450)
      ops.SET_SLOT_DIRECT, 31, -- 184: set_slot_direct(31)
      ops.DUP,                 -- 186: dup
      ops.PUSH_LITERAL, 507,   -- 187: push_literal(507)
      ops.SET_SLOT_DIRECT, 136,-- 189: set_slot_direct(136)
      ops.PUSH_FRAME,          -- 191: push_frame
      ops.NEW_FUNCTION, 136,   -- 192: new_function(136)
      ops.OVER,                -- 194: over
      ops.SET_SLOT_DIRECT, 585,-- 195: set_slot_direct(585)
      ops.INVOKE, 3,           -- 197: invoke(3)
      ops.POP,                 -- 199: pop
      ops.PUSH_FRAME,          -- 200: push_frame
      ops.GET_SLOT_DIRECT, 278,-- 201: get_slot_direct(278)
      ops.PUSH_LOCAL_FRAME,    -- 203: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 204: get_slot_direct(26)
      ops.PUSH_LITERAL, 586,   -- 206: push_literal(586)
      ops.NEW_ARRAY,           -- 208: new_array
      ops.NEW_FUNCTION, 195,   -- 209: new_function(195)
      ops.INVOKE, 3,           -- 211: invoke(3)
      ops.POP,                 -- 213: pop
      ops.PUSH_FRAME,          -- 214: push_frame
      ops.GET_SLOT_DIRECT, 278,-- 215: get_slot_direct(278)
      ops.PUSH_LOCAL_FRAME,    -- 217: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 218: get_slot_direct(26)
      ops.PUSH_LITERAL, 588,   -- 220: push_literal(588)
      ops.NEW_ARRAY,           -- 222: new_array
      ops.DUP,                 -- 223: dup
      ops.PUSH_LITERAL, 325,   -- 224: push_literal(325)
      ops.SET_SLOT_DIRECT, 18, -- 226: set_slot_direct(18)
      ops.DUP,                 -- 228: dup
      ops.PUSH_LITERAL, 446,   -- 229: push_literal(446)
      ops.SET_SLOT_DIRECT, 31, -- 231: set_slot_direct(31)
      ops.DUP,                 -- 233: dup
      ops.PUSH_LITERAL, 520,   -- 234: push_literal(520)
      ops.SET_SLOT_DIRECT, 136,-- 236: set_slot_direct(136)
      ops.DUP,                 -- 238: dup
      ops.PUSH_LITERAL, 589,   -- 239: push_literal(589)
      ops.SET_SLOT_DIRECT, 159,-- 241: set_slot_direct(159)
      ops.DUP,                 -- 243: dup
      ops.PUSH_LITERAL, 507,   -- 244: push_literal(507)
      ops.SET_SLOT_DIRECT, 162,-- 246: set_slot_direct(162)
      ops.DUP,                 -- 248: dup
      ops.PUSH_LITERAL, 586,   -- 249: push_literal(586)
      ops.SET_SLOT_DIRECT, 165,-- 251: set_slot_direct(165)
      ops.NEW_FUNCTION, 196,   -- 253: new_function(196)
      ops.INVOKE, 3,           -- 255: invoke(3)
      ops.POP,                 -- 257: pop
      ops.PUSH_FRAME,          -- 258: push_frame
      ops.GET_SLOT_DIRECT, 1,  -- 259: get_slot_direct(1)
      ops.PUSH_LITERAL, 588,   -- 261: push_literal(588)
      ops.GET_SLOT_INDIRECT,   -- 263: get_slot_indirect
      ops.RETURN               -- 264: return
    }
  },
  ifunc.Function:new{ -- "_make_stdlib"
    name = jsval.newString("_make_stdlib"),
    id = 1,
    nargs = 0,
    max_stack = 5,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 2,  -- 3: set_slot_direct(2)
      ops.PUSH_FRAME,          -- 5: push_frame
      ops.PUSH_LITERAL, 0,     -- 6: push_literal(0)
      ops.SET_SLOT_DIRECT, 3,  -- 8: set_slot_direct(3)
      ops.PUSH_FRAME,          -- 10: push_frame
      ops.PUSH_LITERAL, 0,     -- 11: push_literal(0)
      ops.SET_SLOT_DIRECT, 4,  -- 13: set_slot_direct(4)
      ops.PUSH_FRAME,          -- 15: push_frame
      ops.PUSH_LITERAL, 0,     -- 16: push_literal(0)
      ops.SET_SLOT_DIRECT, 5,  -- 18: set_slot_direct(5)
      ops.PUSH_FRAME,          -- 20: push_frame
      ops.PUSH_LITERAL, 0,     -- 21: push_literal(0)
      ops.SET_SLOT_DIRECT, 6,  -- 23: set_slot_direct(6)
      ops.PUSH_FRAME,          -- 25: push_frame
      ops.PUSH_LITERAL, 0,     -- 26: push_literal(0)
      ops.SET_SLOT_DIRECT, 7,  -- 28: set_slot_direct(7)
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 31: push_literal(0)
      ops.SET_SLOT_DIRECT, 8,  -- 33: set_slot_direct(8)
      ops.PUSH_FRAME,          -- 35: push_frame
      ops.PUSH_LITERAL, 0,     -- 36: push_literal(0)
      ops.SET_SLOT_DIRECT, 9,  -- 38: set_slot_direct(9)
      ops.PUSH_FRAME,          -- 40: push_frame
      ops.PUSH_FRAME,          -- 41: push_frame
      ops.GET_SLOT_DIRECT, 10, -- 42: get_slot_direct(10)
      ops.GET_SLOT_DIRECT, 11, -- 44: get_slot_direct(11)
      ops.GET_SLOT_DIRECT, 12, -- 46: get_slot_direct(12)
      ops.SET_SLOT_DIRECT, 2,  -- 48: set_slot_direct(2)
      ops.PUSH_FRAME,          -- 50: push_frame
      ops.PUSH_FRAME,          -- 51: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 52: get_slot_direct(13)
      ops.GET_SLOT_DIRECT, 11, -- 54: get_slot_direct(11)
      ops.GET_SLOT_DIRECT, 12, -- 56: get_slot_direct(12)
      ops.SET_SLOT_DIRECT, 3,  -- 58: set_slot_direct(3)
      ops.PUSH_FRAME,          -- 60: push_frame
      ops.PUSH_FRAME,          -- 61: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 62: get_slot_direct(14)
      ops.GET_SLOT_DIRECT, 11, -- 64: get_slot_direct(11)
      ops.GET_SLOT_DIRECT, 15, -- 66: get_slot_direct(15)
      ops.SET_SLOT_DIRECT, 4,  -- 68: set_slot_direct(4)
      ops.PUSH_FRAME,          -- 70: push_frame
      ops.PUSH_FRAME,          -- 71: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 72: get_slot_direct(14)
      ops.GET_SLOT_DIRECT, 16, -- 74: get_slot_direct(16)
      ops.DUP,                 -- 76: dup
      ops.UN_NOT,              -- 77: un_not
      ops.JMP_UNLESS, 84, 84,  -- 78: jmp_unless(84,84)
      ops.POP,                 -- 81: pop
      ops.NEW_FUNCTION, 2,     -- 82: new_function(2)
      ops.PHI,                 -- 84: phi
      ops.SET_SLOT_DIRECT, 5,  -- 85: set_slot_direct(5)
      ops.PUSH_FRAME,          -- 87: push_frame
      ops.NEW_FUNCTION, 3,     -- 88: new_function(3)
      ops.SET_SLOT_DIRECT, 6,  -- 90: set_slot_direct(6)
      ops.PUSH_FRAME,          -- 92: push_frame
      ops.NEW_FUNCTION, 4,     -- 93: new_function(4)
      ops.SET_SLOT_DIRECT, 7,  -- 95: set_slot_direct(7)
      ops.PUSH_LOCAL_FRAME,    -- 97: push_local_frame
      ops.NEW_FUNCTION, 5,     -- 98: new_function(5)
      ops.SET_SLOT_DIRECT, 8,  -- 100: set_slot_direct(8)
      ops.PUSH_FRAME,          -- 102: push_frame
      ops.NEW_FUNCTION, 6,     -- 103: new_function(6)
      ops.SET_SLOT_DIRECT, 9,  -- 105: set_slot_direct(9)
      ops.PUSH_FRAME,          -- 107: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 108: get_slot_direct(36)
      ops.GET_SLOT_DIRECT, 11, -- 110: get_slot_direct(11)
      ops.NEW_FUNCTION, 7,     -- 112: new_function(7)
      ops.SET_SLOT_DIRECT, 50, -- 114: set_slot_direct(50)
      ops.PUSH_LOCAL_FRAME,    -- 116: push_local_frame
      ops.GET_SLOT_DIRECT, 8,  -- 117: get_slot_direct(8)
      ops.PUSH_LOCAL_FRAME,    -- 119: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 120: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 122: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 123: get_slot_direct(36)
      ops.GET_SLOT_DIRECT, 11, -- 125: get_slot_direct(11)
      ops.PUSH_LITERAL, 50,    -- 127: push_literal(50)
      ops.INVOKE, 2,           -- 129: invoke(2)
      ops.POP,                 -- 131: pop
      ops.PUSH_FRAME,          -- 132: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 133: get_slot_direct(36)
      ops.GET_SLOT_DIRECT, 11, -- 135: get_slot_direct(11)
      ops.NEW_FUNCTION, 8,     -- 137: new_function(8)
      ops.SET_SLOT_DIRECT, 57, -- 139: set_slot_direct(57)
      ops.PUSH_LOCAL_FRAME,    -- 141: push_local_frame
      ops.GET_SLOT_DIRECT, 8,  -- 142: get_slot_direct(8)
      ops.PUSH_LOCAL_FRAME,    -- 144: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 145: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 147: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 148: get_slot_direct(36)
      ops.GET_SLOT_DIRECT, 11, -- 150: get_slot_direct(11)
      ops.PUSH_LITERAL, 57,    -- 152: push_literal(57)
      ops.INVOKE, 2,           -- 154: invoke(2)
      ops.POP,                 -- 156: pop
      ops.PUSH_FRAME,          -- 157: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 158: get_slot_direct(36)
      ops.GET_SLOT_DIRECT, 11, -- 160: get_slot_direct(11)
      ops.NEW_FUNCTION, 9,     -- 162: new_function(9)
      ops.SET_SLOT_DIRECT, 62, -- 164: set_slot_direct(62)
      ops.PUSH_LOCAL_FRAME,    -- 166: push_local_frame
      ops.GET_SLOT_DIRECT, 8,  -- 167: get_slot_direct(8)
      ops.PUSH_LOCAL_FRAME,    -- 169: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 170: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 172: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 173: get_slot_direct(36)
      ops.GET_SLOT_DIRECT, 11, -- 175: get_slot_direct(11)
      ops.PUSH_LITERAL, 62,    -- 177: push_literal(62)
      ops.INVOKE, 2,           -- 179: invoke(2)
      ops.POP,                 -- 181: pop
      ops.PUSH_FRAME,          -- 182: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 183: get_slot_direct(36)
      ops.GET_SLOT_DIRECT, 11, -- 185: get_slot_direct(11)
      ops.NEW_FUNCTION, 10,    -- 187: new_function(10)
      ops.SET_SLOT_DIRECT, 67, -- 189: set_slot_direct(67)
      ops.PUSH_LOCAL_FRAME,    -- 191: push_local_frame
      ops.GET_SLOT_DIRECT, 8,  -- 192: get_slot_direct(8)
      ops.PUSH_LOCAL_FRAME,    -- 194: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 195: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 197: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 198: get_slot_direct(36)
      ops.GET_SLOT_DIRECT, 11, -- 200: get_slot_direct(11)
      ops.PUSH_LITERAL, 67,    -- 202: push_literal(67)
      ops.INVOKE, 2,           -- 204: invoke(2)
      ops.POP,                 -- 206: pop
      ops.PUSH_FRAME,          -- 207: push_frame
      ops.GET_SLOT_DIRECT, 68, -- 208: get_slot_direct(68)
      ops.GET_SLOT_DIRECT, 11, -- 210: get_slot_direct(11)
      ops.NEW_FUNCTION, 11,    -- 212: new_function(11)
      ops.SET_SLOT_DIRECT, 69, -- 214: set_slot_direct(69)
      ops.PUSH_LOCAL_FRAME,    -- 216: push_local_frame
      ops.GET_SLOT_DIRECT, 8,  -- 217: get_slot_direct(8)
      ops.PUSH_LOCAL_FRAME,    -- 219: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 220: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 222: push_frame
      ops.GET_SLOT_DIRECT, 68, -- 223: get_slot_direct(68)
      ops.GET_SLOT_DIRECT, 11, -- 225: get_slot_direct(11)
      ops.PUSH_LITERAL, 69,    -- 227: push_literal(69)
      ops.INVOKE, 2,           -- 229: invoke(2)
      ops.POP,                 -- 231: pop
      ops.PUSH_FRAME,          -- 232: push_frame
      ops.GET_SLOT_DIRECT, 68, -- 233: get_slot_direct(68)
      ops.GET_SLOT_DIRECT, 11, -- 235: get_slot_direct(11)
      ops.NEW_FUNCTION, 12,    -- 237: new_function(12)
      ops.SET_SLOT_DIRECT, 71, -- 239: set_slot_direct(71)
      ops.PUSH_LOCAL_FRAME,    -- 241: push_local_frame
      ops.GET_SLOT_DIRECT, 8,  -- 242: get_slot_direct(8)
      ops.PUSH_LOCAL_FRAME,    -- 244: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 245: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 247: push_frame
      ops.GET_SLOT_DIRECT, 68, -- 248: get_slot_direct(68)
      ops.GET_SLOT_DIRECT, 11, -- 250: get_slot_direct(11)
      ops.PUSH_LITERAL, 71,    -- 252: push_literal(71)
      ops.INVOKE, 2,           -- 254: invoke(2)
      ops.POP,                 -- 256: pop
      ops.PUSH_FRAME,          -- 257: push_frame
      ops.GET_SLOT_DIRECT, 68, -- 258: get_slot_direct(68)
      ops.GET_SLOT_DIRECT, 11, -- 260: get_slot_direct(11)
      ops.NEW_FUNCTION, 13,    -- 262: new_function(13)
      ops.SET_SLOT_DIRECT, 78, -- 264: set_slot_direct(78)
      ops.PUSH_LOCAL_FRAME,    -- 266: push_local_frame
      ops.GET_SLOT_DIRECT, 8,  -- 267: get_slot_direct(8)
      ops.PUSH_LOCAL_FRAME,    -- 269: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 270: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 272: push_frame
      ops.GET_SLOT_DIRECT, 68, -- 273: get_slot_direct(68)
      ops.GET_SLOT_DIRECT, 11, -- 275: get_slot_direct(11)
      ops.PUSH_LITERAL, 78,    -- 277: push_literal(78)
      ops.INVOKE, 2,           -- 279: invoke(2)
      ops.POP,                 -- 281: pop
      ops.PUSH_FRAME,          -- 282: push_frame
      ops.GET_SLOT_DIRECT, 68, -- 283: get_slot_direct(68)
      ops.GET_SLOT_DIRECT, 11, -- 285: get_slot_direct(11)
      ops.NEW_FUNCTION, 14,    -- 287: new_function(14)
      ops.SET_SLOT_DIRECT, 62, -- 289: set_slot_direct(62)
      ops.PUSH_LOCAL_FRAME,    -- 291: push_local_frame
      ops.GET_SLOT_DIRECT, 8,  -- 292: get_slot_direct(8)
      ops.PUSH_LOCAL_FRAME,    -- 294: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 295: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 297: push_frame
      ops.GET_SLOT_DIRECT, 68, -- 298: get_slot_direct(68)
      ops.GET_SLOT_DIRECT, 11, -- 300: get_slot_direct(11)
      ops.PUSH_LITERAL, 62,    -- 302: push_literal(62)
      ops.INVOKE, 2,           -- 304: invoke(2)
      ops.POP,                 -- 306: pop
      ops.PUSH_FRAME,          -- 307: push_frame
      ops.GET_SLOT_DIRECT, 68, -- 308: get_slot_direct(68)
      ops.GET_SLOT_DIRECT, 11, -- 310: get_slot_direct(11)
      ops.NEW_FUNCTION, 15,    -- 312: new_function(15)
      ops.SET_SLOT_DIRECT, 90, -- 314: set_slot_direct(90)
      ops.PUSH_LOCAL_FRAME,    -- 316: push_local_frame
      ops.GET_SLOT_DIRECT, 8,  -- 317: get_slot_direct(8)
      ops.PUSH_LOCAL_FRAME,    -- 319: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 320: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 322: push_frame
      ops.GET_SLOT_DIRECT, 68, -- 323: get_slot_direct(68)
      ops.GET_SLOT_DIRECT, 11, -- 325: get_slot_direct(11)
      ops.PUSH_LITERAL, 90,    -- 327: push_literal(90)
      ops.INVOKE, 2,           -- 329: invoke(2)
      ops.POP,                 -- 331: pop
      ops.PUSH_FRAME,          -- 332: push_frame
      ops.GET_SLOT_DIRECT, 68, -- 333: get_slot_direct(68)
      ops.GET_SLOT_DIRECT, 11, -- 335: get_slot_direct(11)
      ops.NEW_FUNCTION, 16,    -- 337: new_function(16)
      ops.SET_SLOT_DIRECT, 94, -- 339: set_slot_direct(94)
      ops.PUSH_LOCAL_FRAME,    -- 341: push_local_frame
      ops.GET_SLOT_DIRECT, 8,  -- 342: get_slot_direct(8)
      ops.PUSH_LOCAL_FRAME,    -- 344: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 345: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 347: push_frame
      ops.GET_SLOT_DIRECT, 68, -- 348: get_slot_direct(68)
      ops.GET_SLOT_DIRECT, 11, -- 350: get_slot_direct(11)
      ops.PUSH_LITERAL, 94,    -- 352: push_literal(94)
      ops.INVOKE, 2,           -- 354: invoke(2)
      ops.POP,                 -- 356: pop
      ops.PUSH_FRAME,          -- 357: push_frame
      ops.GET_SLOT_DIRECT, 68, -- 358: get_slot_direct(68)
      ops.GET_SLOT_DIRECT, 11, -- 360: get_slot_direct(11)
      ops.NEW_FUNCTION, 17,    -- 362: new_function(17)
      ops.SET_SLOT_DIRECT, 98, -- 364: set_slot_direct(98)
      ops.PUSH_LOCAL_FRAME,    -- 366: push_local_frame
      ops.GET_SLOT_DIRECT, 8,  -- 367: get_slot_direct(8)
      ops.PUSH_LOCAL_FRAME,    -- 369: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 370: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 372: push_frame
      ops.GET_SLOT_DIRECT, 68, -- 373: get_slot_direct(68)
      ops.GET_SLOT_DIRECT, 11, -- 375: get_slot_direct(11)
      ops.PUSH_LITERAL, 98,    -- 377: push_literal(98)
      ops.INVOKE, 2,           -- 379: invoke(2)
      ops.POP,                 -- 381: pop
      ops.PUSH_FRAME,          -- 382: push_frame
      ops.GET_SLOT_DIRECT, 68, -- 383: get_slot_direct(68)
      ops.GET_SLOT_DIRECT, 11, -- 385: get_slot_direct(11)
      ops.NEW_FUNCTION, 18,    -- 387: new_function(18)
      ops.SET_SLOT_DIRECT, 15, -- 389: set_slot_direct(15)
      ops.PUSH_LOCAL_FRAME,    -- 391: push_local_frame
      ops.GET_SLOT_DIRECT, 8,  -- 392: get_slot_direct(8)
      ops.PUSH_LOCAL_FRAME,    -- 394: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 395: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 397: push_frame
      ops.GET_SLOT_DIRECT, 68, -- 398: get_slot_direct(68)
      ops.GET_SLOT_DIRECT, 11, -- 400: get_slot_direct(11)
      ops.PUSH_LITERAL, 15,    -- 402: push_literal(15)
      ops.INVOKE, 2,           -- 404: invoke(2)
      ops.POP,                 -- 406: pop
      ops.PUSH_FRAME,          -- 407: push_frame
      ops.GET_SLOT_DIRECT, 68, -- 408: get_slot_direct(68)
      ops.NEW_FUNCTION, 19,    -- 410: new_function(19)
      ops.SET_SLOT_DIRECT, 103,-- 412: set_slot_direct(103)
      ops.PUSH_FRAME,          -- 414: push_frame
      ops.GET_SLOT_DIRECT, 104,-- 415: get_slot_direct(104)
      ops.GET_SLOT_DIRECT, 11, -- 417: get_slot_direct(11)
      ops.NEW_FUNCTION, 20,    -- 419: new_function(20)
      ops.SET_SLOT_DIRECT, 115,-- 421: set_slot_direct(115)
      ops.PUSH_LOCAL_FRAME,    -- 423: push_local_frame
      ops.GET_SLOT_DIRECT, 8,  -- 424: get_slot_direct(8)
      ops.PUSH_LOCAL_FRAME,    -- 426: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 427: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 429: push_frame
      ops.GET_SLOT_DIRECT, 104,-- 430: get_slot_direct(104)
      ops.GET_SLOT_DIRECT, 11, -- 432: get_slot_direct(11)
      ops.PUSH_LITERAL, 115,   -- 434: push_literal(115)
      ops.INVOKE, 2,           -- 436: invoke(2)
      ops.POP,                 -- 438: pop
      ops.PUSH_FRAME,          -- 439: push_frame
      ops.GET_SLOT_DIRECT, 104,-- 440: get_slot_direct(104)
      ops.GET_SLOT_DIRECT, 11, -- 442: get_slot_direct(11)
      ops.NEW_FUNCTION, 25,    -- 444: new_function(25)
      ops.SET_SLOT_DIRECT, 111,-- 446: set_slot_direct(111)
      ops.PUSH_LOCAL_FRAME,    -- 448: push_local_frame
      ops.GET_SLOT_DIRECT, 8,  -- 449: get_slot_direct(8)
      ops.PUSH_LOCAL_FRAME,    -- 451: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 452: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 454: push_frame
      ops.GET_SLOT_DIRECT, 104,-- 455: get_slot_direct(104)
      ops.GET_SLOT_DIRECT, 11, -- 457: get_slot_direct(11)
      ops.PUSH_LITERAL, 111,   -- 459: push_literal(111)
      ops.INVOKE, 2,           -- 461: invoke(2)
      ops.POP,                 -- 463: pop
      ops.PUSH_FRAME,          -- 464: push_frame
      ops.GET_SLOT_DIRECT, 104,-- 465: get_slot_direct(104)
      ops.GET_SLOT_DIRECT, 11, -- 467: get_slot_direct(11)
      ops.PUSH_LITERAL, 22,    -- 469: push_literal(22)
      ops.NEW_FUNCTION, 26,    -- 471: new_function(26)
      ops.SET_SLOT_INDIRECT,   -- 473: set_slot_indirect
      ops.PUSH_LOCAL_FRAME,    -- 474: push_local_frame
      ops.GET_SLOT_DIRECT, 8,  -- 475: get_slot_direct(8)
      ops.PUSH_LOCAL_FRAME,    -- 477: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 478: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 480: push_frame
      ops.GET_SLOT_DIRECT, 104,-- 481: get_slot_direct(104)
      ops.GET_SLOT_DIRECT, 11, -- 483: get_slot_direct(11)
      ops.PUSH_LITERAL, 22,    -- 485: push_literal(22)
      ops.INVOKE, 2,           -- 487: invoke(2)
      ops.POP,                 -- 489: pop
      ops.PUSH_FRAME,          -- 490: push_frame
      ops.GET_SLOT_DIRECT, 104,-- 491: get_slot_direct(104)
      ops.GET_SLOT_DIRECT, 11, -- 493: get_slot_direct(11)
      ops.NEW_FUNCTION, 27,    -- 495: new_function(27)
      ops.SET_SLOT_DIRECT, 15, -- 497: set_slot_direct(15)
      ops.PUSH_LOCAL_FRAME,    -- 499: push_local_frame
      ops.GET_SLOT_DIRECT, 8,  -- 500: get_slot_direct(8)
      ops.PUSH_LOCAL_FRAME,    -- 502: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 503: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 505: push_frame
      ops.GET_SLOT_DIRECT, 104,-- 506: get_slot_direct(104)
      ops.GET_SLOT_DIRECT, 11, -- 508: get_slot_direct(11)
      ops.PUSH_LITERAL, 15,    -- 510: push_literal(15)
      ops.INVOKE, 2,           -- 512: invoke(2)
      ops.POP,                 -- 514: pop
      ops.PUSH_FRAME,          -- 515: push_frame
      ops.GET_SLOT_DIRECT, 10, -- 516: get_slot_direct(10)
      ops.GET_SLOT_DIRECT, 11, -- 518: get_slot_direct(11)
      ops.NEW_FUNCTION, 28,    -- 520: new_function(28)
      ops.SET_SLOT_DIRECT, 15, -- 522: set_slot_direct(15)
      ops.PUSH_LOCAL_FRAME,    -- 524: push_local_frame
      ops.GET_SLOT_DIRECT, 8,  -- 525: get_slot_direct(8)
      ops.PUSH_LOCAL_FRAME,    -- 527: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 528: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 530: push_frame
      ops.GET_SLOT_DIRECT, 10, -- 531: get_slot_direct(10)
      ops.GET_SLOT_DIRECT, 11, -- 533: get_slot_direct(11)
      ops.PUSH_LITERAL, 15,    -- 535: push_literal(15)
      ops.INVOKE, 2,           -- 537: invoke(2)
      ops.POP,                 -- 539: pop
      ops.PUSH_FRAME,          -- 540: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 541: get_slot_direct(13)
      ops.NEW_FUNCTION, 29,    -- 543: new_function(29)
      ops.SET_SLOT_DIRECT, 124,-- 545: set_slot_direct(124)
      ops.PUSH_LOCAL_FRAME,    -- 547: push_local_frame
      ops.GET_SLOT_DIRECT, 8,  -- 548: get_slot_direct(8)
      ops.PUSH_LOCAL_FRAME,    -- 550: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 551: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 553: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 554: get_slot_direct(13)
      ops.PUSH_LITERAL, 124,   -- 556: push_literal(124)
      ops.INVOKE, 2,           -- 558: invoke(2)
      ops.POP,                 -- 560: pop
      ops.PUSH_FRAME,          -- 561: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 562: get_slot_direct(13)
      ops.NEW_FUNCTION, 30,    -- 564: new_function(30)
      ops.SET_SLOT_DIRECT, 125,-- 566: set_slot_direct(125)
      ops.PUSH_LOCAL_FRAME,    -- 568: push_local_frame
      ops.GET_SLOT_DIRECT, 8,  -- 569: get_slot_direct(8)
      ops.PUSH_LOCAL_FRAME,    -- 571: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 572: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 574: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 575: get_slot_direct(13)
      ops.PUSH_LITERAL, 125,   -- 577: push_literal(125)
      ops.INVOKE, 2,           -- 579: invoke(2)
      ops.POP,                 -- 581: pop
      ops.PUSH_FRAME,          -- 582: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 583: get_slot_direct(13)
      ops.PUSH_FRAME,          -- 585: push_frame
      ops.GET_SLOT_DIRECT, 126,-- 586: get_slot_direct(126)
      ops.SET_SLOT_DIRECT, 126,-- 588: set_slot_direct(126)
      ops.PUSH_LOCAL_FRAME,    -- 590: push_local_frame
      ops.GET_SLOT_DIRECT, 8,  -- 591: get_slot_direct(8)
      ops.PUSH_LOCAL_FRAME,    -- 593: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 594: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 596: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 597: get_slot_direct(13)
      ops.PUSH_LITERAL, 126,   -- 599: push_literal(126)
      ops.INVOKE, 2,           -- 601: invoke(2)
      ops.POP,                 -- 603: pop
      ops.PUSH_FRAME,          -- 604: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 605: get_slot_direct(13)
      ops.GET_SLOT_DIRECT, 11, -- 607: get_slot_direct(11)
      ops.NEW_FUNCTION, 31,    -- 609: new_function(31)
      ops.SET_SLOT_DIRECT, 15, -- 611: set_slot_direct(15)
      ops.PUSH_LOCAL_FRAME,    -- 613: push_local_frame
      ops.GET_SLOT_DIRECT, 8,  -- 614: get_slot_direct(8)
      ops.PUSH_LOCAL_FRAME,    -- 616: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 617: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 619: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 620: get_slot_direct(13)
      ops.GET_SLOT_DIRECT, 11, -- 622: get_slot_direct(11)
      ops.PUSH_LITERAL, 15,    -- 624: push_literal(15)
      ops.INVOKE, 2,           -- 626: invoke(2)
      ops.POP,                 -- 628: pop
      ops.PUSH_FRAME,          -- 629: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 630: get_slot_direct(36)
      ops.GET_SLOT_DIRECT, 11, -- 632: get_slot_direct(11)
      ops.PUSH_FRAME,          -- 634: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 635: get_slot_direct(36)
      ops.GET_SLOT_DIRECT, 11, -- 637: get_slot_direct(11)
      ops.GET_SLOT_DIRECT, 12, -- 639: get_slot_direct(12)
      ops.SET_SLOT_DIRECT, 15, -- 641: set_slot_direct(15)
      ops.PUSH_LOCAL_FRAME,    -- 643: push_local_frame
      ops.GET_SLOT_DIRECT, 8,  -- 644: get_slot_direct(8)
      ops.PUSH_LOCAL_FRAME,    -- 646: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 647: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 649: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 650: get_slot_direct(36)
      ops.GET_SLOT_DIRECT, 11, -- 652: get_slot_direct(11)
      ops.PUSH_LITERAL, 15,    -- 654: push_literal(15)
      ops.INVOKE, 2,           -- 656: invoke(2)
      ops.POP,                 -- 658: pop
      ops.PUSH_FRAME,          -- 659: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 660: get_slot_direct(13)
      ops.GET_SLOT_DIRECT, 11, -- 662: get_slot_direct(11)
      ops.GET_SLOT_DIRECT, 150,-- 664: get_slot_direct(150)
      ops.UN_NOT,              -- 666: un_not
      ops.JMP_UNLESS, 700, 700,-- 667: jmp_unless(700,700)
      ops.PUSH_FRAME,          -- 670: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 671: get_slot_direct(13)
      ops.GET_SLOT_DIRECT, 11, -- 673: get_slot_direct(11)
      ops.PUSH_FRAME,          -- 675: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 676: get_slot_direct(13)
      ops.GET_SLOT_DIRECT, 11, -- 678: get_slot_direct(11)
      ops.GET_SLOT_DIRECT, 15, -- 680: get_slot_direct(15)
      ops.SET_SLOT_DIRECT, 150,-- 682: set_slot_direct(150)
      ops.PUSH_LOCAL_FRAME,    -- 684: push_local_frame
      ops.GET_SLOT_DIRECT, 8,  -- 685: get_slot_direct(8)
      ops.PUSH_LOCAL_FRAME,    -- 687: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 688: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 690: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 691: get_slot_direct(13)
      ops.GET_SLOT_DIRECT, 11, -- 693: get_slot_direct(11)
      ops.PUSH_LITERAL, 150,   -- 695: push_literal(150)
      ops.INVOKE, 2,           -- 697: invoke(2)
      ops.POP,                 -- 699: pop
      ops.PHI,                 -- 700: phi
      ops.NEW_ARRAY,           -- 701: new_array
      ops.DUP,                 -- 702: dup
      ops.NEW_ARRAY,           -- 703: new_array
      ops.DUP,                 -- 704: dup
      ops.PUSH_FRAME,          -- 705: push_frame
      ops.GET_SLOT_DIRECT, 28, -- 706: get_slot_direct(28)
      ops.SET_SLOT_DIRECT, 18, -- 708: set_slot_direct(18)
      ops.DUP,                 -- 710: dup
      ops.PUSH_LITERAL, 151,   -- 711: push_literal(151)
      ops.SET_SLOT_DIRECT, 31, -- 713: set_slot_direct(31)
      ops.DUP,                 -- 715: dup
      ops.PUSH_LITERAL, 152,   -- 716: push_literal(152)
      ops.SET_SLOT_DIRECT, 136,-- 718: set_slot_direct(136)
      ops.SET_SLOT_DIRECT, 18, -- 720: set_slot_direct(18)
      ops.DUP,                 -- 722: dup
      ops.NEW_ARRAY,           -- 723: new_array
      ops.DUP,                 -- 724: dup
      ops.PUSH_FRAME,          -- 725: push_frame
      ops.GET_SLOT_DIRECT, 28, -- 726: get_slot_direct(28)
      ops.SET_SLOT_DIRECT, 18, -- 728: set_slot_direct(18)
      ops.DUP,                 -- 730: dup
      ops.PUSH_LITERAL, 153,   -- 731: push_literal(153)
      ops.SET_SLOT_DIRECT, 31, -- 733: set_slot_direct(31)
      ops.DUP,                 -- 735: dup
      ops.PUSH_LITERAL, 154,   -- 736: push_literal(154)
      ops.SET_SLOT_DIRECT, 136,-- 738: set_slot_direct(136)
      ops.SET_SLOT_DIRECT, 31, -- 740: set_slot_direct(31)
      ops.DUP,                 -- 742: dup
      ops.NEW_ARRAY,           -- 743: new_array
      ops.DUP,                 -- 744: dup
      ops.PUSH_FRAME,          -- 745: push_frame
      ops.GET_SLOT_DIRECT, 28, -- 746: get_slot_direct(28)
      ops.SET_SLOT_DIRECT, 18, -- 748: set_slot_direct(18)
      ops.DUP,                 -- 750: dup
      ops.PUSH_LITERAL, 155,   -- 751: push_literal(155)
      ops.SET_SLOT_DIRECT, 31, -- 753: set_slot_direct(31)
      ops.DUP,                 -- 755: dup
      ops.PUSH_LITERAL, 156,   -- 756: push_literal(156)
      ops.SET_SLOT_DIRECT, 136,-- 758: set_slot_direct(136)
      ops.SET_SLOT_DIRECT, 136,-- 760: set_slot_direct(136)
      ops.DUP,                 -- 762: dup
      ops.NEW_ARRAY,           -- 763: new_array
      ops.DUP,                 -- 764: dup
      ops.PUSH_FRAME,          -- 765: push_frame
      ops.GET_SLOT_DIRECT, 28, -- 766: get_slot_direct(28)
      ops.SET_SLOT_DIRECT, 18, -- 768: set_slot_direct(18)
      ops.DUP,                 -- 770: dup
      ops.PUSH_LITERAL, 157,   -- 771: push_literal(157)
      ops.SET_SLOT_DIRECT, 31, -- 773: set_slot_direct(31)
      ops.DUP,                 -- 775: dup
      ops.PUSH_LITERAL, 158,   -- 776: push_literal(158)
      ops.SET_SLOT_DIRECT, 136,-- 778: set_slot_direct(136)
      ops.SET_SLOT_DIRECT, 159,-- 780: set_slot_direct(159)
      ops.DUP,                 -- 782: dup
      ops.NEW_ARRAY,           -- 783: new_array
      ops.DUP,                 -- 784: dup
      ops.PUSH_FRAME,          -- 785: push_frame
      ops.GET_SLOT_DIRECT, 28, -- 786: get_slot_direct(28)
      ops.SET_SLOT_DIRECT, 18, -- 788: set_slot_direct(18)
      ops.DUP,                 -- 790: dup
      ops.PUSH_LITERAL, 160,   -- 791: push_literal(160)
      ops.SET_SLOT_DIRECT, 31, -- 793: set_slot_direct(31)
      ops.DUP,                 -- 795: dup
      ops.PUSH_LITERAL, 161,   -- 796: push_literal(161)
      ops.SET_SLOT_DIRECT, 136,-- 798: set_slot_direct(136)
      ops.SET_SLOT_DIRECT, 162,-- 800: set_slot_direct(162)
      ops.DUP,                 -- 802: dup
      ops.NEW_ARRAY,           -- 803: new_array
      ops.DUP,                 -- 804: dup
      ops.PUSH_FRAME,          -- 805: push_frame
      ops.GET_SLOT_DIRECT, 28, -- 806: get_slot_direct(28)
      ops.SET_SLOT_DIRECT, 18, -- 808: set_slot_direct(18)
      ops.DUP,                 -- 810: dup
      ops.PUSH_LITERAL, 163,   -- 811: push_literal(163)
      ops.SET_SLOT_DIRECT, 31, -- 813: set_slot_direct(31)
      ops.DUP,                 -- 815: dup
      ops.PUSH_LITERAL, 164,   -- 816: push_literal(164)
      ops.SET_SLOT_DIRECT, 136,-- 818: set_slot_direct(136)
      ops.SET_SLOT_DIRECT, 165,-- 820: set_slot_direct(165)
      ops.DUP,                 -- 822: dup
      ops.NEW_ARRAY,           -- 823: new_array
      ops.DUP,                 -- 824: dup
      ops.PUSH_FRAME,          -- 825: push_frame
      ops.GET_SLOT_DIRECT, 28, -- 826: get_slot_direct(28)
      ops.SET_SLOT_DIRECT, 18, -- 828: set_slot_direct(18)
      ops.DUP,                 -- 830: dup
      ops.PUSH_LITERAL, 166,   -- 831: push_literal(166)
      ops.SET_SLOT_DIRECT, 31, -- 833: set_slot_direct(31)
      ops.DUP,                 -- 835: dup
      ops.PUSH_LITERAL, 167,   -- 836: push_literal(167)
      ops.SET_SLOT_DIRECT, 136,-- 838: set_slot_direct(136)
      ops.SET_SLOT_DIRECT, 168,-- 840: set_slot_direct(168)
      ops.DUP,                 -- 842: dup
      ops.NEW_ARRAY,           -- 843: new_array
      ops.DUP,                 -- 844: dup
      ops.PUSH_FRAME,          -- 845: push_frame
      ops.GET_SLOT_DIRECT, 28, -- 846: get_slot_direct(28)
      ops.SET_SLOT_DIRECT, 18, -- 848: set_slot_direct(18)
      ops.DUP,                 -- 850: dup
      ops.PUSH_LITERAL, 169,   -- 851: push_literal(169)
      ops.SET_SLOT_DIRECT, 31, -- 853: set_slot_direct(31)
      ops.DUP,                 -- 855: dup
      ops.PUSH_LITERAL, 170,   -- 856: push_literal(170)
      ops.SET_SLOT_DIRECT, 136,-- 858: set_slot_direct(136)
      ops.SET_SLOT_DIRECT, 171,-- 860: set_slot_direct(171)
      ops.DUP,                 -- 862: dup
      ops.NEW_ARRAY,           -- 863: new_array
      ops.DUP,                 -- 864: dup
      ops.PUSH_FRAME,          -- 865: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 866: get_slot_direct(13)
      ops.SET_SLOT_DIRECT, 18, -- 868: set_slot_direct(18)
      ops.DUP,                 -- 870: dup
      ops.PUSH_LITERAL, 172,   -- 871: push_literal(172)
      ops.SET_SLOT_DIRECT, 31, -- 873: set_slot_direct(31)
      ops.DUP,                 -- 875: dup
      ops.PUSH_LITERAL, 173,   -- 876: push_literal(173)
      ops.SET_SLOT_DIRECT, 136,-- 878: set_slot_direct(136)
      ops.SET_SLOT_DIRECT, 174,-- 880: set_slot_direct(174)
      ops.DUP,                 -- 882: dup
      ops.NEW_ARRAY,           -- 883: new_array
      ops.DUP,                 -- 884: dup
      ops.PUSH_FRAME,          -- 885: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 886: get_slot_direct(13)
      ops.SET_SLOT_DIRECT, 18, -- 888: set_slot_direct(18)
      ops.DUP,                 -- 890: dup
      ops.PUSH_LITERAL, 175,   -- 891: push_literal(175)
      ops.SET_SLOT_DIRECT, 31, -- 893: set_slot_direct(31)
      ops.DUP,                 -- 895: dup
      ops.PUSH_LITERAL, 173,   -- 896: push_literal(173)
      ops.UN_MINUS,            -- 898: un_minus
      ops.SET_SLOT_DIRECT, 136,-- 899: set_slot_direct(136)
      ops.SET_SLOT_DIRECT, 176,-- 901: set_slot_direct(176)
      ops.DUP,                 -- 903: dup
      ops.NEW_ARRAY,           -- 904: new_array
      ops.DUP,                 -- 905: dup
      ops.PUSH_FRAME,          -- 906: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 907: get_slot_direct(13)
      ops.SET_SLOT_DIRECT, 18, -- 909: set_slot_direct(18)
      ops.DUP,                 -- 911: dup
      ops.PUSH_LITERAL, 139,   -- 912: push_literal(139)
      ops.SET_SLOT_DIRECT, 31, -- 914: set_slot_direct(31)
      ops.DUP,                 -- 916: dup
      ops.PUSH_LITERAL, 177,   -- 917: push_literal(177)
      ops.SET_SLOT_DIRECT, 136,-- 919: set_slot_direct(136)
      ops.SET_SLOT_DIRECT, 135,-- 921: set_slot_direct(135)
      ops.DUP,                 -- 923: dup
      ops.NEW_ARRAY,           -- 924: new_array
      ops.DUP,                 -- 925: dup
      ops.PUSH_FRAME,          -- 926: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 927: get_slot_direct(13)
      ops.SET_SLOT_DIRECT, 18, -- 929: set_slot_direct(18)
      ops.DUP,                 -- 931: dup
      ops.PUSH_LITERAL, 178,   -- 932: push_literal(178)
      ops.SET_SLOT_DIRECT, 31, -- 934: set_slot_direct(31)
      ops.DUP,                 -- 936: dup
      ops.PUSH_LITERAL, 27,    -- 937: push_literal(27)
      ops.UN_MINUS,            -- 939: un_minus
      ops.SET_SLOT_DIRECT, 136,-- 940: set_slot_direct(136)
      ops.SET_SLOT_DIRECT, 179,-- 942: set_slot_direct(179)
      ops.DUP,                 -- 944: dup
      ops.NEW_ARRAY,           -- 945: new_array
      ops.DUP,                 -- 946: dup
      ops.PUSH_FRAME,          -- 947: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 948: get_slot_direct(13)
      ops.SET_SLOT_DIRECT, 18, -- 950: set_slot_direct(18)
      ops.DUP,                 -- 952: dup
      ops.PUSH_LITERAL, 180,   -- 953: push_literal(180)
      ops.SET_SLOT_DIRECT, 31, -- 955: set_slot_direct(31)
      ops.DUP,                 -- 957: dup
      ops.PUSH_LITERAL, 27,    -- 958: push_literal(27)
      ops.SET_SLOT_DIRECT, 136,-- 960: set_slot_direct(136)
      ops.SET_SLOT_DIRECT, 181,-- 962: set_slot_direct(181)
      ops.DUP,                 -- 964: dup
      ops.GET_SLOT_DIRECT_CHECK, 94,-- 965: get_slot_direct_check(94)
      ops.SWAP,                -- 967: swap
      ops.NEW_FUNCTION, 32,    -- 968: new_function(32)
      ops.INVOKE, 1,           -- 970: invoke(1)
      ops.POP,                 -- 972: pop
      ops.PUSH_LITERAL, 118,   -- 973: push_literal(118)
      ops.PUSH_LITERAL, 185,   -- 975: push_literal(185)
      ops.NEW_FUNCTION, 33,    -- 977: new_function(33)
      ops.SET_SLOT_INDIRECT,   -- 979: set_slot_indirect
      ops.PUSH_LITERAL, 32,    -- 980: push_literal(32)
      ops.PUSH_LITERAL, 185,   -- 982: push_literal(185)
      ops.NEW_FUNCTION, 34,    -- 984: new_function(34)
      ops.SET_SLOT_INDIRECT,   -- 986: set_slot_indirect
      ops.PUSH_LITERAL, 118,   -- 987: push_literal(118)
      ops.PUSH_LITERAL, 189,   -- 989: push_literal(189)
      ops.NEW_FUNCTION, 35,    -- 991: new_function(35)
      ops.SET_SLOT_INDIRECT,   -- 993: set_slot_indirect
      ops.PUSH_LITERAL, 32,    -- 994: push_literal(32)
      ops.PUSH_LITERAL, 189,   -- 996: push_literal(189)
      ops.NEW_FUNCTION, 36,    -- 998: new_function(36)
      ops.SET_SLOT_INDIRECT,   -- 1000: set_slot_indirect
      ops.PUSH_LITERAL, 0,     -- 1001: push_literal(0)
      ops.RETURN               -- 1003: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 2,
    nargs = 0,
    max_stack = 1,
    bytecode = {
      ops.PUSH_LITERAL, 0,     -- 0: push_literal(0)
      ops.RETURN               -- 2: return
    }
  },
  ifunc.Function:new{ -- "Throw"
    name = jsval.newString("Throw"),
    id = 3,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 19, -- 8: set_slot_direct(19)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 20, -- 14: set_slot_direct(20)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_FRAME,          -- 17: push_frame
      ops.GET_SLOT_DIRECT, 21, -- 18: get_slot_direct(21)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.GET_SLOT_DIRECT, 19, -- 21: get_slot_direct(19)
      ops.GET_SLOT_INDIRECT,   -- 23: get_slot_indirect
      ops.JMP_UNLESS, 42, 45,  -- 24: jmp_unless(42,45)
      ops.PUSH_FRAME,          -- 27: push_frame
      ops.GET_SLOT_DIRECT, 21, -- 28: get_slot_direct(21)
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.GET_SLOT_DIRECT, 19, -- 31: get_slot_direct(19)
      ops.GET_SLOT_INDIRECT,   -- 33: get_slot_indirect
      ops.DUP,                 -- 34: dup
      ops.GET_SLOT_DIRECT_CHECK, 22,-- 35: get_slot_direct_check(22)
      ops.SWAP,                -- 37: swap
      ops.INVOKE, 0,           -- 38: invoke(0)
      ops.JMP, 45,             -- 40: jmp(45)
      ops.PUSH_LOCAL_FRAME,    -- 42: push_local_frame
      ops.GET_SLOT_DIRECT, 19, -- 43: get_slot_direct(19)
      ops.PHI,                 -- 45: phi
      ops.SET_SLOT_DIRECT, 20, -- 46: set_slot_direct(20)
      ops.PUSH_FRAME,          -- 48: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 49: get_slot_direct(14)
      ops.DUP,                 -- 51: dup
      ops.GET_SLOT_DIRECT_CHECK, 6,-- 52: get_slot_direct_check(6)
      ops.SWAP,                -- 54: swap
      ops.PUSH_LOCAL_FRAME,    -- 55: push_local_frame
      ops.GET_SLOT_DIRECT, 20, -- 56: get_slot_direct(20)
      ops.INVOKE, 1,           -- 58: invoke(1)
      ops.POP,                 -- 60: pop
      ops.PUSH_LITERAL, 0,     -- 61: push_literal(0)
      ops.RETURN               -- 63: return
    }
  },
  ifunc.Function:new{ -- "ToInteger"
    name = jsval.newString("ToInteger"),
    id = 4,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 23, -- 8: set_slot_direct(23)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 24, -- 14: set_slot_direct(24)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_FRAME,          -- 17: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 18: get_slot_direct(13)
      ops.UN_TYPEOF,           -- 20: un_typeof
      ops.PUSH_LITERAL, 25,    -- 21: push_literal(25)
      ops.BI_EQ,               -- 23: bi_eq
      ops.JMP_UNLESS, 40, 43,  -- 24: jmp_unless(40,43)
      ops.PUSH_FRAME,          -- 27: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 28: get_slot_direct(13)
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 31: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 33: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 34: get_slot_direct(23)
      ops.INVOKE, 1,           -- 36: invoke(1)
      ops.JMP, 43,             -- 38: jmp(43)
      ops.PUSH_LOCAL_FRAME,    -- 40: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 41: get_slot_direct(23)
      ops.PHI,                 -- 43: phi
      ops.SET_SLOT_DIRECT, 23, -- 44: set_slot_direct(23)
      ops.PUSH_LOCAL_FRAME,    -- 46: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 47: get_slot_direct(23)
      ops.PUSH_LOCAL_FRAME,    -- 49: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 50: get_slot_direct(23)
      ops.BI_EQ,               -- 52: bi_eq
      ops.UN_NOT,              -- 53: un_not
      ops.JMP_UNLESS, 60, 60,  -- 54: jmp_unless(60,60)
      ops.PUSH_LITERAL, 18,    -- 57: push_literal(18)
      ops.RETURN,              -- 59: return
      ops.PHI,                 -- 60: phi
      ops.PUSH_LOCAL_FRAME,    -- 61: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 62: get_slot_direct(23)
      ops.PUSH_LITERAL, 18,    -- 64: push_literal(18)
      ops.BI_EQ,               -- 66: bi_eq
      ops.DUP,                 -- 67: dup
      ops.UN_NOT,              -- 68: un_not
      ops.JMP_UNLESS, 93, 93,  -- 69: jmp_unless(93,93)
      ops.POP,                 -- 72: pop
      ops.PUSH_LOCAL_FRAME,    -- 73: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 74: get_slot_direct(23)
      ops.PUSH_LITERAL, 27,    -- 76: push_literal(27)
      ops.BI_EQ,               -- 78: bi_eq
      ops.DUP,                 -- 79: dup
      ops.UN_NOT,              -- 80: un_not
      ops.JMP_UNLESS, 92, 92,  -- 81: jmp_unless(92,92)
      ops.POP,                 -- 84: pop
      ops.PUSH_LOCAL_FRAME,    -- 85: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 86: get_slot_direct(23)
      ops.PUSH_LITERAL, 27,    -- 88: push_literal(27)
      ops.UN_MINUS,            -- 90: un_minus
      ops.BI_EQ,               -- 91: bi_eq
      ops.PHI,                 -- 92: phi
      ops.PHI,                 -- 93: phi
      ops.JMP_UNLESS, 101, 101,-- 94: jmp_unless(101,101)
      ops.PUSH_LOCAL_FRAME,    -- 97: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 98: get_slot_direct(23)
      ops.RETURN,              -- 100: return
      ops.PHI,                 -- 101: phi
      ops.PUSH_LOCAL_FRAME,    -- 102: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 103: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 104: get_slot_direct(23)
      ops.PUSH_LITERAL, 18,    -- 106: push_literal(18)
      ops.SWAP,                -- 108: swap
      ops.BI_GT,               -- 109: bi_gt
      ops.SET_SLOT_DIRECT, 24, -- 110: set_slot_direct(24)
      ops.PUSH_LOCAL_FRAME,    -- 112: push_local_frame
      ops.PUSH_FRAME,          -- 113: push_frame
      ops.GET_SLOT_DIRECT, 28, -- 114: get_slot_direct(28)
      ops.DUP,                 -- 116: dup
      ops.GET_SLOT_DIRECT_CHECK, 29,-- 117: get_slot_direct_check(29)
      ops.SWAP,                -- 119: swap
      ops.PUSH_LOCAL_FRAME,    -- 120: push_local_frame
      ops.GET_SLOT_DIRECT, 24, -- 121: get_slot_direct(24)
      ops.JMP_UNLESS, 132, 135,-- 123: jmp_unless(132,135)
      ops.PUSH_LOCAL_FRAME,    -- 126: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 127: get_slot_direct(23)
      ops.UN_MINUS,            -- 129: un_minus
      ops.JMP, 135,            -- 130: jmp(135)
      ops.PUSH_LOCAL_FRAME,    -- 132: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 133: get_slot_direct(23)
      ops.PHI,                 -- 135: phi
      ops.INVOKE, 1,           -- 136: invoke(1)
      ops.SET_SLOT_DIRECT, 23, -- 138: set_slot_direct(23)
      ops.PUSH_LOCAL_FRAME,    -- 140: push_local_frame
      ops.GET_SLOT_DIRECT, 24, -- 141: get_slot_direct(24)
      ops.JMP_UNLESS, 152, 155,-- 143: jmp_unless(152,155)
      ops.PUSH_LOCAL_FRAME,    -- 146: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 147: get_slot_direct(23)
      ops.UN_MINUS,            -- 149: un_minus
      ops.JMP, 155,            -- 150: jmp(155)
      ops.PUSH_LOCAL_FRAME,    -- 152: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 153: get_slot_direct(23)
      ops.PHI,                 -- 155: phi
      ops.RETURN               -- 156: return
    }
  },
  ifunc.Function:new{ -- "makeNonEnumerable"
    name = jsval.newString("makeNonEnumerable"),
    id = 5,
    nargs = 2,
    max_stack = 7,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 30, -- 8: set_slot_direct(30)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 19, -- 15: set_slot_direct(19)
      ops.POP,                 -- 17: pop
      ops.PUSH_FRAME,          -- 18: push_frame
      ops.GET_SLOT_DIRECT, 5,  -- 19: get_slot_direct(5)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 22: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 24: push_local_frame
      ops.GET_SLOT_DIRECT, 30, -- 25: get_slot_direct(30)
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.GET_SLOT_DIRECT, 19, -- 28: get_slot_direct(19)
      ops.NEW_OBJECT,          -- 30: new_object
      ops.DUP,                 -- 31: dup
      ops.PUSH_LITERAL, 32,    -- 32: push_literal(32)
      ops.SET_SLOT_DIRECT, 33, -- 34: set_slot_direct(33)
      ops.INVOKE, 3,           -- 36: invoke(3)
      ops.POP,                 -- 38: pop
      ops.PUSH_LITERAL, 0,     -- 39: push_literal(0)
      ops.RETURN               -- 41: return
    }
  },
  ifunc.Function:new{ -- "makeFrozen"
    name = jsval.newString("makeFrozen"),
    id = 6,
    nargs = 2,
    max_stack = 7,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 30, -- 8: set_slot_direct(30)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 19, -- 15: set_slot_direct(19)
      ops.POP,                 -- 17: pop
      ops.PUSH_FRAME,          -- 18: push_frame
      ops.GET_SLOT_DIRECT, 5,  -- 19: get_slot_direct(5)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 22: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 24: push_local_frame
      ops.GET_SLOT_DIRECT, 30, -- 25: get_slot_direct(30)
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.GET_SLOT_DIRECT, 19, -- 28: get_slot_direct(19)
      ops.NEW_OBJECT,          -- 30: new_object
      ops.DUP,                 -- 31: dup
      ops.PUSH_LITERAL, 32,    -- 32: push_literal(32)
      ops.SET_SLOT_DIRECT, 34, -- 34: set_slot_direct(34)
      ops.DUP,                 -- 36: dup
      ops.PUSH_LITERAL, 32,    -- 37: push_literal(32)
      ops.SET_SLOT_DIRECT, 33, -- 39: set_slot_direct(33)
      ops.DUP,                 -- 41: dup
      ops.PUSH_LITERAL, 32,    -- 42: push_literal(32)
      ops.SET_SLOT_DIRECT, 35, -- 44: set_slot_direct(35)
      ops.INVOKE, 3,           -- 46: invoke(3)
      ops.POP,                 -- 48: pop
      ops.PUSH_LITERAL, 0,     -- 49: push_literal(0)
      ops.RETURN               -- 51: return
    }
  },
  ifunc.Function:new{ -- ".codePointAt"
    name = jsval.newString(".codePointAt"),
    id = 7,
    nargs = 1,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 37, -- 8: set_slot_direct(37)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 38, -- 14: set_slot_direct(38)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 39, -- 19: set_slot_direct(39)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 22: push_literal(0)
      ops.SET_SLOT_DIRECT, 40, -- 24: set_slot_direct(40)
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 27: get_slot_direct(26)
      ops.PUSH_LITERAL, 41,    -- 29: push_literal(41)
      ops.BI_EQ,               -- 31: bi_eq
      ops.DUP,                 -- 32: dup
      ops.UN_NOT,              -- 33: un_not
      ops.JMP_UNLESS, 44, 44,  -- 34: jmp_unless(44,44)
      ops.POP,                 -- 37: pop
      ops.PUSH_LOCAL_FRAME,    -- 38: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 39: get_slot_direct(26)
      ops.PUSH_LITERAL, 0,     -- 41: push_literal(0)
      ops.BI_EQ,               -- 43: bi_eq
      ops.PHI,                 -- 44: phi
      ops.JMP_UNLESS, 59, 59,  -- 45: jmp_unless(59,59)
      ops.PUSH_FRAME,          -- 48: push_frame
      ops.GET_SLOT_DIRECT, 6,  -- 49: get_slot_direct(6)
      ops.PUSH_LOCAL_FRAME,    -- 51: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 52: get_slot_direct(26)
      ops.PUSH_LITERAL, 42,    -- 54: push_literal(42)
      ops.INVOKE, 1,           -- 56: invoke(1)
      ops.POP,                 -- 58: pop
      ops.PHI,                 -- 59: phi
      ops.PUSH_LOCAL_FRAME,    -- 60: push_local_frame
      ops.PUSH_FRAME,          -- 61: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 62: get_slot_direct(36)
      ops.PUSH_LOCAL_FRAME,    -- 64: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 65: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 67: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 68: get_slot_direct(26)
      ops.INVOKE, 1,           -- 70: invoke(1)
      ops.SET_SLOT_DIRECT, 38, -- 72: set_slot_direct(38)
      ops.PUSH_LOCAL_FRAME,    -- 74: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 75: push_local_frame
      ops.GET_SLOT_DIRECT, 38, -- 76: get_slot_direct(38)
      ops.DUP,                 -- 78: dup
      ops.GET_SLOT_DIRECT_CHECK, 43,-- 79: get_slot_direct_check(43)
      ops.SWAP,                -- 81: swap
      ops.PUSH_LOCAL_FRAME,    -- 82: push_local_frame
      ops.GET_SLOT_DIRECT, 37, -- 83: get_slot_direct(37)
      ops.INVOKE, 1,           -- 85: invoke(1)
      ops.SET_SLOT_DIRECT, 39, -- 87: set_slot_direct(39)
      ops.PUSH_LOCAL_FRAME,    -- 89: push_local_frame
      ops.GET_SLOT_DIRECT, 39, -- 90: get_slot_direct(39)
      ops.PUSH_LOCAL_FRAME,    -- 92: push_local_frame
      ops.GET_SLOT_DIRECT, 39, -- 93: get_slot_direct(39)
      ops.BI_EQ,               -- 95: bi_eq
      ops.UN_NOT,              -- 96: un_not
      ops.JMP_UNLESS, 103, 103,-- 97: jmp_unless(103,103)
      ops.PUSH_LITERAL, 0,     -- 100: push_literal(0)
      ops.RETURN,              -- 102: return
      ops.PHI,                 -- 103: phi
      ops.PUSH_LOCAL_FRAME,    -- 104: push_local_frame
      ops.GET_SLOT_DIRECT, 39, -- 105: get_slot_direct(39)
      ops.PUSH_LITERAL, 44,    -- 107: push_literal(44)
      ops.BI_GTE,              -- 109: bi_gte
      ops.DUP,                 -- 110: dup
      ops.JMP_UNLESS, 122, 122,-- 111: jmp_unless(122,122)
      ops.POP,                 -- 114: pop
      ops.PUSH_LOCAL_FRAME,    -- 115: push_local_frame
      ops.GET_SLOT_DIRECT, 39, -- 116: get_slot_direct(39)
      ops.PUSH_LITERAL, 45,    -- 118: push_literal(45)
      ops.SWAP,                -- 120: swap
      ops.BI_GTE,              -- 121: bi_gte
      ops.PHI,                 -- 122: phi
      ops.JMP_UNLESS, 200, 200,-- 123: jmp_unless(200,200)
      ops.PUSH_LOCAL_FRAME,    -- 126: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 127: push_local_frame
      ops.GET_SLOT_DIRECT, 38, -- 128: get_slot_direct(38)
      ops.DUP,                 -- 130: dup
      ops.GET_SLOT_DIRECT_CHECK, 43,-- 131: get_slot_direct_check(43)
      ops.SWAP,                -- 133: swap
      ops.PUSH_LOCAL_FRAME,    -- 134: push_local_frame
      ops.GET_SLOT_DIRECT, 37, -- 135: get_slot_direct(37)
      ops.PUSH_LITERAL, 31,    -- 137: push_literal(31)
      ops.BI_ADD,              -- 139: bi_add
      ops.INVOKE, 1,           -- 140: invoke(1)
      ops.SET_SLOT_DIRECT, 40, -- 142: set_slot_direct(40)
      ops.PUSH_LOCAL_FRAME,    -- 144: push_local_frame
      ops.GET_SLOT_DIRECT, 40, -- 145: get_slot_direct(40)
      ops.PUSH_LOCAL_FRAME,    -- 147: push_local_frame
      ops.GET_SLOT_DIRECT, 40, -- 148: get_slot_direct(40)
      ops.BI_EQ,               -- 150: bi_eq
      ops.DUP,                 -- 151: dup
      ops.JMP_UNLESS, 175, 175,-- 152: jmp_unless(175,175)
      ops.POP,                 -- 155: pop
      ops.PUSH_LOCAL_FRAME,    -- 156: push_local_frame
      ops.GET_SLOT_DIRECT, 40, -- 157: get_slot_direct(40)
      ops.PUSH_LITERAL, 46,    -- 159: push_literal(46)
      ops.BI_GTE,              -- 161: bi_gte
      ops.DUP,                 -- 162: dup
      ops.JMP_UNLESS, 174, 174,-- 163: jmp_unless(174,174)
      ops.POP,                 -- 166: pop
      ops.PUSH_LOCAL_FRAME,    -- 167: push_local_frame
      ops.GET_SLOT_DIRECT, 40, -- 168: get_slot_direct(40)
      ops.PUSH_LITERAL, 47,    -- 170: push_literal(47)
      ops.SWAP,                -- 172: swap
      ops.BI_GTE,              -- 173: bi_gte
      ops.PHI,                 -- 174: phi
      ops.PHI,                 -- 175: phi
      ops.JMP_UNLESS, 199, 199,-- 176: jmp_unless(199,199)
      ops.PUSH_LOCAL_FRAME,    -- 179: push_local_frame
      ops.GET_SLOT_DIRECT, 39, -- 180: get_slot_direct(39)
      ops.PUSH_LITERAL, 44,    -- 182: push_literal(44)
      ops.BI_SUB,              -- 184: bi_sub
      ops.PUSH_LITERAL, 48,    -- 185: push_literal(48)
      ops.BI_MUL,              -- 187: bi_mul
      ops.PUSH_LOCAL_FRAME,    -- 188: push_local_frame
      ops.GET_SLOT_DIRECT, 40, -- 189: get_slot_direct(40)
      ops.BI_ADD,              -- 191: bi_add
      ops.PUSH_LITERAL, 46,    -- 192: push_literal(46)
      ops.BI_SUB,              -- 194: bi_sub
      ops.PUSH_LITERAL, 49,    -- 195: push_literal(49)
      ops.BI_ADD,              -- 197: bi_add
      ops.RETURN,              -- 198: return
      ops.PHI,                 -- 199: phi
      ops.PHI,                 -- 200: phi
      ops.PUSH_LOCAL_FRAME,    -- 201: push_local_frame
      ops.GET_SLOT_DIRECT, 39, -- 202: get_slot_direct(39)
      ops.RETURN               -- 204: return
    }
  },
  ifunc.Function:new{ -- ".indexOf"
    name = jsval.newString(".indexOf"),
    id = 8,
    nargs = 2,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 51, -- 8: set_slot_direct(51)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 52, -- 15: set_slot_direct(52)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 19: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 21: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 24: push_literal(0)
      ops.SET_SLOT_DIRECT, 54, -- 26: set_slot_direct(54)
      ops.PUSH_LOCAL_FRAME,    -- 28: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 29: push_local_frame
      ops.GET_SLOT_DIRECT, 52, -- 30: get_slot_direct(52)
      ops.DUP,                 -- 32: dup
      ops.UN_NOT,              -- 33: un_not
      ops.JMP_UNLESS, 40, 40,  -- 34: jmp_unless(40,40)
      ops.POP,                 -- 37: pop
      ops.PUSH_LITERAL, 18,    -- 38: push_literal(18)
      ops.PHI,                 -- 40: phi
      ops.SET_SLOT_DIRECT, 53, -- 41: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 43: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 44: push_literal(18)
      ops.SET_SLOT_DIRECT, 54, -- 46: set_slot_direct(54)
      ops.PUSH_LOCAL_FRAME,    -- 48: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 49: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 51: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 52: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 55, -- 54: get_slot_direct(55)
      ops.BI_GT,               -- 56: bi_gt
      ops.JMP_UNLESS, 68, 68,  -- 57: jmp_unless(68,68)
      ops.PUSH_LOCAL_FRAME,    -- 60: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 61: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 62: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 55, -- 64: get_slot_direct(55)
      ops.SET_SLOT_DIRECT, 53, -- 66: set_slot_direct(53)
      ops.PHI,                 -- 68: phi
      ops.JMP_INTO_LOOP, 164, 179,-- 69: jmp_into_loop(164,179)
      ops.PUSH_LOCAL_FRAME,    -- 72: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 73: push_literal(18)
      ops.SET_SLOT_DIRECT, 54, -- 75: set_slot_direct(54)
      ops.JMP_INTO_LOOP, 89, 139,-- 77: jmp_into_loop(89,139)
      ops.PUSH_LOCAL_FRAME,    -- 80: push_local_frame
      ops.DUP,                 -- 81: dup
      ops.GET_SLOT_DIRECT, 54, -- 82: get_slot_direct(54)
      ops.PUSH_LITERAL, 31,    -- 84: push_literal(31)
      ops.BI_ADD,              -- 86: bi_add
      ops.SET_SLOT_DIRECT, 54, -- 87: set_slot_direct(54)
      ops.PHI,                 -- 89: phi
      ops.PUSH_LOCAL_FRAME,    -- 90: push_local_frame
      ops.GET_SLOT_DIRECT, 54, -- 91: get_slot_direct(54)
      ops.PUSH_LOCAL_FRAME,    -- 93: push_local_frame
      ops.GET_SLOT_DIRECT, 51, -- 94: get_slot_direct(51)
      ops.GET_SLOT_DIRECT, 55, -- 96: get_slot_direct(55)
      ops.SWAP,                -- 98: swap
      ops.BI_GT,               -- 99: bi_gt
      ops.DUP,                 -- 100: dup
      ops.JMP_UNLESS, 134, 134,-- 101: jmp_unless(134,134)
      ops.POP,                 -- 104: pop
      ops.PUSH_LOCAL_FRAME,    -- 105: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 106: get_slot_direct(26)
      ops.DUP,                 -- 108: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 109: get_slot_direct_check(56)
      ops.SWAP,                -- 111: swap
      ops.PUSH_LOCAL_FRAME,    -- 112: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 113: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 115: push_local_frame
      ops.GET_SLOT_DIRECT, 54, -- 116: get_slot_direct(54)
      ops.BI_ADD,              -- 118: bi_add
      ops.INVOKE, 1,           -- 119: invoke(1)
      ops.PUSH_LOCAL_FRAME,    -- 121: push_local_frame
      ops.GET_SLOT_DIRECT, 51, -- 122: get_slot_direct(51)
      ops.DUP,                 -- 124: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 125: get_slot_direct_check(56)
      ops.SWAP,                -- 127: swap
      ops.PUSH_LOCAL_FRAME,    -- 128: push_local_frame
      ops.GET_SLOT_DIRECT, 54, -- 129: get_slot_direct(54)
      ops.INVOKE, 1,           -- 131: invoke(1)
      ops.BI_EQ,               -- 133: bi_eq
      ops.PHI,                 -- 134: phi
      ops.UN_NOT,              -- 135: un_not
      ops.JMP_UNLESS, 80, 139, -- 136: jmp_unless(80,139)
      ops.PHI,                 -- 139: phi
      ops.PUSH_LOCAL_FRAME,    -- 140: push_local_frame
      ops.GET_SLOT_DIRECT, 54, -- 141: get_slot_direct(54)
      ops.PUSH_LOCAL_FRAME,    -- 143: push_local_frame
      ops.GET_SLOT_DIRECT, 51, -- 144: get_slot_direct(51)
      ops.GET_SLOT_DIRECT, 55, -- 146: get_slot_direct(55)
      ops.BI_EQ,               -- 148: bi_eq
      ops.JMP_UNLESS, 154, 154,-- 149: jmp_unless(154,154)
      ops.JMP, 179,            -- 152: jmp(179)
      ops.PHI,                 -- 154: phi
      ops.PUSH_LOCAL_FRAME,    -- 155: push_local_frame
      ops.DUP,                 -- 156: dup
      ops.GET_SLOT_DIRECT, 53, -- 157: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 159: push_literal(31)
      ops.BI_ADD,              -- 161: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 162: set_slot_direct(53)
      ops.PHI,                 -- 164: phi
      ops.PUSH_LOCAL_FRAME,    -- 165: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 166: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 168: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 169: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 55, -- 171: get_slot_direct(55)
      ops.SWAP,                -- 173: swap
      ops.BI_GT,               -- 174: bi_gt
      ops.UN_NOT,              -- 175: un_not
      ops.JMP_UNLESS, 72, 179, -- 176: jmp_unless(72,179)
      ops.PHI,                 -- 179: phi
      ops.PUSH_LOCAL_FRAME,    -- 180: push_local_frame
      ops.GET_SLOT_DIRECT, 54, -- 181: get_slot_direct(54)
      ops.PUSH_LOCAL_FRAME,    -- 183: push_local_frame
      ops.GET_SLOT_DIRECT, 51, -- 184: get_slot_direct(51)
      ops.GET_SLOT_DIRECT, 55, -- 186: get_slot_direct(55)
      ops.BI_EQ,               -- 188: bi_eq
      ops.JMP_UNLESS, 197, 200,-- 189: jmp_unless(197,200)
      ops.PUSH_LOCAL_FRAME,    -- 192: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 193: get_slot_direct(53)
      ops.JMP, 200,            -- 195: jmp(200)
      ops.PUSH_LITERAL, 31,    -- 197: push_literal(31)
      ops.UN_MINUS,            -- 199: un_minus
      ops.PHI,                 -- 200: phi
      ops.RETURN               -- 201: return
    }
  },
  ifunc.Function:new{ -- ".slice"
    name = jsval.newString(".slice"),
    id = 9,
    nargs = 2,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 58, -- 8: set_slot_direct(58)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 59, -- 15: set_slot_direct(59)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 19: push_literal(0)
      ops.SET_SLOT_DIRECT, 60, -- 21: set_slot_direct(60)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 24: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 25: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 55, -- 27: get_slot_direct(55)
      ops.SET_SLOT_DIRECT, 60, -- 29: set_slot_direct(60)
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.GET_SLOT_DIRECT, 59, -- 32: get_slot_direct(59)
      ops.PUSH_LITERAL, 0,     -- 34: push_literal(0)
      ops.BI_EQ,               -- 36: bi_eq
      ops.JMP_UNLESS, 46, 46,  -- 37: jmp_unless(46,46)
      ops.PUSH_LOCAL_FRAME,    -- 40: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 41: push_local_frame
      ops.GET_SLOT_DIRECT, 60, -- 42: get_slot_direct(60)
      ops.SET_SLOT_DIRECT, 59, -- 44: set_slot_direct(59)
      ops.PHI,                 -- 46: phi
      ops.PUSH_LOCAL_FRAME,    -- 47: push_local_frame
      ops.GET_SLOT_DIRECT, 58, -- 48: get_slot_direct(58)
      ops.PUSH_LITERAL, 18,    -- 50: push_literal(18)
      ops.SWAP,                -- 52: swap
      ops.BI_GT,               -- 53: bi_gt
      ops.JMP_UNLESS, 67, 67,  -- 54: jmp_unless(67,67)
      ops.PUSH_LOCAL_FRAME,    -- 57: push_local_frame
      ops.DUP,                 -- 58: dup
      ops.GET_SLOT_DIRECT, 58, -- 59: get_slot_direct(58)
      ops.PUSH_LOCAL_FRAME,    -- 61: push_local_frame
      ops.GET_SLOT_DIRECT, 60, -- 62: get_slot_direct(60)
      ops.BI_ADD,              -- 64: bi_add
      ops.SET_SLOT_DIRECT, 58, -- 65: set_slot_direct(58)
      ops.PHI,                 -- 67: phi
      ops.PUSH_LOCAL_FRAME,    -- 68: push_local_frame
      ops.GET_SLOT_DIRECT, 59, -- 69: get_slot_direct(59)
      ops.PUSH_LITERAL, 18,    -- 71: push_literal(18)
      ops.SWAP,                -- 73: swap
      ops.BI_GT,               -- 74: bi_gt
      ops.JMP_UNLESS, 88, 88,  -- 75: jmp_unless(88,88)
      ops.PUSH_LOCAL_FRAME,    -- 78: push_local_frame
      ops.DUP,                 -- 79: dup
      ops.GET_SLOT_DIRECT, 59, -- 80: get_slot_direct(59)
      ops.PUSH_LOCAL_FRAME,    -- 82: push_local_frame
      ops.GET_SLOT_DIRECT, 60, -- 83: get_slot_direct(60)
      ops.BI_ADD,              -- 85: bi_add
      ops.SET_SLOT_DIRECT, 59, -- 86: set_slot_direct(59)
      ops.PHI,                 -- 88: phi
      ops.PUSH_LOCAL_FRAME,    -- 89: push_local_frame
      ops.GET_SLOT_DIRECT, 58, -- 90: get_slot_direct(58)
      ops.PUSH_LOCAL_FRAME,    -- 92: push_local_frame
      ops.GET_SLOT_DIRECT, 60, -- 93: get_slot_direct(60)
      ops.BI_GT,               -- 95: bi_gt
      ops.JMP_UNLESS, 105, 105,-- 96: jmp_unless(105,105)
      ops.PUSH_LOCAL_FRAME,    -- 99: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 100: push_local_frame
      ops.GET_SLOT_DIRECT, 60, -- 101: get_slot_direct(60)
      ops.SET_SLOT_DIRECT, 58, -- 103: set_slot_direct(58)
      ops.PHI,                 -- 105: phi
      ops.PUSH_LOCAL_FRAME,    -- 106: push_local_frame
      ops.GET_SLOT_DIRECT, 59, -- 107: get_slot_direct(59)
      ops.PUSH_LOCAL_FRAME,    -- 109: push_local_frame
      ops.GET_SLOT_DIRECT, 60, -- 110: get_slot_direct(60)
      ops.BI_GT,               -- 112: bi_gt
      ops.JMP_UNLESS, 122, 122,-- 113: jmp_unless(122,122)
      ops.PUSH_LOCAL_FRAME,    -- 116: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 117: push_local_frame
      ops.GET_SLOT_DIRECT, 60, -- 118: get_slot_direct(60)
      ops.SET_SLOT_DIRECT, 59, -- 120: set_slot_direct(59)
      ops.PHI,                 -- 122: phi
      ops.PUSH_LOCAL_FRAME,    -- 123: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 124: get_slot_direct(26)
      ops.DUP,                 -- 126: dup
      ops.GET_SLOT_DIRECT_CHECK, 61,-- 127: get_slot_direct_check(61)
      ops.SWAP,                -- 129: swap
      ops.PUSH_LOCAL_FRAME,    -- 130: push_local_frame
      ops.GET_SLOT_DIRECT, 58, -- 131: get_slot_direct(58)
      ops.PUSH_LOCAL_FRAME,    -- 133: push_local_frame
      ops.GET_SLOT_DIRECT, 59, -- 134: get_slot_direct(59)
      ops.INVOKE, 2,           -- 136: invoke(2)
      ops.RETURN               -- 138: return
    }
  },
  ifunc.Function:new{ -- ".trim"
    name = jsval.newString(".trim"),
    id = 10,
    nargs = 0,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 63, -- 3: set_slot_direct(63)
      ops.PUSH_LOCAL_FRAME,    -- 5: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 6: push_literal(0)
      ops.SET_SLOT_DIRECT, 64, -- 8: set_slot_direct(64)
      ops.PUSH_LOCAL_FRAME,    -- 10: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 11: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 13: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 15: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 17: get_slot_direct(26)
      ops.SET_SLOT_DIRECT, 63, -- 19: set_slot_direct(63)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 22: get_slot_direct(63)
      ops.GET_SLOT_DIRECT, 55, -- 24: get_slot_direct(55)
      ops.PUSH_LITERAL, 18,    -- 26: push_literal(18)
      ops.BI_EQ,               -- 28: bi_eq
      ops.JMP_UNLESS, 36, 36,  -- 29: jmp_unless(36,36)
      ops.PUSH_LOCAL_FRAME,    -- 32: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 33: get_slot_direct(63)
      ops.RETURN,              -- 35: return
      ops.PHI,                 -- 36: phi
      ops.PUSH_LOCAL_FRAME,    -- 37: push_local_frame
      ops.PUSH_LITERAL, 65,    -- 38: push_literal(65)
      ops.SET_SLOT_DIRECT, 64, -- 40: set_slot_direct(64)
      ops.PUSH_LOCAL_FRAME,    -- 42: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 43: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 45: set_slot_direct(53)
      ops.JMP_INTO_LOOP, 105, 120,-- 47: jmp_into_loop(105,120)
      ops.PUSH_LOCAL_FRAME,    -- 50: push_local_frame
      ops.GET_SLOT_DIRECT, 64, -- 51: get_slot_direct(64)
      ops.DUP,                 -- 53: dup
      ops.GET_SLOT_DIRECT_CHECK, 57,-- 54: get_slot_direct_check(57)
      ops.SWAP,                -- 56: swap
      ops.PUSH_LOCAL_FRAME,    -- 57: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 58: get_slot_direct(63)
      ops.DUP,                 -- 60: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 61: get_slot_direct_check(56)
      ops.SWAP,                -- 63: swap
      ops.PUSH_LOCAL_FRAME,    -- 64: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 65: get_slot_direct(53)
      ops.INVOKE, 1,           -- 67: invoke(1)
      ops.INVOKE, 1,           -- 69: invoke(1)
      ops.PUSH_LITERAL, 31,    -- 71: push_literal(31)
      ops.UN_MINUS,            -- 73: un_minus
      ops.BI_EQ,               -- 74: bi_eq
      ops.JMP_UNLESS, 95, 95,  -- 75: jmp_unless(95,95)
      ops.PUSH_LOCAL_FRAME,    -- 78: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 79: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 80: get_slot_direct(63)
      ops.DUP,                 -- 82: dup
      ops.GET_SLOT_DIRECT_CHECK, 61,-- 83: get_slot_direct_check(61)
      ops.SWAP,                -- 85: swap
      ops.PUSH_LOCAL_FRAME,    -- 86: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 87: get_slot_direct(53)
      ops.INVOKE, 1,           -- 89: invoke(1)
      ops.SET_SLOT_DIRECT, 63, -- 91: set_slot_direct(63)
      ops.JMP, 120,            -- 93: jmp(120)
      ops.PHI,                 -- 95: phi
      ops.PUSH_LOCAL_FRAME,    -- 96: push_local_frame
      ops.DUP,                 -- 97: dup
      ops.GET_SLOT_DIRECT, 53, -- 98: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 100: push_literal(31)
      ops.BI_ADD,              -- 102: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 103: set_slot_direct(53)
      ops.PHI,                 -- 105: phi
      ops.PUSH_LOCAL_FRAME,    -- 106: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 107: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 109: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 110: get_slot_direct(63)
      ops.GET_SLOT_DIRECT, 55, -- 112: get_slot_direct(55)
      ops.SWAP,                -- 114: swap
      ops.BI_GT,               -- 115: bi_gt
      ops.UN_NOT,              -- 116: un_not
      ops.JMP_UNLESS, 50, 120, -- 117: jmp_unless(50,120)
      ops.PHI,                 -- 120: phi
      ops.PUSH_LOCAL_FRAME,    -- 121: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 122: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 123: get_slot_direct(63)
      ops.GET_SLOT_DIRECT, 55, -- 125: get_slot_direct(55)
      ops.PUSH_LITERAL, 31,    -- 127: push_literal(31)
      ops.BI_SUB,              -- 129: bi_sub
      ops.SET_SLOT_DIRECT, 53, -- 130: set_slot_direct(53)
      ops.JMP_INTO_LOOP, 195, 206,-- 132: jmp_into_loop(195,206)
      ops.PUSH_LOCAL_FRAME,    -- 135: push_local_frame
      ops.GET_SLOT_DIRECT, 64, -- 136: get_slot_direct(64)
      ops.DUP,                 -- 138: dup
      ops.GET_SLOT_DIRECT_CHECK, 57,-- 139: get_slot_direct_check(57)
      ops.SWAP,                -- 141: swap
      ops.PUSH_LOCAL_FRAME,    -- 142: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 143: get_slot_direct(63)
      ops.DUP,                 -- 145: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 146: get_slot_direct_check(56)
      ops.SWAP,                -- 148: swap
      ops.PUSH_LOCAL_FRAME,    -- 149: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 150: get_slot_direct(53)
      ops.INVOKE, 1,           -- 152: invoke(1)
      ops.INVOKE, 1,           -- 154: invoke(1)
      ops.PUSH_LITERAL, 31,    -- 156: push_literal(31)
      ops.UN_MINUS,            -- 158: un_minus
      ops.BI_EQ,               -- 159: bi_eq
      ops.JMP_UNLESS, 185, 185,-- 160: jmp_unless(185,185)
      ops.PUSH_LOCAL_FRAME,    -- 163: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 164: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 165: get_slot_direct(63)
      ops.DUP,                 -- 167: dup
      ops.GET_SLOT_DIRECT_CHECK, 61,-- 168: get_slot_direct_check(61)
      ops.SWAP,                -- 170: swap
      ops.PUSH_LITERAL, 18,    -- 171: push_literal(18)
      ops.PUSH_LOCAL_FRAME,    -- 173: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 174: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 176: push_literal(31)
      ops.BI_ADD,              -- 178: bi_add
      ops.INVOKE, 2,           -- 179: invoke(2)
      ops.SET_SLOT_DIRECT, 63, -- 181: set_slot_direct(63)
      ops.JMP, 206,            -- 183: jmp(206)
      ops.PHI,                 -- 185: phi
      ops.PUSH_LOCAL_FRAME,    -- 186: push_local_frame
      ops.DUP,                 -- 187: dup
      ops.GET_SLOT_DIRECT, 53, -- 188: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 190: push_literal(31)
      ops.BI_SUB,              -- 192: bi_sub
      ops.SET_SLOT_DIRECT, 53, -- 193: set_slot_direct(53)
      ops.PHI,                 -- 195: phi
      ops.PUSH_LOCAL_FRAME,    -- 196: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 197: get_slot_direct(53)
      ops.PUSH_LITERAL, 18,    -- 199: push_literal(18)
      ops.BI_GTE,              -- 201: bi_gte
      ops.UN_NOT,              -- 202: un_not
      ops.JMP_UNLESS, 135, 206,-- 203: jmp_unless(135,206)
      ops.PHI,                 -- 206: phi
      ops.PUSH_LOCAL_FRAME,    -- 207: push_local_frame
      ops.GET_SLOT_DIRECT, 64, -- 208: get_slot_direct(64)
      ops.DUP,                 -- 210: dup
      ops.GET_SLOT_DIRECT_CHECK, 57,-- 211: get_slot_direct_check(57)
      ops.SWAP,                -- 213: swap
      ops.PUSH_LOCAL_FRAME,    -- 214: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 215: get_slot_direct(63)
      ops.DUP,                 -- 217: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 218: get_slot_direct_check(56)
      ops.SWAP,                -- 220: swap
      ops.PUSH_LITERAL, 18,    -- 221: push_literal(18)
      ops.INVOKE, 1,           -- 223: invoke(1)
      ops.INVOKE, 1,           -- 225: invoke(1)
      ops.PUSH_LITERAL, 31,    -- 227: push_literal(31)
      ops.UN_MINUS,            -- 229: un_minus
      ops.BI_EQ,               -- 230: bi_eq
      ops.JMP_UNLESS, 239, 241,-- 231: jmp_unless(239,241)
      ops.PUSH_LOCAL_FRAME,    -- 234: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 235: get_slot_direct(63)
      ops.JMP, 241,            -- 237: jmp(241)
      ops.PUSH_LITERAL, 66,    -- 239: push_literal(66)
      ops.PHI,                 -- 241: phi
      ops.RETURN               -- 242: return
    }
  },
  ifunc.Function:new{ -- ".push"
    name = jsval.newString(".push"),
    id = 11,
    nargs = 0,
    max_stack = 4,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.PUSH_LOCAL_FRAME,    -- 1: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 2: get_slot_direct(17)
      ops.SET_SLOT_DIRECT, 17, -- 4: set_slot_direct(17)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 7: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 9: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 54, -- 14: set_slot_direct(54)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 17: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 19: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.PUSH_LITERAL, 31,    -- 22: push_literal(31)
      ops.PUSH_LOCAL_FRAME,    -- 24: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 25: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 55, -- 27: get_slot_direct(55)
      ops.BI_MUL,              -- 29: bi_mul
      ops.DUP,                 -- 30: dup
      ops.UN_NOT,              -- 31: un_not
      ops.JMP_UNLESS, 38, 38,  -- 32: jmp_unless(38,38)
      ops.POP,                 -- 35: pop
      ops.PUSH_LITERAL, 18,    -- 36: push_literal(18)
      ops.PHI,                 -- 38: phi
      ops.SET_SLOT_DIRECT, 54, -- 39: set_slot_direct(54)
      ops.JMP_INTO_LOOP, 76, 91,-- 41: jmp_into_loop(76,91)
      ops.PUSH_LOCAL_FRAME,    -- 44: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 45: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 47: push_local_frame
      ops.GET_SLOT_DIRECT, 54, -- 48: get_slot_direct(54)
      ops.PUSH_FRAME,          -- 50: push_frame
      ops.GET_SLOT_DIRECT, 17, -- 51: get_slot_direct(17)
      ops.PUSH_LOCAL_FRAME,    -- 53: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 54: get_slot_direct(53)
      ops.GET_SLOT_INDIRECT,   -- 56: get_slot_indirect
      ops.SET_SLOT_INDIRECT,   -- 57: set_slot_indirect
      ops.PUSH_LOCAL_FRAME,    -- 58: push_local_frame
      ops.DUP,                 -- 59: dup
      ops.GET_SLOT_DIRECT, 53, -- 60: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 62: push_literal(31)
      ops.BI_ADD,              -- 64: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 65: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 67: push_local_frame
      ops.DUP,                 -- 68: dup
      ops.GET_SLOT_DIRECT, 54, -- 69: get_slot_direct(54)
      ops.PUSH_LITERAL, 31,    -- 71: push_literal(31)
      ops.BI_ADD,              -- 73: bi_add
      ops.SET_SLOT_DIRECT, 54, -- 74: set_slot_direct(54)
      ops.PHI,                 -- 76: phi
      ops.PUSH_LOCAL_FRAME,    -- 77: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 78: get_slot_direct(53)
      ops.PUSH_FRAME,          -- 80: push_frame
      ops.GET_SLOT_DIRECT, 17, -- 81: get_slot_direct(17)
      ops.GET_SLOT_DIRECT, 55, -- 83: get_slot_direct(55)
      ops.SWAP,                -- 85: swap
      ops.BI_GT,               -- 86: bi_gt
      ops.UN_NOT,              -- 87: un_not
      ops.JMP_UNLESS, 44, 91,  -- 88: jmp_unless(44,91)
      ops.PHI,                 -- 91: phi
      ops.PUSH_LOCAL_FRAME,    -- 92: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 93: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 95: push_local_frame
      ops.GET_SLOT_DIRECT, 54, -- 96: get_slot_direct(54)
      ops.SET_SLOT_DIRECT, 55, -- 98: set_slot_direct(55)
      ops.PUSH_LOCAL_FRAME,    -- 100: push_local_frame
      ops.GET_SLOT_DIRECT, 54, -- 101: get_slot_direct(54)
      ops.RETURN               -- 103: return
    }
  },
  ifunc.Function:new{ -- ".pop"
    name = jsval.newString(".pop"),
    id = 12,
    nargs = 0,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 70, -- 3: set_slot_direct(70)
      ops.PUSH_LOCAL_FRAME,    -- 5: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 6: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 55, -- 8: get_slot_direct(55)
      ops.PUSH_LITERAL, 18,    -- 10: push_literal(18)
      ops.BI_EQ,               -- 12: bi_eq
      ops.JMP_UNLESS, 19, 19,  -- 13: jmp_unless(19,19)
      ops.PUSH_LITERAL, 0,     -- 16: push_literal(0)
      ops.RETURN,              -- 18: return
      ops.PHI,                 -- 19: phi
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 22: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 24: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 25: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 55, -- 27: get_slot_direct(55)
      ops.PUSH_LITERAL, 31,    -- 29: push_literal(31)
      ops.BI_SUB,              -- 31: bi_sub
      ops.GET_SLOT_INDIRECT,   -- 32: get_slot_indirect
      ops.SET_SLOT_DIRECT, 70, -- 33: set_slot_direct(70)
      ops.PUSH_LOCAL_FRAME,    -- 35: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 36: get_slot_direct(26)
      ops.DUP,                 -- 38: dup
      ops.GET_SLOT_DIRECT, 55, -- 39: get_slot_direct(55)
      ops.PUSH_LITERAL, 31,    -- 41: push_literal(31)
      ops.BI_SUB,              -- 43: bi_sub
      ops.SET_SLOT_DIRECT, 55, -- 44: set_slot_direct(55)
      ops.PUSH_LOCAL_FRAME,    -- 46: push_local_frame
      ops.GET_SLOT_DIRECT, 70, -- 47: get_slot_direct(70)
      ops.RETURN               -- 49: return
    }
  },
  ifunc.Function:new{ -- ".join"
    name = jsval.newString(".join"),
    id = 13,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 72, -- 8: set_slot_direct(72)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 73, -- 14: set_slot_direct(73)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 60, -- 19: set_slot_direct(60)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 22: push_literal(0)
      ops.SET_SLOT_DIRECT, 74, -- 24: set_slot_direct(74)
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 27: push_literal(0)
      ops.SET_SLOT_DIRECT, 75, -- 29: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.PUSH_FRAME,          -- 32: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 33: get_slot_direct(14)
      ops.UN_TYPEOF,           -- 35: un_typeof
      ops.PUSH_LITERAL, 25,    -- 36: push_literal(25)
      ops.BI_EQ,               -- 38: bi_eq
      ops.JMP_UNLESS, 55, 58,  -- 39: jmp_unless(55,58)
      ops.PUSH_FRAME,          -- 42: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 43: get_slot_direct(14)
      ops.PUSH_LOCAL_FRAME,    -- 45: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 46: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 48: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 49: get_slot_direct(26)
      ops.INVOKE, 1,           -- 51: invoke(1)
      ops.JMP, 58,             -- 53: jmp(58)
      ops.PUSH_LOCAL_FRAME,    -- 55: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 56: get_slot_direct(26)
      ops.PHI,                 -- 58: phi
      ops.SET_SLOT_DIRECT, 73, -- 59: set_slot_direct(73)
      ops.PUSH_LOCAL_FRAME,    -- 61: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 62: push_local_frame
      ops.GET_SLOT_DIRECT, 73, -- 63: get_slot_direct(73)
      ops.GET_SLOT_DIRECT, 55, -- 65: get_slot_direct(55)
      ops.SET_SLOT_DIRECT, 60, -- 67: set_slot_direct(60)
      ops.PUSH_LOCAL_FRAME,    -- 69: push_local_frame
      ops.GET_SLOT_DIRECT, 72, -- 70: get_slot_direct(72)
      ops.PUSH_LITERAL, 0,     -- 72: push_literal(0)
      ops.BI_EQ,               -- 74: bi_eq
      ops.JMP_UNLESS, 85, 94,  -- 75: jmp_unless(85,94)
      ops.PUSH_LOCAL_FRAME,    -- 78: push_local_frame
      ops.PUSH_LITERAL, 76,    -- 79: push_literal(76)
      ops.SET_SLOT_DIRECT, 72, -- 81: set_slot_direct(72)
      ops.JMP, 94,             -- 83: jmp(94)
      ops.PUSH_LOCAL_FRAME,    -- 85: push_local_frame
      ops.PUSH_LITERAL, 66,    -- 86: push_literal(66)
      ops.PUSH_LOCAL_FRAME,    -- 88: push_local_frame
      ops.GET_SLOT_DIRECT, 72, -- 89: get_slot_direct(72)
      ops.BI_ADD,              -- 91: bi_add
      ops.SET_SLOT_DIRECT, 72, -- 92: set_slot_direct(72)
      ops.PHI,                 -- 94: phi
      ops.PUSH_LOCAL_FRAME,    -- 95: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 96: push_literal(18)
      ops.SET_SLOT_DIRECT, 74, -- 98: set_slot_direct(74)
      ops.PUSH_LOCAL_FRAME,    -- 100: push_local_frame
      ops.PUSH_LITERAL, 66,    -- 101: push_literal(66)
      ops.SET_SLOT_DIRECT, 75, -- 103: set_slot_direct(75)
      ops.JMP_INTO_LOOP, 186, 199,-- 105: jmp_into_loop(186,199)
      ops.PUSH_LOCAL_FRAME,    -- 108: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 109: push_literal(0)
      ops.SET_SLOT_DIRECT, 77, -- 111: set_slot_direct(77)
      ops.PUSH_LOCAL_FRAME,    -- 113: push_local_frame
      ops.GET_SLOT_DIRECT, 74, -- 114: get_slot_direct(74)
      ops.PUSH_LITERAL, 18,    -- 116: push_literal(18)
      ops.BI_GT,               -- 118: bi_gt
      ops.JMP_UNLESS, 132, 132,-- 119: jmp_unless(132,132)
      ops.PUSH_LOCAL_FRAME,    -- 122: push_local_frame
      ops.DUP,                 -- 123: dup
      ops.GET_SLOT_DIRECT, 75, -- 124: get_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 126: push_local_frame
      ops.GET_SLOT_DIRECT, 72, -- 127: get_slot_direct(72)
      ops.BI_ADD,              -- 129: bi_add
      ops.SET_SLOT_DIRECT, 75, -- 130: set_slot_direct(75)
      ops.PHI,                 -- 132: phi
      ops.PUSH_LOCAL_FRAME,    -- 133: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 134: push_local_frame
      ops.GET_SLOT_DIRECT, 73, -- 135: get_slot_direct(73)
      ops.PUSH_LOCAL_FRAME,    -- 137: push_local_frame
      ops.GET_SLOT_DIRECT, 74, -- 138: get_slot_direct(74)
      ops.GET_SLOT_INDIRECT,   -- 140: get_slot_indirect
      ops.SET_SLOT_DIRECT, 77, -- 141: set_slot_direct(77)
      ops.PUSH_LOCAL_FRAME,    -- 143: push_local_frame
      ops.GET_SLOT_DIRECT, 77, -- 144: get_slot_direct(77)
      ops.PUSH_LITERAL, 0,     -- 146: push_literal(0)
      ops.BI_EQ,               -- 148: bi_eq
      ops.UN_NOT,              -- 149: un_not
      ops.DUP,                 -- 150: dup
      ops.JMP_UNLESS, 162, 162,-- 151: jmp_unless(162,162)
      ops.POP,                 -- 154: pop
      ops.PUSH_LOCAL_FRAME,    -- 155: push_local_frame
      ops.GET_SLOT_DIRECT, 77, -- 156: get_slot_direct(77)
      ops.PUSH_LITERAL, 41,    -- 158: push_literal(41)
      ops.BI_EQ,               -- 160: bi_eq
      ops.UN_NOT,              -- 161: un_not
      ops.PHI,                 -- 162: phi
      ops.JMP_UNLESS, 176, 176,-- 163: jmp_unless(176,176)
      ops.PUSH_LOCAL_FRAME,    -- 166: push_local_frame
      ops.DUP,                 -- 167: dup
      ops.GET_SLOT_DIRECT, 75, -- 168: get_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 170: push_local_frame
      ops.GET_SLOT_DIRECT, 77, -- 171: get_slot_direct(77)
      ops.BI_ADD,              -- 173: bi_add
      ops.SET_SLOT_DIRECT, 75, -- 174: set_slot_direct(75)
      ops.PHI,                 -- 176: phi
      ops.PUSH_LOCAL_FRAME,    -- 177: push_local_frame
      ops.DUP,                 -- 178: dup
      ops.GET_SLOT_DIRECT, 74, -- 179: get_slot_direct(74)
      ops.PUSH_LITERAL, 31,    -- 181: push_literal(31)
      ops.BI_ADD,              -- 183: bi_add
      ops.SET_SLOT_DIRECT, 74, -- 184: set_slot_direct(74)
      ops.PHI,                 -- 186: phi
      ops.PUSH_LOCAL_FRAME,    -- 187: push_local_frame
      ops.GET_SLOT_DIRECT, 74, -- 188: get_slot_direct(74)
      ops.PUSH_LOCAL_FRAME,    -- 190: push_local_frame
      ops.GET_SLOT_DIRECT, 60, -- 191: get_slot_direct(60)
      ops.SWAP,                -- 193: swap
      ops.BI_GT,               -- 194: bi_gt
      ops.UN_NOT,              -- 195: un_not
      ops.JMP_UNLESS, 108, 199,-- 196: jmp_unless(108,199)
      ops.PHI,                 -- 199: phi
      ops.PUSH_LOCAL_FRAME,    -- 200: push_local_frame
      ops.GET_SLOT_DIRECT, 75, -- 201: get_slot_direct(75)
      ops.RETURN               -- 203: return
    }
  },
  ifunc.Function:new{ -- ".slice"
    name = jsval.newString(".slice"),
    id = 14,
    nargs = 2,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 79, -- 8: set_slot_direct(79)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 80, -- 15: set_slot_direct(80)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 19: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 21: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 24: push_literal(0)
      ops.SET_SLOT_DIRECT, 81, -- 26: set_slot_direct(81)
      ops.PUSH_LOCAL_FRAME,    -- 28: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 29: push_literal(0)
      ops.SET_SLOT_DIRECT, 82, -- 31: set_slot_direct(82)
      ops.PUSH_LOCAL_FRAME,    -- 33: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 34: push_literal(0)
      ops.SET_SLOT_DIRECT, 83, -- 36: set_slot_direct(83)
      ops.PUSH_LOCAL_FRAME,    -- 38: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 39: push_literal(0)
      ops.SET_SLOT_DIRECT, 84, -- 41: set_slot_direct(84)
      ops.PUSH_LOCAL_FRAME,    -- 43: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 44: push_literal(0)
      ops.SET_SLOT_DIRECT, 60, -- 46: set_slot_direct(60)
      ops.PUSH_LOCAL_FRAME,    -- 48: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 49: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 51: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 53: push_local_frame
      ops.NEW_ARRAY,           -- 54: new_array
      ops.SET_SLOT_DIRECT, 83, -- 55: set_slot_direct(83)
      ops.PUSH_LOCAL_FRAME,    -- 57: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 58: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 59: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 55, -- 61: get_slot_direct(55)
      ops.SET_SLOT_DIRECT, 60, -- 63: set_slot_direct(60)
      ops.PUSH_LOCAL_FRAME,    -- 65: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 66: push_local_frame
      ops.GET_SLOT_DIRECT, 79, -- 67: get_slot_direct(79)
      ops.DUP,                 -- 69: dup
      ops.UN_NOT,              -- 70: un_not
      ops.JMP_UNLESS, 77, 77,  -- 71: jmp_unless(77,77)
      ops.POP,                 -- 74: pop
      ops.PUSH_LITERAL, 18,    -- 75: push_literal(18)
      ops.PHI,                 -- 77: phi
      ops.SET_SLOT_DIRECT, 84, -- 78: set_slot_direct(84)
      ops.PUSH_LOCAL_FRAME,    -- 80: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 81: push_local_frame
      ops.GET_SLOT_DIRECT, 84, -- 82: get_slot_direct(84)
      ops.PUSH_LITERAL, 18,    -- 84: push_literal(18)
      ops.BI_GTE,              -- 86: bi_gte
      ops.JMP_UNLESS, 95, 102, -- 87: jmp_unless(95,102)
      ops.PUSH_LOCAL_FRAME,    -- 90: push_local_frame
      ops.GET_SLOT_DIRECT, 84, -- 91: get_slot_direct(84)
      ops.JMP, 102,            -- 93: jmp(102)
      ops.PUSH_LOCAL_FRAME,    -- 95: push_local_frame
      ops.GET_SLOT_DIRECT, 60, -- 96: get_slot_direct(60)
      ops.PUSH_LOCAL_FRAME,    -- 98: push_local_frame
      ops.GET_SLOT_DIRECT, 84, -- 99: get_slot_direct(84)
      ops.BI_ADD,              -- 101: bi_add
      ops.PHI,                 -- 102: phi
      ops.SET_SLOT_DIRECT, 84, -- 103: set_slot_direct(84)
      ops.PUSH_LOCAL_FRAME,    -- 105: push_local_frame
      ops.GET_SLOT_DIRECT, 84, -- 106: get_slot_direct(84)
      ops.PUSH_LITERAL, 18,    -- 108: push_literal(18)
      ops.SWAP,                -- 110: swap
      ops.BI_GT,               -- 111: bi_gt
      ops.JMP_UNLESS, 120, 120,-- 112: jmp_unless(120,120)
      ops.PUSH_LOCAL_FRAME,    -- 115: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 116: push_literal(18)
      ops.SET_SLOT_DIRECT, 84, -- 118: set_slot_direct(84)
      ops.PHI,                 -- 120: phi
      ops.PUSH_LOCAL_FRAME,    -- 121: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 122: push_local_frame
      ops.GET_SLOT_DIRECT, 80, -- 123: get_slot_direct(80)
      ops.UN_TYPEOF,           -- 125: un_typeof
      ops.PUSH_LITERAL, 85,    -- 126: push_literal(85)
      ops.BI_EQ,               -- 128: bi_eq
      ops.UN_NOT,              -- 129: un_not
      ops.JMP_UNLESS, 138, 141,-- 130: jmp_unless(138,141)
      ops.PUSH_LOCAL_FRAME,    -- 133: push_local_frame
      ops.GET_SLOT_DIRECT, 80, -- 134: get_slot_direct(80)
      ops.JMP, 141,            -- 136: jmp(141)
      ops.PUSH_LOCAL_FRAME,    -- 138: push_local_frame
      ops.GET_SLOT_DIRECT, 60, -- 139: get_slot_direct(60)
      ops.PHI,                 -- 141: phi
      ops.SET_SLOT_DIRECT, 80, -- 142: set_slot_direct(80)
      ops.PUSH_LOCAL_FRAME,    -- 144: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 145: push_local_frame
      ops.GET_SLOT_DIRECT, 80, -- 146: get_slot_direct(80)
      ops.UN_TYPEOF,           -- 148: un_typeof
      ops.PUSH_LITERAL, 86,    -- 149: push_literal(86)
      ops.BI_EQ,               -- 151: bi_eq
      ops.JMP_UNLESS, 160, 163,-- 152: jmp_unless(160,163)
      ops.PUSH_LOCAL_FRAME,    -- 155: push_local_frame
      ops.GET_SLOT_DIRECT, 80, -- 156: get_slot_direct(80)
      ops.JMP, 163,            -- 158: jmp(163)
      ops.PUSH_LOCAL_FRAME,    -- 160: push_local_frame
      ops.GET_SLOT_DIRECT, 60, -- 161: get_slot_direct(60)
      ops.PHI,                 -- 163: phi
      ops.SET_SLOT_DIRECT, 81, -- 164: set_slot_direct(81)
      ops.PUSH_LOCAL_FRAME,    -- 166: push_local_frame
      ops.GET_SLOT_DIRECT, 81, -- 167: get_slot_direct(81)
      ops.PUSH_LOCAL_FRAME,    -- 169: push_local_frame
      ops.GET_SLOT_DIRECT, 60, -- 170: get_slot_direct(60)
      ops.BI_GT,               -- 172: bi_gt
      ops.JMP_UNLESS, 182, 182,-- 173: jmp_unless(182,182)
      ops.PUSH_LOCAL_FRAME,    -- 176: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 177: push_local_frame
      ops.GET_SLOT_DIRECT, 60, -- 178: get_slot_direct(60)
      ops.SET_SLOT_DIRECT, 81, -- 180: set_slot_direct(81)
      ops.PHI,                 -- 182: phi
      ops.PUSH_LOCAL_FRAME,    -- 183: push_local_frame
      ops.GET_SLOT_DIRECT, 81, -- 184: get_slot_direct(81)
      ops.PUSH_LITERAL, 18,    -- 186: push_literal(18)
      ops.SWAP,                -- 188: swap
      ops.BI_GT,               -- 189: bi_gt
      ops.JMP_UNLESS, 203, 203,-- 190: jmp_unless(203,203)
      ops.PUSH_LOCAL_FRAME,    -- 193: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 194: push_local_frame
      ops.GET_SLOT_DIRECT, 60, -- 195: get_slot_direct(60)
      ops.PUSH_LOCAL_FRAME,    -- 197: push_local_frame
      ops.GET_SLOT_DIRECT, 81, -- 198: get_slot_direct(81)
      ops.BI_ADD,              -- 200: bi_add
      ops.SET_SLOT_DIRECT, 81, -- 201: set_slot_direct(81)
      ops.PHI,                 -- 203: phi
      ops.PUSH_LOCAL_FRAME,    -- 204: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 205: push_local_frame
      ops.GET_SLOT_DIRECT, 81, -- 206: get_slot_direct(81)
      ops.PUSH_LOCAL_FRAME,    -- 208: push_local_frame
      ops.GET_SLOT_DIRECT, 84, -- 209: get_slot_direct(84)
      ops.BI_SUB,              -- 211: bi_sub
      ops.SET_SLOT_DIRECT, 82, -- 212: set_slot_direct(82)
      ops.PUSH_LOCAL_FRAME,    -- 214: push_local_frame
      ops.GET_SLOT_DIRECT, 82, -- 215: get_slot_direct(82)
      ops.PUSH_LITERAL, 18,    -- 217: push_literal(18)
      ops.BI_GT,               -- 219: bi_gt
      ops.JMP_UNLESS, 327, 327,-- 220: jmp_unless(327,327)
      ops.PUSH_LOCAL_FRAME,    -- 223: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 224: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 56, -- 226: get_slot_direct(56)
      ops.JMP_UNLESS, 282, 326,-- 228: jmp_unless(282,326)
      ops.JMP_INTO_LOOP, 266, 279,-- 231: jmp_into_loop(266,279)
      ops.PUSH_LOCAL_FRAME,    -- 234: push_local_frame
      ops.GET_SLOT_DIRECT, 83, -- 235: get_slot_direct(83)
      ops.PUSH_LOCAL_FRAME,    -- 237: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 238: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 240: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 241: get_slot_direct(26)
      ops.DUP,                 -- 243: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 244: get_slot_direct_check(56)
      ops.SWAP,                -- 246: swap
      ops.PUSH_LOCAL_FRAME,    -- 247: push_local_frame
      ops.GET_SLOT_DIRECT, 84, -- 248: get_slot_direct(84)
      ops.PUSH_LOCAL_FRAME,    -- 250: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 251: get_slot_direct(53)
      ops.BI_ADD,              -- 253: bi_add
      ops.INVOKE, 1,           -- 254: invoke(1)
      ops.SET_SLOT_INDIRECT,   -- 256: set_slot_indirect
      ops.PUSH_LOCAL_FRAME,    -- 257: push_local_frame
      ops.DUP,                 -- 258: dup
      ops.GET_SLOT_DIRECT, 53, -- 259: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 261: push_literal(31)
      ops.BI_ADD,              -- 263: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 264: set_slot_direct(53)
      ops.PHI,                 -- 266: phi
      ops.PUSH_LOCAL_FRAME,    -- 267: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 268: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 270: push_local_frame
      ops.GET_SLOT_DIRECT, 82, -- 271: get_slot_direct(82)
      ops.SWAP,                -- 273: swap
      ops.BI_GT,               -- 274: bi_gt
      ops.UN_NOT,              -- 275: un_not
      ops.JMP_UNLESS, 234, 279,-- 276: jmp_unless(234,279)
      ops.PHI,                 -- 279: phi
      ops.JMP, 326,            -- 280: jmp(326)
      ops.JMP_INTO_LOOP, 312, 325,-- 282: jmp_into_loop(312,325)
      ops.PUSH_LOCAL_FRAME,    -- 285: push_local_frame
      ops.GET_SLOT_DIRECT, 83, -- 286: get_slot_direct(83)
      ops.PUSH_LOCAL_FRAME,    -- 288: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 289: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 291: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 292: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 294: push_local_frame
      ops.GET_SLOT_DIRECT, 84, -- 295: get_slot_direct(84)
      ops.PUSH_LOCAL_FRAME,    -- 297: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 298: get_slot_direct(53)
      ops.BI_ADD,              -- 300: bi_add
      ops.GET_SLOT_INDIRECT,   -- 301: get_slot_indirect
      ops.SET_SLOT_INDIRECT,   -- 302: set_slot_indirect
      ops.PUSH_LOCAL_FRAME,    -- 303: push_local_frame
      ops.DUP,                 -- 304: dup
      ops.GET_SLOT_DIRECT, 53, -- 305: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 307: push_literal(31)
      ops.BI_ADD,              -- 309: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 310: set_slot_direct(53)
      ops.PHI,                 -- 312: phi
      ops.PUSH_LOCAL_FRAME,    -- 313: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 314: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 316: push_local_frame
      ops.GET_SLOT_DIRECT, 82, -- 317: get_slot_direct(82)
      ops.SWAP,                -- 319: swap
      ops.BI_GT,               -- 320: bi_gt
      ops.UN_NOT,              -- 321: un_not
      ops.JMP_UNLESS, 285, 325,-- 322: jmp_unless(285,325)
      ops.PHI,                 -- 325: phi
      ops.PHI,                 -- 326: phi
      ops.PHI,                 -- 327: phi
      ops.PUSH_LOCAL_FRAME,    -- 328: push_local_frame
      ops.GET_SLOT_DIRECT, 83, -- 329: get_slot_direct(83)
      ops.RETURN               -- 331: return
    }
  },
  ifunc.Function:new{ -- ".concat"
    name = jsval.newString(".concat"),
    id = 15,
    nargs = 0,
    max_stack = 4,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.PUSH_LOCAL_FRAME,    -- 1: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 2: get_slot_direct(17)
      ops.SET_SLOT_DIRECT, 17, -- 4: set_slot_direct(17)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 7: push_literal(0)
      ops.SET_SLOT_DIRECT, 75, -- 9: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 14: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 54, -- 19: set_slot_direct(54)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.NEW_ARRAY,           -- 22: new_array
      ops.SET_SLOT_DIRECT, 75, -- 23: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 26: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 28: set_slot_direct(53)
      ops.JMP_INTO_LOOP, 56, 71,-- 30: jmp_into_loop(56,71)
      ops.PUSH_LOCAL_FRAME,    -- 33: push_local_frame
      ops.GET_SLOT_DIRECT, 75, -- 34: get_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 36: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 37: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 39: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 40: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 42: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 43: get_slot_direct(53)
      ops.GET_SLOT_INDIRECT,   -- 45: get_slot_indirect
      ops.SET_SLOT_INDIRECT,   -- 46: set_slot_indirect
      ops.PUSH_LOCAL_FRAME,    -- 47: push_local_frame
      ops.DUP,                 -- 48: dup
      ops.GET_SLOT_DIRECT, 53, -- 49: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 51: push_literal(31)
      ops.BI_ADD,              -- 53: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 54: set_slot_direct(53)
      ops.PHI,                 -- 56: phi
      ops.PUSH_LOCAL_FRAME,    -- 57: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 58: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 60: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 61: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 55, -- 63: get_slot_direct(55)
      ops.SWAP,                -- 65: swap
      ops.BI_GT,               -- 66: bi_gt
      ops.UN_NOT,              -- 67: un_not
      ops.JMP_UNLESS, 33, 71,  -- 68: jmp_unless(33,71)
      ops.PHI,                 -- 71: phi
      ops.PUSH_LOCAL_FRAME,    -- 72: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 73: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 75: set_slot_direct(53)
      ops.JMP_INTO_LOOP, 208, 223,-- 77: jmp_into_loop(208,223)
      ops.PUSH_LOCAL_FRAME,    -- 80: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 81: push_literal(0)
      ops.SET_SLOT_DIRECT, 87, -- 83: set_slot_direct(87)
      ops.PUSH_LOCAL_FRAME,    -- 85: push_local_frame
      ops.PUSH_FRAME,          -- 86: push_frame
      ops.GET_SLOT_DIRECT, 17, -- 87: get_slot_direct(17)
      ops.PUSH_LOCAL_FRAME,    -- 89: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 90: get_slot_direct(53)
      ops.GET_SLOT_INDIRECT,   -- 92: get_slot_indirect
      ops.SET_SLOT_DIRECT, 87, -- 93: set_slot_direct(87)
      ops.PUSH_LOCAL_FRAME,    -- 95: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 96: get_slot_direct(87)
      ops.UN_TYPEOF,           -- 98: un_typeof
      ops.PUSH_LITERAL, 88,    -- 99: push_literal(88)
      ops.BI_EQ,               -- 101: bi_eq
      ops.DUP,                 -- 102: dup
      ops.JMP_UNLESS, 131, 131,-- 103: jmp_unless(131,131)
      ops.POP,                 -- 106: pop
      ops.PUSH_LOCAL_FRAME,    -- 107: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 108: get_slot_direct(87)
      ops.PUSH_LITERAL, 41,    -- 110: push_literal(41)
      ops.BI_EQ,               -- 112: bi_eq
      ops.UN_NOT,              -- 113: un_not
      ops.DUP,                 -- 114: dup
      ops.JMP_UNLESS, 130, 130,-- 115: jmp_unless(130,130)
      ops.POP,                 -- 118: pop
      ops.PUSH_LOCAL_FRAME,    -- 119: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 120: get_slot_direct(87)
      ops.DUP,                 -- 122: dup
      ops.GET_SLOT_DIRECT_CHECK, 89,-- 123: get_slot_direct_check(89)
      ops.SWAP,                -- 125: swap
      ops.PUSH_LITERAL, 55,    -- 126: push_literal(55)
      ops.INVOKE, 1,           -- 128: invoke(1)
      ops.PHI,                 -- 130: phi
      ops.PHI,                 -- 131: phi
      ops.JMP_UNLESS, 186, 198,-- 132: jmp_unless(186,198)
      ops.PUSH_LOCAL_FRAME,    -- 135: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 136: push_literal(18)
      ops.SET_SLOT_DIRECT, 54, -- 138: set_slot_direct(54)
      ops.JMP_INTO_LOOP, 168, 183,-- 140: jmp_into_loop(168,183)
      ops.PUSH_LOCAL_FRAME,    -- 143: push_local_frame
      ops.GET_SLOT_DIRECT, 75, -- 144: get_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 146: push_local_frame
      ops.GET_SLOT_DIRECT, 75, -- 147: get_slot_direct(75)
      ops.GET_SLOT_DIRECT, 55, -- 149: get_slot_direct(55)
      ops.PUSH_LOCAL_FRAME,    -- 151: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 152: get_slot_direct(87)
      ops.PUSH_LOCAL_FRAME,    -- 154: push_local_frame
      ops.GET_SLOT_DIRECT, 54, -- 155: get_slot_direct(54)
      ops.GET_SLOT_INDIRECT,   -- 157: get_slot_indirect
      ops.SET_SLOT_INDIRECT,   -- 158: set_slot_indirect
      ops.PUSH_LOCAL_FRAME,    -- 159: push_local_frame
      ops.DUP,                 -- 160: dup
      ops.GET_SLOT_DIRECT, 54, -- 161: get_slot_direct(54)
      ops.PUSH_LITERAL, 31,    -- 163: push_literal(31)
      ops.BI_ADD,              -- 165: bi_add
      ops.SET_SLOT_DIRECT, 54, -- 166: set_slot_direct(54)
      ops.PHI,                 -- 168: phi
      ops.PUSH_LOCAL_FRAME,    -- 169: push_local_frame
      ops.GET_SLOT_DIRECT, 54, -- 170: get_slot_direct(54)
      ops.PUSH_LOCAL_FRAME,    -- 172: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 173: get_slot_direct(87)
      ops.GET_SLOT_DIRECT, 55, -- 175: get_slot_direct(55)
      ops.SWAP,                -- 177: swap
      ops.BI_GT,               -- 178: bi_gt
      ops.UN_NOT,              -- 179: un_not
      ops.JMP_UNLESS, 143, 183,-- 180: jmp_unless(143,183)
      ops.PHI,                 -- 183: phi
      ops.JMP, 198,            -- 184: jmp(198)
      ops.PUSH_LOCAL_FRAME,    -- 186: push_local_frame
      ops.GET_SLOT_DIRECT, 75, -- 187: get_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 189: push_local_frame
      ops.GET_SLOT_DIRECT, 75, -- 190: get_slot_direct(75)
      ops.GET_SLOT_DIRECT, 55, -- 192: get_slot_direct(55)
      ops.PUSH_LOCAL_FRAME,    -- 194: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 195: get_slot_direct(87)
      ops.SET_SLOT_INDIRECT,   -- 197: set_slot_indirect
      ops.PHI,                 -- 198: phi
      ops.PUSH_LOCAL_FRAME,    -- 199: push_local_frame
      ops.DUP,                 -- 200: dup
      ops.GET_SLOT_DIRECT, 53, -- 201: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 203: push_literal(31)
      ops.BI_ADD,              -- 205: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 206: set_slot_direct(53)
      ops.PHI,                 -- 208: phi
      ops.PUSH_LOCAL_FRAME,    -- 209: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 210: get_slot_direct(53)
      ops.PUSH_FRAME,          -- 212: push_frame
      ops.GET_SLOT_DIRECT, 17, -- 213: get_slot_direct(17)
      ops.GET_SLOT_DIRECT, 55, -- 215: get_slot_direct(55)
      ops.SWAP,                -- 217: swap
      ops.BI_GT,               -- 218: bi_gt
      ops.UN_NOT,              -- 219: un_not
      ops.JMP_UNLESS, 80, 223, -- 220: jmp_unless(80,223)
      ops.PHI,                 -- 223: phi
      ops.PUSH_LOCAL_FRAME,    -- 224: push_local_frame
      ops.GET_SLOT_DIRECT, 75, -- 225: get_slot_direct(75)
      ops.RETURN               -- 227: return
    }
  },
  ifunc.Function:new{ -- ".forEach"
    name = jsval.newString(".forEach"),
    id = 16,
    nargs = 2,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 91, -- 8: set_slot_direct(91)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 92, -- 15: set_slot_direct(92)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 19: push_literal(0)
      ops.SET_SLOT_DIRECT, 60, -- 21: set_slot_direct(60)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 24: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 26: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 28: push_local_frame
      ops.PUSH_LITERAL, 31,    -- 29: push_literal(31)
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 32: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 55, -- 34: get_slot_direct(55)
      ops.BI_MUL,              -- 36: bi_mul
      ops.DUP,                 -- 37: dup
      ops.UN_NOT,              -- 38: un_not
      ops.JMP_UNLESS, 45, 45,  -- 39: jmp_unless(45,45)
      ops.POP,                 -- 42: pop
      ops.PUSH_LITERAL, 18,    -- 43: push_literal(18)
      ops.PHI,                 -- 45: phi
      ops.SET_SLOT_DIRECT, 60, -- 46: set_slot_direct(60)
      ops.PUSH_LOCAL_FRAME,    -- 48: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 49: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 51: set_slot_direct(53)
      ops.JMP_INTO_LOOP, 107, 120,-- 53: jmp_into_loop(107,120)
      ops.PUSH_LOCAL_FRAME,    -- 56: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 57: get_slot_direct(26)
      ops.DUP,                 -- 59: dup
      ops.GET_SLOT_DIRECT_CHECK, 89,-- 60: get_slot_direct_check(89)
      ops.SWAP,                -- 62: swap
      ops.PUSH_LOCAL_FRAME,    -- 63: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 64: get_slot_direct(53)
      ops.INVOKE, 1,           -- 66: invoke(1)
      ops.JMP_UNLESS, 97, 97,  -- 68: jmp_unless(97,97)
      ops.PUSH_LOCAL_FRAME,    -- 71: push_local_frame
      ops.GET_SLOT_DIRECT, 91, -- 72: get_slot_direct(91)
      ops.DUP,                 -- 74: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 75: get_slot_direct_check(93)
      ops.SWAP,                -- 77: swap
      ops.PUSH_LOCAL_FRAME,    -- 78: push_local_frame
      ops.GET_SLOT_DIRECT, 92, -- 79: get_slot_direct(92)
      ops.PUSH_LOCAL_FRAME,    -- 81: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 82: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 84: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 85: get_slot_direct(53)
      ops.GET_SLOT_INDIRECT,   -- 87: get_slot_indirect
      ops.PUSH_LOCAL_FRAME,    -- 88: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 89: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 91: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 92: get_slot_direct(26)
      ops.INVOKE, 4,           -- 94: invoke(4)
      ops.POP,                 -- 96: pop
      ops.PHI,                 -- 97: phi
      ops.PUSH_LOCAL_FRAME,    -- 98: push_local_frame
      ops.DUP,                 -- 99: dup
      ops.GET_SLOT_DIRECT, 53, -- 100: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 102: push_literal(31)
      ops.BI_ADD,              -- 104: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 105: set_slot_direct(53)
      ops.PHI,                 -- 107: phi
      ops.PUSH_LOCAL_FRAME,    -- 108: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 109: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 111: push_local_frame
      ops.GET_SLOT_DIRECT, 60, -- 112: get_slot_direct(60)
      ops.SWAP,                -- 114: swap
      ops.BI_GT,               -- 115: bi_gt
      ops.UN_NOT,              -- 116: un_not
      ops.JMP_UNLESS, 56, 120, -- 117: jmp_unless(56,120)
      ops.PHI,                 -- 120: phi
      ops.PUSH_LITERAL, 0,     -- 121: push_literal(0)
      ops.RETURN               -- 123: return
    }
  },
  ifunc.Function:new{ -- ".map"
    name = jsval.newString(".map"),
    id = 17,
    nargs = 1,
    max_stack = 8,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.PUSH_LOCAL_FRAME,    -- 1: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 2: get_slot_direct(17)
      ops.SET_SLOT_DIRECT, 17, -- 4: set_slot_direct(17)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 7: get_slot_direct(17)
      ops.DUP,                 -- 9: dup
      ops.GET_SLOT_DIRECT, 18, -- 10: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 12: push_local_frame
      ops.SWAP,                -- 13: swap
      ops.SET_SLOT_DIRECT, 95, -- 14: set_slot_direct(95)
      ops.POP,                 -- 16: pop
      ops.PUSH_LOCAL_FRAME,    -- 17: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 18: push_literal(0)
      ops.SET_SLOT_DIRECT, 60, -- 20: set_slot_direct(60)
      ops.PUSH_LOCAL_FRAME,    -- 22: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 23: push_literal(0)
      ops.SET_SLOT_DIRECT, 96, -- 25: set_slot_direct(96)
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 28: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 30: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 32: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 33: push_literal(0)
      ops.SET_SLOT_DIRECT, 97, -- 35: set_slot_direct(97)
      ops.PUSH_LOCAL_FRAME,    -- 37: push_local_frame
      ops.PUSH_LITERAL, 31,    -- 38: push_literal(31)
      ops.PUSH_LOCAL_FRAME,    -- 40: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 41: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 55, -- 43: get_slot_direct(55)
      ops.BI_MUL,              -- 45: bi_mul
      ops.DUP,                 -- 46: dup
      ops.UN_NOT,              -- 47: un_not
      ops.JMP_UNLESS, 54, 54,  -- 48: jmp_unless(54,54)
      ops.POP,                 -- 51: pop
      ops.PUSH_LITERAL, 18,    -- 52: push_literal(18)
      ops.PHI,                 -- 54: phi
      ops.SET_SLOT_DIRECT, 60, -- 55: set_slot_direct(60)
      ops.PUSH_LOCAL_FRAME,    -- 57: push_local_frame
      ops.NEW_ARRAY,           -- 58: new_array
      ops.SET_SLOT_DIRECT, 96, -- 59: set_slot_direct(96)
      ops.PUSH_LOCAL_FRAME,    -- 61: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 62: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 64: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 66: push_local_frame
      ops.PUSH_FRAME,          -- 67: push_frame
      ops.GET_SLOT_DIRECT, 17, -- 68: get_slot_direct(17)
      ops.PUSH_LITERAL, 31,    -- 70: push_literal(31)
      ops.GET_SLOT_INDIRECT,   -- 72: get_slot_indirect
      ops.SET_SLOT_DIRECT, 97, -- 73: set_slot_direct(97)
      ops.JMP_INTO_LOOP, 135, 148,-- 75: jmp_into_loop(135,148)
      ops.PUSH_LOCAL_FRAME,    -- 78: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 79: get_slot_direct(26)
      ops.DUP,                 -- 81: dup
      ops.GET_SLOT_DIRECT_CHECK, 89,-- 82: get_slot_direct_check(89)
      ops.SWAP,                -- 84: swap
      ops.PUSH_LOCAL_FRAME,    -- 85: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 86: get_slot_direct(53)
      ops.INVOKE, 1,           -- 88: invoke(1)
      ops.JMP_UNLESS, 125, 125,-- 90: jmp_unless(125,125)
      ops.PUSH_LOCAL_FRAME,    -- 93: push_local_frame
      ops.GET_SLOT_DIRECT, 96, -- 94: get_slot_direct(96)
      ops.PUSH_LOCAL_FRAME,    -- 96: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 97: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 99: push_local_frame
      ops.GET_SLOT_DIRECT, 95, -- 100: get_slot_direct(95)
      ops.DUP,                 -- 102: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 103: get_slot_direct_check(93)
      ops.SWAP,                -- 105: swap
      ops.PUSH_LOCAL_FRAME,    -- 106: push_local_frame
      ops.GET_SLOT_DIRECT, 97, -- 107: get_slot_direct(97)
      ops.PUSH_LOCAL_FRAME,    -- 109: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 110: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 112: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 113: get_slot_direct(53)
      ops.GET_SLOT_INDIRECT,   -- 115: get_slot_indirect
      ops.PUSH_LOCAL_FRAME,    -- 116: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 117: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 119: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 120: get_slot_direct(26)
      ops.INVOKE, 4,           -- 122: invoke(4)
      ops.SET_SLOT_INDIRECT,   -- 124: set_slot_indirect
      ops.PHI,                 -- 125: phi
      ops.PUSH_LOCAL_FRAME,    -- 126: push_local_frame
      ops.DUP,                 -- 127: dup
      ops.GET_SLOT_DIRECT, 53, -- 128: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 130: push_literal(31)
      ops.BI_ADD,              -- 132: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 133: set_slot_direct(53)
      ops.PHI,                 -- 135: phi
      ops.PUSH_LOCAL_FRAME,    -- 136: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 137: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 139: push_local_frame
      ops.GET_SLOT_DIRECT, 60, -- 140: get_slot_direct(60)
      ops.SWAP,                -- 142: swap
      ops.BI_GT,               -- 143: bi_gt
      ops.UN_NOT,              -- 144: un_not
      ops.JMP_UNLESS, 78, 148, -- 145: jmp_unless(78,148)
      ops.PHI,                 -- 148: phi
      ops.PUSH_LOCAL_FRAME,    -- 149: push_local_frame
      ops.GET_SLOT_DIRECT, 96, -- 150: get_slot_direct(96)
      ops.PUSH_LOCAL_FRAME,    -- 152: push_local_frame
      ops.GET_SLOT_DIRECT, 60, -- 153: get_slot_direct(60)
      ops.SET_SLOT_DIRECT, 55, -- 155: set_slot_direct(55)
      ops.PUSH_LOCAL_FRAME,    -- 157: push_local_frame
      ops.GET_SLOT_DIRECT, 96, -- 158: get_slot_direct(96)
      ops.RETURN               -- 160: return
    }
  },
  ifunc.Function:new{ -- ".toString"
    name = jsval.newString(".toString"),
    id = 18,
    nargs = 0,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 99, -- 3: set_slot_direct(99)
      ops.PUSH_LOCAL_FRAME,    -- 5: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 6: push_literal(0)
      ops.SET_SLOT_DIRECT, 100,-- 8: set_slot_direct(100)
      ops.PUSH_LOCAL_FRAME,    -- 10: push_local_frame
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 12: get_slot_direct(14)
      ops.UN_TYPEOF,           -- 14: un_typeof
      ops.PUSH_LITERAL, 25,    -- 15: push_literal(25)
      ops.BI_EQ,               -- 17: bi_eq
      ops.JMP_UNLESS, 34, 37,  -- 18: jmp_unless(34,37)
      ops.PUSH_FRAME,          -- 21: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 22: get_slot_direct(14)
      ops.PUSH_LOCAL_FRAME,    -- 24: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 25: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 28: get_slot_direct(26)
      ops.INVOKE, 1,           -- 30: invoke(1)
      ops.JMP, 37,             -- 32: jmp(37)
      ops.PUSH_LOCAL_FRAME,    -- 34: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 35: get_slot_direct(26)
      ops.PHI,                 -- 37: phi
      ops.SET_SLOT_DIRECT, 99, -- 38: set_slot_direct(99)
      ops.PUSH_LOCAL_FRAME,    -- 40: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 41: push_local_frame
      ops.GET_SLOT_DIRECT, 99, -- 42: get_slot_direct(99)
      ops.GET_SLOT_DIRECT, 78, -- 44: get_slot_direct(78)
      ops.SET_SLOT_DIRECT, 100,-- 46: set_slot_direct(100)
      ops.PUSH_LOCAL_FRAME,    -- 48: push_local_frame
      ops.GET_SLOT_DIRECT, 100,-- 49: get_slot_direct(100)
      ops.UN_TYPEOF,           -- 51: un_typeof
      ops.PUSH_LITERAL, 25,    -- 52: push_literal(25)
      ops.BI_EQ,               -- 54: bi_eq
      ops.UN_NOT,              -- 55: un_not
      ops.JMP_UNLESS, 65, 65,  -- 56: jmp_unless(65,65)
      ops.PUSH_LOCAL_FRAME,    -- 59: push_local_frame
      ops.PUSH_FRAME,          -- 60: push_frame
      ops.GET_SLOT_DIRECT, 4,  -- 61: get_slot_direct(4)
      ops.SET_SLOT_DIRECT, 100,-- 63: set_slot_direct(100)
      ops.PHI,                 -- 65: phi
      ops.PUSH_LOCAL_FRAME,    -- 66: push_local_frame
      ops.GET_SLOT_DIRECT, 100,-- 67: get_slot_direct(100)
      ops.DUP,                 -- 69: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 70: get_slot_direct_check(93)
      ops.SWAP,                -- 72: swap
      ops.PUSH_LOCAL_FRAME,    -- 73: push_local_frame
      ops.GET_SLOT_DIRECT, 99, -- 74: get_slot_direct(99)
      ops.INVOKE, 1,           -- 76: invoke(1)
      ops.RETURN               -- 78: return
    }
  },
  ifunc.Function:new{ -- ".isArray"
    name = jsval.newString(".isArray"),
    id = 19,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 101,-- 8: set_slot_direct(101)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.GET_SLOT_DIRECT, 4,  -- 12: get_slot_direct(4)
      ops.DUP,                 -- 14: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 15: get_slot_direct_check(93)
      ops.SWAP,                -- 17: swap
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.GET_SLOT_DIRECT, 101,-- 19: get_slot_direct(101)
      ops.INVOKE, 1,           -- 21: invoke(1)
      ops.PUSH_LITERAL, 102,   -- 23: push_literal(102)
      ops.BI_EQ,               -- 25: bi_eq
      ops.RETURN               -- 26: return
    }
  },
  ifunc.Function:new{ -- ".bind"
    name = jsval.newString(".bind"),
    id = 20,
    nargs = 0,
    max_stack = 5,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.PUSH_LOCAL_FRAME,    -- 1: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 2: get_slot_direct(17)
      ops.SET_SLOT_DIRECT, 17, -- 4: set_slot_direct(17)
      ops.PUSH_FRAME,          -- 6: push_frame
      ops.PUSH_LITERAL, 0,     -- 7: push_literal(0)
      ops.SET_SLOT_DIRECT, 105,-- 9: set_slot_direct(105)
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 106,-- 14: set_slot_direct(106)
      ops.PUSH_FRAME,          -- 16: push_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 107,-- 19: set_slot_direct(107)
      ops.PUSH_FRAME,          -- 21: push_frame
      ops.PUSH_LITERAL, 0,     -- 22: push_literal(0)
      ops.SET_SLOT_DIRECT, 108,-- 24: set_slot_direct(108)
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 27: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 29: set_slot_direct(53)
      ops.PUSH_FRAME,          -- 31: push_frame
      ops.PUSH_LOCAL_FRAME,    -- 32: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 33: get_slot_direct(26)
      ops.SET_SLOT_DIRECT, 105,-- 35: set_slot_direct(105)
      ops.PUSH_FRAME,          -- 37: push_frame
      ops.GET_SLOT_DIRECT, 17, -- 38: get_slot_direct(17)
      ops.GET_SLOT_DIRECT, 55, -- 40: get_slot_direct(55)
      ops.PUSH_LITERAL, 18,    -- 42: push_literal(18)
      ops.BI_EQ,               -- 44: bi_eq
      ops.JMP_UNLESS, 52, 52,  -- 45: jmp_unless(52,52)
      ops.PUSH_FRAME,          -- 48: push_frame
      ops.GET_SLOT_DIRECT, 105,-- 49: get_slot_direct(105)
      ops.RETURN,              -- 51: return
      ops.PHI,                 -- 52: phi
      ops.PUSH_LOCAL_FRAME,    -- 53: push_local_frame
      ops.NEW_FUNCTION, 21,    -- 54: new_function(21)
      ops.SET_SLOT_DIRECT, 106,-- 56: set_slot_direct(106)
      ops.PUSH_FRAME,          -- 58: push_frame
      ops.PUSH_FRAME,          -- 59: push_frame
      ops.GET_SLOT_DIRECT, 17, -- 60: get_slot_direct(17)
      ops.PUSH_LITERAL, 18,    -- 62: push_literal(18)
      ops.GET_SLOT_INDIRECT,   -- 64: get_slot_indirect
      ops.SET_SLOT_DIRECT, 107,-- 65: set_slot_direct(107)
      ops.PUSH_FRAME,          -- 67: push_frame
      ops.GET_SLOT_DIRECT, 17, -- 68: get_slot_direct(17)
      ops.GET_SLOT_DIRECT, 55, -- 70: get_slot_direct(55)
      ops.PUSH_LITERAL, 31,    -- 72: push_literal(31)
      ops.BI_EQ,               -- 74: bi_eq
      ops.JMP_UNLESS, 93, 93,  -- 75: jmp_unless(93,93)
      ops.PUSH_LOCAL_FRAME,    -- 78: push_local_frame
      ops.GET_SLOT_DIRECT, 106,-- 79: get_slot_direct(106)
      ops.PUSH_LOCAL_FRAME,    -- 81: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 82: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 84: push_local_frame
      ops.NEW_FUNCTION, 23,    -- 85: new_function(23)
      ops.OVER,                -- 87: over
      ops.SET_SLOT_DIRECT, 113,-- 88: set_slot_direct(113)
      ops.INVOKE, 1,           -- 90: invoke(1)
      ops.RETURN,              -- 92: return
      ops.PHI,                 -- 93: phi
      ops.PUSH_FRAME,          -- 94: push_frame
      ops.NEW_ARRAY,           -- 95: new_array
      ops.SET_SLOT_DIRECT, 108,-- 96: set_slot_direct(108)
      ops.PUSH_LOCAL_FRAME,    -- 98: push_local_frame
      ops.PUSH_LITERAL, 31,    -- 99: push_literal(31)
      ops.SET_SLOT_DIRECT, 53, -- 101: set_slot_direct(53)
      ops.JMP_INTO_LOOP, 132, 147,-- 103: jmp_into_loop(132,147)
      ops.PUSH_FRAME,          -- 106: push_frame
      ops.GET_SLOT_DIRECT, 108,-- 107: get_slot_direct(108)
      ops.DUP,                 -- 109: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 110: get_slot_direct_check(69)
      ops.SWAP,                -- 112: swap
      ops.PUSH_FRAME,          -- 113: push_frame
      ops.GET_SLOT_DIRECT, 17, -- 114: get_slot_direct(17)
      ops.PUSH_LOCAL_FRAME,    -- 116: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 117: get_slot_direct(53)
      ops.GET_SLOT_INDIRECT,   -- 119: get_slot_indirect
      ops.INVOKE, 1,           -- 120: invoke(1)
      ops.POP,                 -- 122: pop
      ops.PUSH_LOCAL_FRAME,    -- 123: push_local_frame
      ops.DUP,                 -- 124: dup
      ops.GET_SLOT_DIRECT, 53, -- 125: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 127: push_literal(31)
      ops.BI_ADD,              -- 129: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 130: set_slot_direct(53)
      ops.PHI,                 -- 132: phi
      ops.PUSH_LOCAL_FRAME,    -- 133: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 134: get_slot_direct(53)
      ops.PUSH_FRAME,          -- 136: push_frame
      ops.GET_SLOT_DIRECT, 17, -- 137: get_slot_direct(17)
      ops.GET_SLOT_DIRECT, 55, -- 139: get_slot_direct(55)
      ops.SWAP,                -- 141: swap
      ops.BI_GT,               -- 142: bi_gt
      ops.UN_NOT,              -- 143: un_not
      ops.JMP_UNLESS, 106, 147,-- 144: jmp_unless(106,147)
      ops.PHI,                 -- 147: phi
      ops.PUSH_LOCAL_FRAME,    -- 148: push_local_frame
      ops.GET_SLOT_DIRECT, 106,-- 149: get_slot_direct(106)
      ops.PUSH_LOCAL_FRAME,    -- 151: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 152: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 154: push_local_frame
      ops.NEW_FUNCTION, 24,    -- 155: new_function(24)
      ops.OVER,                -- 157: over
      ops.SET_SLOT_DIRECT, 114,-- 158: set_slot_direct(114)
      ops.INVOKE, 1,           -- 160: invoke(1)
      ops.RETURN               -- 162: return
    }
  },
  ifunc.Function:new{ -- "addHasInstance"
    name = jsval.newString("addHasInstance"),
    id = 21,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 109,-- 8: set_slot_direct(109)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 109,-- 12: get_slot_direct(109)
      ops.NEW_FUNCTION, 22,    -- 14: new_function(22)
      ops.SET_SLOT_DIRECT, 111,-- 16: set_slot_direct(111)
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.GET_SLOT_DIRECT, 109,-- 19: get_slot_direct(109)
      ops.RETURN               -- 21: return
    }
  },
  ifunc.Function:new{ -- ".hasInstance"
    name = jsval.newString(".hasInstance"),
    id = 22,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 110,-- 8: set_slot_direct(110)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.GET_SLOT_DIRECT, 105,-- 12: get_slot_direct(105)
      ops.DUP,                 -- 14: dup
      ops.GET_SLOT_DIRECT_CHECK, 111,-- 15: get_slot_direct_check(111)
      ops.SWAP,                -- 17: swap
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 19: get_slot_direct(110)
      ops.INVOKE, 1,           -- 21: invoke(1)
      ops.RETURN               -- 23: return
    }
  },
  ifunc.Function:new{ -- "bind0"
    name = jsval.newString("bind0"),
    id = 23,
    nargs = 0,
    max_stack = 4,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.PUSH_LOCAL_FRAME,    -- 1: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 2: get_slot_direct(17)
      ops.SET_SLOT_DIRECT, 17, -- 4: set_slot_direct(17)
      ops.PUSH_FRAME,          -- 6: push_frame
      ops.GET_SLOT_DIRECT, 105,-- 7: get_slot_direct(105)
      ops.DUP,                 -- 9: dup
      ops.GET_SLOT_DIRECT_CHECK, 112,-- 10: get_slot_direct_check(112)
      ops.SWAP,                -- 12: swap
      ops.PUSH_FRAME,          -- 13: push_frame
      ops.GET_SLOT_DIRECT, 107,-- 14: get_slot_direct(107)
      ops.PUSH_FRAME,          -- 16: push_frame
      ops.GET_SLOT_DIRECT, 17, -- 17: get_slot_direct(17)
      ops.INVOKE, 2,           -- 19: invoke(2)
      ops.RETURN               -- 21: return
    }
  },
  ifunc.Function:new{ -- "bindN"
    name = jsval.newString("bindN"),
    id = 24,
    nargs = 0,
    max_stack = 7,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.PUSH_LOCAL_FRAME,    -- 1: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 2: get_slot_direct(17)
      ops.SET_SLOT_DIRECT, 17, -- 4: set_slot_direct(17)
      ops.PUSH_FRAME,          -- 6: push_frame
      ops.GET_SLOT_DIRECT, 105,-- 7: get_slot_direct(105)
      ops.DUP,                 -- 9: dup
      ops.GET_SLOT_DIRECT_CHECK, 112,-- 10: get_slot_direct_check(112)
      ops.SWAP,                -- 12: swap
      ops.PUSH_FRAME,          -- 13: push_frame
      ops.GET_SLOT_DIRECT, 107,-- 14: get_slot_direct(107)
      ops.PUSH_FRAME,          -- 16: push_frame
      ops.GET_SLOT_DIRECT, 68, -- 17: get_slot_direct(68)
      ops.GET_SLOT_DIRECT, 11, -- 19: get_slot_direct(11)
      ops.GET_SLOT_DIRECT, 90, -- 21: get_slot_direct(90)
      ops.DUP,                 -- 23: dup
      ops.GET_SLOT_DIRECT_CHECK, 112,-- 24: get_slot_direct_check(112)
      ops.SWAP,                -- 26: swap
      ops.PUSH_FRAME,          -- 27: push_frame
      ops.GET_SLOT_DIRECT, 108,-- 28: get_slot_direct(108)
      ops.PUSH_FRAME,          -- 30: push_frame
      ops.GET_SLOT_DIRECT, 17, -- 31: get_slot_direct(17)
      ops.INVOKE, 2,           -- 33: invoke(2)
      ops.INVOKE, 2,           -- 35: invoke(2)
      ops.RETURN               -- 37: return
    }
  },
  ifunc.Function:new{ -- ".hasInstance"
    name = jsval.newString(".hasInstance"),
    id = 25,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 110,-- 8: set_slot_direct(110)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 116,-- 14: set_slot_direct(116)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 17: get_slot_direct(110)
      ops.UN_TYPEOF,           -- 19: un_typeof
      ops.PUSH_LITERAL, 88,    -- 20: push_literal(88)
      ops.BI_EQ,               -- 22: bi_eq
      ops.UN_NOT,              -- 23: un_not
      ops.JMP_UNLESS, 30, 30,  -- 24: jmp_unless(30,30)
      ops.PUSH_LITERAL, 32,    -- 27: push_literal(32)
      ops.RETURN,              -- 29: return
      ops.PHI,                 -- 30: phi
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 32: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 33: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 11, -- 35: get_slot_direct(11)
      ops.SET_SLOT_DIRECT, 116,-- 37: set_slot_direct(116)
      ops.PUSH_LOCAL_FRAME,    -- 39: push_local_frame
      ops.GET_SLOT_DIRECT, 116,-- 40: get_slot_direct(116)
      ops.UN_TYPEOF,           -- 42: un_typeof
      ops.PUSH_LITERAL, 88,    -- 43: push_literal(88)
      ops.BI_EQ,               -- 45: bi_eq
      ops.UN_NOT,              -- 46: un_not
      ops.JMP_UNLESS, 61, 61,  -- 47: jmp_unless(61,61)
      ops.PUSH_FRAME,          -- 50: push_frame
      ops.GET_SLOT_DIRECT, 6,  -- 51: get_slot_direct(6)
      ops.PUSH_LOCAL_FRAME,    -- 53: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 54: get_slot_direct(26)
      ops.PUSH_LITERAL, 42,    -- 56: push_literal(42)
      ops.INVOKE, 1,           -- 58: invoke(1)
      ops.POP,                 -- 60: pop
      ops.PHI,                 -- 61: phi
      ops.JMP_INTO_LOOP, 100, 107,-- 62: jmp_into_loop(100,107)
      ops.PUSH_LOCAL_FRAME,    -- 65: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 66: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 67: get_slot_direct(110)
      ops.GET_SLOT_DIRECT, 117,-- 69: get_slot_direct(117)
      ops.SET_SLOT_DIRECT, 110,-- 71: set_slot_direct(110)
      ops.PUSH_LOCAL_FRAME,    -- 73: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 74: get_slot_direct(110)
      ops.PUSH_LITERAL, 41,    -- 76: push_literal(41)
      ops.BI_EQ,               -- 78: bi_eq
      ops.JMP_UNLESS, 85, 85,  -- 79: jmp_unless(85,85)
      ops.PUSH_LITERAL, 32,    -- 82: push_literal(32)
      ops.RETURN,              -- 84: return
      ops.PHI,                 -- 85: phi
      ops.PUSH_LOCAL_FRAME,    -- 86: push_local_frame
      ops.GET_SLOT_DIRECT, 116,-- 87: get_slot_direct(116)
      ops.PUSH_LOCAL_FRAME,    -- 89: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 90: get_slot_direct(110)
      ops.BI_EQ,               -- 92: bi_eq
      ops.JMP_UNLESS, 99, 99,  -- 93: jmp_unless(99,99)
      ops.PUSH_LITERAL, 118,   -- 96: push_literal(118)
      ops.RETURN,              -- 98: return
      ops.PHI,                 -- 99: phi
      ops.PHI,                 -- 100: phi
      ops.PUSH_LITERAL, 118,   -- 101: push_literal(118)
      ops.UN_NOT,              -- 103: un_not
      ops.JMP_UNLESS, 65, 107, -- 104: jmp_unless(65,107)
      ops.PHI,                 -- 107: phi
      ops.PUSH_LITERAL, 0,     -- 108: push_literal(0)
      ops.RETURN               -- 110: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 26,
    nargs = 0,
    max_stack = 5,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.PUSH_LOCAL_FRAME,    -- 1: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 2: get_slot_direct(17)
      ops.SET_SLOT_DIRECT, 17, -- 4: set_slot_direct(17)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 7: push_literal(0)
      ops.SET_SLOT_DIRECT, 88, -- 9: set_slot_direct(88)
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 75, -- 14: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 17: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 11, -- 19: get_slot_direct(11)
      ops.UN_TYPEOF,           -- 21: un_typeof
      ops.PUSH_LITERAL, 88,    -- 22: push_literal(88)
      ops.BI_EQ,               -- 24: bi_eq
      ops.JMP_UNLESS, 47, 51,  -- 25: jmp_unless(47,51)
      ops.PUSH_LOCAL_FRAME,    -- 28: push_local_frame
      ops.PUSH_FRAME,          -- 29: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 30: get_slot_direct(14)
      ops.DUP,                 -- 32: dup
      ops.GET_SLOT_DIRECT_CHECK, 119,-- 33: get_slot_direct_check(119)
      ops.SWAP,                -- 35: swap
      ops.PUSH_LOCAL_FRAME,    -- 36: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 37: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 11, -- 39: get_slot_direct(11)
      ops.INVOKE, 1,           -- 41: invoke(1)
      ops.SET_SLOT_DIRECT, 88, -- 43: set_slot_direct(88)
      ops.JMP, 51,             -- 45: jmp(51)
      ops.PUSH_LOCAL_FRAME,    -- 47: push_local_frame
      ops.NEW_OBJECT,          -- 48: new_object
      ops.SET_SLOT_DIRECT, 88, -- 49: set_slot_direct(88)
      ops.PHI,                 -- 51: phi
      ops.PUSH_LOCAL_FRAME,    -- 52: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 53: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 54: get_slot_direct(26)
      ops.DUP,                 -- 56: dup
      ops.GET_SLOT_DIRECT_CHECK, 112,-- 57: get_slot_direct_check(112)
      ops.SWAP,                -- 59: swap
      ops.PUSH_LOCAL_FRAME,    -- 60: push_local_frame
      ops.GET_SLOT_DIRECT, 88, -- 61: get_slot_direct(88)
      ops.PUSH_FRAME,          -- 63: push_frame
      ops.GET_SLOT_DIRECT, 17, -- 64: get_slot_direct(17)
      ops.INVOKE, 2,           -- 66: invoke(2)
      ops.SET_SLOT_DIRECT, 75, -- 68: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 70: push_local_frame
      ops.GET_SLOT_DIRECT, 75, -- 71: get_slot_direct(75)
      ops.UN_TYPEOF,           -- 73: un_typeof
      ops.PUSH_LITERAL, 88,    -- 74: push_literal(88)
      ops.BI_EQ,               -- 76: bi_eq
      ops.JMP_UNLESS, 84, 84,  -- 77: jmp_unless(84,84)
      ops.PUSH_LOCAL_FRAME,    -- 80: push_local_frame
      ops.GET_SLOT_DIRECT, 75, -- 81: get_slot_direct(75)
      ops.RETURN,              -- 83: return
      ops.PHI,                 -- 84: phi
      ops.PUSH_LOCAL_FRAME,    -- 85: push_local_frame
      ops.GET_SLOT_DIRECT, 88, -- 86: get_slot_direct(88)
      ops.RETURN               -- 88: return
    }
  },
  ifunc.Function:new{ -- ".toString"
    name = jsval.newString(".toString"),
    id = 27,
    nargs = 0,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 75, -- 3: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 5: push_local_frame
      ops.PUSH_LITERAL, 120,   -- 6: push_literal(120)
      ops.SET_SLOT_DIRECT, 75, -- 8: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 10: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 11: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 19, -- 13: get_slot_direct(19)
      ops.JMP_UNLESS, 30, 30,  -- 15: jmp_unless(30,30)
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.DUP,                 -- 19: dup
      ops.GET_SLOT_DIRECT, 75, -- 20: get_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 22: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 23: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 19, -- 25: get_slot_direct(19)
      ops.BI_ADD,              -- 27: bi_add
      ops.SET_SLOT_DIRECT, 75, -- 28: set_slot_direct(75)
      ops.PHI,                 -- 30: phi
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.DUP,                 -- 32: dup
      ops.GET_SLOT_DIRECT, 75, -- 33: get_slot_direct(75)
      ops.PUSH_LITERAL, 121,   -- 35: push_literal(121)
      ops.BI_ADD,              -- 37: bi_add
      ops.SET_SLOT_DIRECT, 75, -- 38: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 40: push_local_frame
      ops.GET_SLOT_DIRECT, 75, -- 41: get_slot_direct(75)
      ops.RETURN               -- 43: return
    }
  },
  ifunc.Function:new{ -- ".toString"
    name = jsval.newString(".toString"),
    id = 28,
    nargs = 0,
    max_stack = 3,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.GET_SLOT_DIRECT, 2,  -- 1: get_slot_direct(2)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 4: get_slot_direct_check(93)
      ops.SWAP,                -- 6: swap
      ops.PUSH_LOCAL_FRAME,    -- 7: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 8: get_slot_direct(26)
      ops.INVOKE, 1,           -- 10: invoke(1)
      ops.JMP_UNLESS, 19, 21,  -- 12: jmp_unless(19,21)
      ops.PUSH_LITERAL, 122,   -- 15: push_literal(122)
      ops.JMP, 21,             -- 17: jmp(21)
      ops.PUSH_LITERAL, 123,   -- 19: push_literal(123)
      ops.PHI,                 -- 21: phi
      ops.RETURN               -- 22: return
    }
  },
  ifunc.Function:new{ -- ".isFinite"
    name = jsval.newString(".isFinite"),
    id = 29,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 86, -- 8: set_slot_direct(86)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 86, -- 12: get_slot_direct(86)
      ops.UN_TYPEOF,           -- 14: un_typeof
      ops.PUSH_LITERAL, 86,    -- 15: push_literal(86)
      ops.BI_EQ,               -- 17: bi_eq
      ops.UN_NOT,              -- 18: un_not
      ops.DUP,                 -- 19: dup
      ops.UN_NOT,              -- 20: un_not
      ops.JMP_UNLESS, 60, 60,  -- 21: jmp_unless(60,60)
      ops.POP,                 -- 24: pop
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.GET_SLOT_DIRECT, 86, -- 26: get_slot_direct(86)
      ops.PUSH_LOCAL_FRAME,    -- 28: push_local_frame
      ops.GET_SLOT_DIRECT, 86, -- 29: get_slot_direct(86)
      ops.BI_EQ,               -- 31: bi_eq
      ops.UN_NOT,              -- 32: un_not
      ops.DUP,                 -- 33: dup
      ops.UN_NOT,              -- 34: un_not
      ops.JMP_UNLESS, 59, 59,  -- 35: jmp_unless(59,59)
      ops.POP,                 -- 38: pop
      ops.PUSH_LOCAL_FRAME,    -- 39: push_local_frame
      ops.GET_SLOT_DIRECT, 86, -- 40: get_slot_direct(86)
      ops.PUSH_LITERAL, 27,    -- 42: push_literal(27)
      ops.BI_EQ,               -- 44: bi_eq
      ops.DUP,                 -- 45: dup
      ops.UN_NOT,              -- 46: un_not
      ops.JMP_UNLESS, 58, 58,  -- 47: jmp_unless(58,58)
      ops.POP,                 -- 50: pop
      ops.PUSH_LOCAL_FRAME,    -- 51: push_local_frame
      ops.GET_SLOT_DIRECT, 86, -- 52: get_slot_direct(86)
      ops.PUSH_LITERAL, 27,    -- 54: push_literal(27)
      ops.UN_MINUS,            -- 56: un_minus
      ops.BI_EQ,               -- 57: bi_eq
      ops.PHI,                 -- 58: phi
      ops.PHI,                 -- 59: phi
      ops.PHI,                 -- 60: phi
      ops.JMP_UNLESS, 67, 67,  -- 61: jmp_unless(67,67)
      ops.PUSH_LITERAL, 32,    -- 64: push_literal(32)
      ops.RETURN,              -- 66: return
      ops.PHI,                 -- 67: phi
      ops.PUSH_LITERAL, 118,   -- 68: push_literal(118)
      ops.RETURN               -- 70: return
    }
  },
  ifunc.Function:new{ -- ".isNaN"
    name = jsval.newString(".isNaN"),
    id = 30,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 86, -- 8: set_slot_direct(86)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 86, -- 12: get_slot_direct(86)
      ops.UN_TYPEOF,           -- 14: un_typeof
      ops.PUSH_LITERAL, 86,    -- 15: push_literal(86)
      ops.BI_EQ,               -- 17: bi_eq
      ops.DUP,                 -- 18: dup
      ops.JMP_UNLESS, 31, 31,  -- 19: jmp_unless(31,31)
      ops.POP,                 -- 22: pop
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.GET_SLOT_DIRECT, 86, -- 24: get_slot_direct(86)
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.GET_SLOT_DIRECT, 86, -- 27: get_slot_direct(86)
      ops.BI_EQ,               -- 29: bi_eq
      ops.UN_NOT,              -- 30: un_not
      ops.PHI,                 -- 31: phi
      ops.RETURN               -- 32: return
    }
  },
  ifunc.Function:new{ -- ".toString"
    name = jsval.newString(".toString"),
    id = 31,
    nargs = 1,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 127,-- 8: set_slot_direct(127)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 128,-- 14: set_slot_direct(128)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 129,-- 19: set_slot_direct(129)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 22: push_literal(0)
      ops.SET_SLOT_DIRECT, 130,-- 24: set_slot_direct(130)
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 27: push_literal(0)
      ops.SET_SLOT_DIRECT, 131,-- 29: set_slot_direct(131)
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 32: push_literal(0)
      ops.SET_SLOT_DIRECT, 132,-- 34: set_slot_direct(132)
      ops.PUSH_LOCAL_FRAME,    -- 36: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 37: push_literal(0)
      ops.SET_SLOT_DIRECT, 133,-- 39: set_slot_direct(133)
      ops.PUSH_LOCAL_FRAME,    -- 41: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 42: push_literal(0)
      ops.SET_SLOT_DIRECT, 134,-- 44: set_slot_direct(134)
      ops.PUSH_LOCAL_FRAME,    -- 46: push_local_frame
      ops.PUSH_FRAME,          -- 47: push_frame
      ops.GET_SLOT_DIRECT, 3,  -- 48: get_slot_direct(3)
      ops.DUP,                 -- 50: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 51: get_slot_direct_check(93)
      ops.SWAP,                -- 53: swap
      ops.PUSH_LOCAL_FRAME,    -- 54: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 55: get_slot_direct(26)
      ops.INVOKE, 1,           -- 57: invoke(1)
      ops.SET_SLOT_DIRECT, 128,-- 59: set_slot_direct(128)
      ops.PUSH_LOCAL_FRAME,    -- 61: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 62: push_local_frame
      ops.GET_SLOT_DIRECT, 127,-- 63: get_slot_direct(127)
      ops.PUSH_LITERAL, 0,     -- 65: push_literal(0)
      ops.BI_EQ,               -- 67: bi_eq
      ops.JMP_UNLESS, 75, 86,  -- 68: jmp_unless(75,86)
      ops.PUSH_LITERAL, 135,   -- 71: push_literal(135)
      ops.JMP, 86,             -- 73: jmp(86)
      ops.PUSH_FRAME,          -- 75: push_frame
      ops.GET_SLOT_DIRECT, 7,  -- 76: get_slot_direct(7)
      ops.PUSH_LOCAL_FRAME,    -- 78: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 79: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 81: push_local_frame
      ops.GET_SLOT_DIRECT, 127,-- 82: get_slot_direct(127)
      ops.INVOKE, 1,           -- 84: invoke(1)
      ops.PHI,                 -- 86: phi
      ops.SET_SLOT_DIRECT, 129,-- 87: set_slot_direct(129)
      ops.PUSH_LOCAL_FRAME,    -- 89: push_local_frame
      ops.GET_SLOT_DIRECT, 129,-- 90: get_slot_direct(129)
      ops.PUSH_LITERAL, 136,   -- 92: push_literal(136)
      ops.SWAP,                -- 94: swap
      ops.BI_GT,               -- 95: bi_gt
      ops.DUP,                 -- 96: dup
      ops.UN_NOT,              -- 97: un_not
      ops.JMP_UNLESS, 108, 108,-- 98: jmp_unless(108,108)
      ops.POP,                 -- 101: pop
      ops.PUSH_LOCAL_FRAME,    -- 102: push_local_frame
      ops.GET_SLOT_DIRECT, 129,-- 103: get_slot_direct(129)
      ops.PUSH_LITERAL, 137,   -- 105: push_literal(137)
      ops.BI_GT,               -- 107: bi_gt
      ops.PHI,                 -- 108: phi
      ops.JMP_UNLESS, 123, 123,-- 109: jmp_unless(123,123)
      ops.PUSH_FRAME,          -- 112: push_frame
      ops.GET_SLOT_DIRECT, 6,  -- 113: get_slot_direct(6)
      ops.PUSH_LOCAL_FRAME,    -- 115: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 116: get_slot_direct(26)
      ops.PUSH_LITERAL, 138,   -- 118: push_literal(138)
      ops.INVOKE, 1,           -- 120: invoke(1)
      ops.POP,                 -- 122: pop
      ops.PHI,                 -- 123: phi
      ops.PUSH_LOCAL_FRAME,    -- 124: push_local_frame
      ops.GET_SLOT_DIRECT, 129,-- 125: get_slot_direct(129)
      ops.PUSH_LITERAL, 135,   -- 127: push_literal(135)
      ops.BI_EQ,               -- 129: bi_eq
      ops.JMP_UNLESS, 140, 140,-- 130: jmp_unless(140,140)
      ops.PUSH_LITERAL, 66,    -- 133: push_literal(66)
      ops.PUSH_LOCAL_FRAME,    -- 135: push_local_frame
      ops.GET_SLOT_DIRECT, 128,-- 136: get_slot_direct(128)
      ops.BI_ADD,              -- 138: bi_add
      ops.RETURN,              -- 139: return
      ops.PHI,                 -- 140: phi
      ops.PUSH_LOCAL_FRAME,    -- 141: push_local_frame
      ops.GET_SLOT_DIRECT, 128,-- 142: get_slot_direct(128)
      ops.PUSH_LOCAL_FRAME,    -- 144: push_local_frame
      ops.GET_SLOT_DIRECT, 128,-- 145: get_slot_direct(128)
      ops.BI_EQ,               -- 147: bi_eq
      ops.UN_NOT,              -- 148: un_not
      ops.JMP_UNLESS, 155, 155,-- 149: jmp_unless(155,155)
      ops.PUSH_LITERAL, 139,   -- 152: push_literal(139)
      ops.RETURN,              -- 154: return
      ops.PHI,                 -- 155: phi
      ops.PUSH_LOCAL_FRAME,    -- 156: push_local_frame
      ops.GET_SLOT_DIRECT, 128,-- 157: get_slot_direct(128)
      ops.PUSH_LITERAL, 18,    -- 159: push_literal(18)
      ops.BI_EQ,               -- 161: bi_eq
      ops.JMP_UNLESS, 168, 168,-- 162: jmp_unless(168,168)
      ops.PUSH_LITERAL, 140,   -- 165: push_literal(140)
      ops.RETURN,              -- 167: return
      ops.PHI,                 -- 168: phi
      ops.PUSH_LOCAL_FRAME,    -- 169: push_local_frame
      ops.PUSH_LITERAL, 32,    -- 170: push_literal(32)
      ops.SET_SLOT_DIRECT, 130,-- 172: set_slot_direct(130)
      ops.PUSH_LOCAL_FRAME,    -- 174: push_local_frame
      ops.GET_SLOT_DIRECT, 128,-- 175: get_slot_direct(128)
      ops.PUSH_LITERAL, 18,    -- 177: push_literal(18)
      ops.SWAP,                -- 179: swap
      ops.BI_GT,               -- 180: bi_gt
      ops.JMP_UNLESS, 196, 196,-- 181: jmp_unless(196,196)
      ops.PUSH_LOCAL_FRAME,    -- 184: push_local_frame
      ops.PUSH_LITERAL, 118,   -- 185: push_literal(118)
      ops.SET_SLOT_DIRECT, 130,-- 187: set_slot_direct(130)
      ops.PUSH_LOCAL_FRAME,    -- 189: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 190: push_local_frame
      ops.GET_SLOT_DIRECT, 128,-- 191: get_slot_direct(128)
      ops.UN_MINUS,            -- 193: un_minus
      ops.SET_SLOT_DIRECT, 128,-- 194: set_slot_direct(128)
      ops.PHI,                 -- 196: phi
      ops.PUSH_LOCAL_FRAME,    -- 197: push_local_frame
      ops.GET_SLOT_DIRECT, 128,-- 198: get_slot_direct(128)
      ops.PUSH_LITERAL, 27,    -- 200: push_literal(27)
      ops.BI_EQ,               -- 202: bi_eq
      ops.JMP_UNLESS, 223, 223,-- 203: jmp_unless(223,223)
      ops.PUSH_LOCAL_FRAME,    -- 206: push_local_frame
      ops.GET_SLOT_DIRECT, 130,-- 207: get_slot_direct(130)
      ops.JMP_UNLESS, 216, 218,-- 209: jmp_unless(216,218)
      ops.PUSH_LITERAL, 141,   -- 212: push_literal(141)
      ops.JMP, 218,            -- 214: jmp(218)
      ops.PUSH_LITERAL, 66,    -- 216: push_literal(66)
      ops.PHI,                 -- 218: phi
      ops.PUSH_LITERAL, 142,   -- 219: push_literal(142)
      ops.BI_ADD,              -- 221: bi_add
      ops.RETURN,              -- 222: return
      ops.PHI,                 -- 223: phi
      ops.PUSH_LOCAL_FRAME,    -- 224: push_local_frame
      ops.PUSH_FRAME,          -- 225: push_frame
      ops.GET_SLOT_DIRECT, 28, -- 226: get_slot_direct(28)
      ops.DUP,                 -- 228: dup
      ops.GET_SLOT_DIRECT_CHECK, 29,-- 229: get_slot_direct_check(29)
      ops.SWAP,                -- 231: swap
      ops.PUSH_LOCAL_FRAME,    -- 232: push_local_frame
      ops.GET_SLOT_DIRECT, 128,-- 233: get_slot_direct(128)
      ops.INVOKE, 1,           -- 235: invoke(1)
      ops.SET_SLOT_DIRECT, 131,-- 237: set_slot_direct(131)
      ops.PUSH_LOCAL_FRAME,    -- 239: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 240: push_local_frame
      ops.GET_SLOT_DIRECT, 128,-- 241: get_slot_direct(128)
      ops.PUSH_LOCAL_FRAME,    -- 243: push_local_frame
      ops.GET_SLOT_DIRECT, 131,-- 244: get_slot_direct(131)
      ops.BI_SUB,              -- 246: bi_sub
      ops.SET_SLOT_DIRECT, 132,-- 247: set_slot_direct(132)
      ops.PUSH_LOCAL_FRAME,    -- 249: push_local_frame
      ops.PUSH_LITERAL, 66,    -- 250: push_literal(66)
      ops.SET_SLOT_DIRECT, 133,-- 252: set_slot_direct(133)
      ops.JMP_INTO_LOOP, 366, 378,-- 254: jmp_into_loop(366,378)
      ops.PUSH_LOCAL_FRAME,    -- 257: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 258: push_literal(0)
      ops.SET_SLOT_DIRECT, 143,-- 260: set_slot_direct(143)
      ops.PUSH_LOCAL_FRAME,    -- 262: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 263: push_literal(0)
      ops.SET_SLOT_DIRECT, 144,-- 265: set_slot_direct(144)
      ops.PUSH_LOCAL_FRAME,    -- 267: push_local_frame
      ops.PUSH_FRAME,          -- 268: push_frame
      ops.GET_SLOT_DIRECT, 28, -- 269: get_slot_direct(28)
      ops.DUP,                 -- 271: dup
      ops.GET_SLOT_DIRECT_CHECK, 29,-- 272: get_slot_direct_check(29)
      ops.SWAP,                -- 274: swap
      ops.PUSH_LOCAL_FRAME,    -- 275: push_local_frame
      ops.GET_SLOT_DIRECT, 131,-- 276: get_slot_direct(131)
      ops.PUSH_LOCAL_FRAME,    -- 278: push_local_frame
      ops.GET_SLOT_DIRECT, 127,-- 279: get_slot_direct(127)
      ops.BI_DIV,              -- 281: bi_div
      ops.INVOKE, 1,           -- 282: invoke(1)
      ops.SET_SLOT_DIRECT, 143,-- 284: set_slot_direct(143)
      ops.PUSH_LOCAL_FRAME,    -- 286: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 287: push_local_frame
      ops.GET_SLOT_DIRECT, 131,-- 288: get_slot_direct(131)
      ops.PUSH_LOCAL_FRAME,    -- 290: push_local_frame
      ops.GET_SLOT_DIRECT, 143,-- 291: get_slot_direct(143)
      ops.PUSH_LOCAL_FRAME,    -- 293: push_local_frame
      ops.GET_SLOT_DIRECT, 127,-- 294: get_slot_direct(127)
      ops.BI_MUL,              -- 296: bi_mul
      ops.BI_SUB,              -- 297: bi_sub
      ops.SET_SLOT_DIRECT, 144,-- 298: set_slot_direct(144)
      ops.PUSH_LOCAL_FRAME,    -- 300: push_local_frame
      ops.GET_SLOT_DIRECT, 144,-- 301: get_slot_direct(144)
      ops.PUSH_LITERAL, 135,   -- 303: push_literal(135)
      ops.SWAP,                -- 305: swap
      ops.BI_GT,               -- 306: bi_gt
      ops.JMP_UNLESS, 334, 359,-- 307: jmp_unless(334,359)
      ops.PUSH_LOCAL_FRAME,    -- 310: push_local_frame
      ops.PUSH_FRAME,          -- 311: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 312: get_slot_direct(36)
      ops.DUP,                 -- 314: dup
      ops.GET_SLOT_DIRECT_CHECK, 145,-- 315: get_slot_direct_check(145)
      ops.SWAP,                -- 317: swap
      ops.PUSH_LITERAL, 146,   -- 318: push_literal(146)
      ops.PUSH_LOCAL_FRAME,    -- 320: push_local_frame
      ops.GET_SLOT_DIRECT, 144,-- 321: get_slot_direct(144)
      ops.BI_ADD,              -- 323: bi_add
      ops.INVOKE, 1,           -- 324: invoke(1)
      ops.PUSH_LOCAL_FRAME,    -- 326: push_local_frame
      ops.GET_SLOT_DIRECT, 133,-- 327: get_slot_direct(133)
      ops.BI_ADD,              -- 329: bi_add
      ops.SET_SLOT_DIRECT, 133,-- 330: set_slot_direct(133)
      ops.JMP, 359,            -- 332: jmp(359)
      ops.PUSH_LOCAL_FRAME,    -- 334: push_local_frame
      ops.PUSH_FRAME,          -- 335: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 336: get_slot_direct(36)
      ops.DUP,                 -- 338: dup
      ops.GET_SLOT_DIRECT_CHECK, 145,-- 339: get_slot_direct_check(145)
      ops.SWAP,                -- 341: swap
      ops.PUSH_LITERAL, 147,   -- 342: push_literal(147)
      ops.PUSH_LOCAL_FRAME,    -- 344: push_local_frame
      ops.GET_SLOT_DIRECT, 144,-- 345: get_slot_direct(144)
      ops.BI_ADD,              -- 347: bi_add
      ops.PUSH_LITERAL, 135,   -- 348: push_literal(135)
      ops.BI_SUB,              -- 350: bi_sub
      ops.INVOKE, 1,           -- 351: invoke(1)
      ops.PUSH_LOCAL_FRAME,    -- 353: push_local_frame
      ops.GET_SLOT_DIRECT, 133,-- 354: get_slot_direct(133)
      ops.BI_ADD,              -- 356: bi_add
      ops.SET_SLOT_DIRECT, 133,-- 357: set_slot_direct(133)
      ops.PHI,                 -- 359: phi
      ops.PUSH_LOCAL_FRAME,    -- 360: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 361: push_local_frame
      ops.GET_SLOT_DIRECT, 143,-- 362: get_slot_direct(143)
      ops.SET_SLOT_DIRECT, 131,-- 364: set_slot_direct(131)
      ops.PHI,                 -- 366: phi
      ops.PUSH_LOCAL_FRAME,    -- 367: push_local_frame
      ops.GET_SLOT_DIRECT, 131,-- 368: get_slot_direct(131)
      ops.PUSH_LITERAL, 18,    -- 370: push_literal(18)
      ops.BI_EQ,               -- 372: bi_eq
      ops.UN_NOT,              -- 373: un_not
      ops.UN_NOT,              -- 374: un_not
      ops.JMP_UNLESS, 257, 378,-- 375: jmp_unless(257,378)
      ops.PHI,                 -- 378: phi
      ops.PUSH_LOCAL_FRAME,    -- 379: push_local_frame
      ops.GET_SLOT_DIRECT, 133,-- 380: get_slot_direct(133)
      ops.PUSH_LITERAL, 66,    -- 382: push_literal(66)
      ops.BI_EQ,               -- 384: bi_eq
      ops.JMP_UNLESS, 393, 393,-- 385: jmp_unless(393,393)
      ops.PUSH_LOCAL_FRAME,    -- 388: push_local_frame
      ops.PUSH_LITERAL, 140,   -- 389: push_literal(140)
      ops.SET_SLOT_DIRECT, 133,-- 391: set_slot_direct(133)
      ops.PHI,                 -- 393: phi
      ops.PUSH_LOCAL_FRAME,    -- 394: push_local_frame
      ops.GET_SLOT_DIRECT, 130,-- 395: get_slot_direct(130)
      ops.JMP_UNLESS, 409, 409,-- 397: jmp_unless(409,409)
      ops.PUSH_LOCAL_FRAME,    -- 400: push_local_frame
      ops.PUSH_LITERAL, 141,   -- 401: push_literal(141)
      ops.PUSH_LOCAL_FRAME,    -- 403: push_local_frame
      ops.GET_SLOT_DIRECT, 133,-- 404: get_slot_direct(133)
      ops.BI_ADD,              -- 406: bi_add
      ops.SET_SLOT_DIRECT, 133,-- 407: set_slot_direct(133)
      ops.PHI,                 -- 409: phi
      ops.PUSH_LOCAL_FRAME,    -- 410: push_local_frame
      ops.PUSH_LITERAL, 148,   -- 411: push_literal(148)
      ops.SET_SLOT_DIRECT, 134,-- 413: set_slot_direct(134)
      ops.PUSH_LOCAL_FRAME,    -- 415: push_local_frame
      ops.GET_SLOT_DIRECT, 132,-- 416: get_slot_direct(132)
      ops.PUSH_LOCAL_FRAME,    -- 418: push_local_frame
      ops.GET_SLOT_DIRECT, 134,-- 419: get_slot_direct(134)
      ops.BI_GT,               -- 421: bi_gt
      ops.JMP_UNLESS, 559, 559,-- 422: jmp_unless(559,559)
      ops.PUSH_LOCAL_FRAME,    -- 425: push_local_frame
      ops.DUP,                 -- 426: dup
      ops.GET_SLOT_DIRECT, 133,-- 427: get_slot_direct(133)
      ops.PUSH_LITERAL, 149,   -- 429: push_literal(149)
      ops.BI_ADD,              -- 431: bi_add
      ops.SET_SLOT_DIRECT, 133,-- 432: set_slot_direct(133)
      ops.JMP_INTO_LOOP, 546, 558,-- 434: jmp_into_loop(546,558)
      ops.PUSH_LOCAL_FRAME,    -- 437: push_local_frame
      ops.PUSH_FRAME,          -- 438: push_frame
      ops.GET_SLOT_DIRECT, 28, -- 439: get_slot_direct(28)
      ops.DUP,                 -- 441: dup
      ops.GET_SLOT_DIRECT_CHECK, 29,-- 442: get_slot_direct_check(29)
      ops.SWAP,                -- 444: swap
      ops.PUSH_LOCAL_FRAME,    -- 445: push_local_frame
      ops.GET_SLOT_DIRECT, 132,-- 446: get_slot_direct(132)
      ops.PUSH_LOCAL_FRAME,    -- 448: push_local_frame
      ops.GET_SLOT_DIRECT, 127,-- 449: get_slot_direct(127)
      ops.BI_MUL,              -- 451: bi_mul
      ops.INVOKE, 1,           -- 452: invoke(1)
      ops.SET_SLOT_DIRECT, 144,-- 454: set_slot_direct(144)
      ops.PUSH_LOCAL_FRAME,    -- 456: push_local_frame
      ops.GET_SLOT_DIRECT, 144,-- 457: get_slot_direct(144)
      ops.PUSH_LITERAL, 135,   -- 459: push_literal(135)
      ops.SWAP,                -- 461: swap
      ops.BI_GT,               -- 462: bi_gt
      ops.JMP_UNLESS, 490, 515,-- 463: jmp_unless(490,515)
      ops.PUSH_LOCAL_FRAME,    -- 466: push_local_frame
      ops.DUP,                 -- 467: dup
      ops.GET_SLOT_DIRECT, 133,-- 468: get_slot_direct(133)
      ops.PUSH_FRAME,          -- 470: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 471: get_slot_direct(36)
      ops.DUP,                 -- 473: dup
      ops.GET_SLOT_DIRECT_CHECK, 145,-- 474: get_slot_direct_check(145)
      ops.SWAP,                -- 476: swap
      ops.PUSH_LITERAL, 146,   -- 477: push_literal(146)
      ops.PUSH_LOCAL_FRAME,    -- 479: push_local_frame
      ops.GET_SLOT_DIRECT, 144,-- 480: get_slot_direct(144)
      ops.BI_ADD,              -- 482: bi_add
      ops.INVOKE, 1,           -- 483: invoke(1)
      ops.BI_ADD,              -- 485: bi_add
      ops.SET_SLOT_DIRECT, 133,-- 486: set_slot_direct(133)
      ops.JMP, 515,            -- 488: jmp(515)
      ops.PUSH_LOCAL_FRAME,    -- 490: push_local_frame
      ops.DUP,                 -- 491: dup
      ops.GET_SLOT_DIRECT, 133,-- 492: get_slot_direct(133)
      ops.PUSH_FRAME,          -- 494: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 495: get_slot_direct(36)
      ops.DUP,                 -- 497: dup
      ops.GET_SLOT_DIRECT_CHECK, 145,-- 498: get_slot_direct_check(145)
      ops.SWAP,                -- 500: swap
      ops.PUSH_LITERAL, 147,   -- 501: push_literal(147)
      ops.PUSH_LOCAL_FRAME,    -- 503: push_local_frame
      ops.GET_SLOT_DIRECT, 144,-- 504: get_slot_direct(144)
      ops.BI_ADD,              -- 506: bi_add
      ops.PUSH_LITERAL, 135,   -- 507: push_literal(135)
      ops.BI_SUB,              -- 509: bi_sub
      ops.INVOKE, 1,           -- 510: invoke(1)
      ops.BI_ADD,              -- 512: bi_add
      ops.SET_SLOT_DIRECT, 133,-- 513: set_slot_direct(133)
      ops.PHI,                 -- 515: phi
      ops.PUSH_LOCAL_FRAME,    -- 516: push_local_frame
      ops.DUP,                 -- 517: dup
      ops.GET_SLOT_DIRECT, 132,-- 518: get_slot_direct(132)
      ops.PUSH_LOCAL_FRAME,    -- 520: push_local_frame
      ops.GET_SLOT_DIRECT, 127,-- 521: get_slot_direct(127)
      ops.BI_MUL,              -- 523: bi_mul
      ops.SET_SLOT_DIRECT, 132,-- 524: set_slot_direct(132)
      ops.PUSH_LOCAL_FRAME,    -- 526: push_local_frame
      ops.DUP,                 -- 527: dup
      ops.GET_SLOT_DIRECT, 134,-- 528: get_slot_direct(134)
      ops.PUSH_LOCAL_FRAME,    -- 530: push_local_frame
      ops.GET_SLOT_DIRECT, 127,-- 531: get_slot_direct(127)
      ops.BI_MUL,              -- 533: bi_mul
      ops.SET_SLOT_DIRECT, 134,-- 534: set_slot_direct(134)
      ops.PUSH_LOCAL_FRAME,    -- 536: push_local_frame
      ops.DUP,                 -- 537: dup
      ops.GET_SLOT_DIRECT, 132,-- 538: get_slot_direct(132)
      ops.PUSH_LOCAL_FRAME,    -- 540: push_local_frame
      ops.GET_SLOT_DIRECT, 144,-- 541: get_slot_direct(144)
      ops.BI_SUB,              -- 543: bi_sub
      ops.SET_SLOT_DIRECT, 132,-- 544: set_slot_direct(132)
      ops.PHI,                 -- 546: phi
      ops.PUSH_LOCAL_FRAME,    -- 547: push_local_frame
      ops.GET_SLOT_DIRECT, 132,-- 548: get_slot_direct(132)
      ops.PUSH_LOCAL_FRAME,    -- 550: push_local_frame
      ops.GET_SLOT_DIRECT, 134,-- 551: get_slot_direct(134)
      ops.BI_GT,               -- 553: bi_gt
      ops.UN_NOT,              -- 554: un_not
      ops.JMP_UNLESS, 437, 558,-- 555: jmp_unless(437,558)
      ops.PHI,                 -- 558: phi
      ops.PHI,                 -- 559: phi
      ops.PUSH_LOCAL_FRAME,    -- 560: push_local_frame
      ops.GET_SLOT_DIRECT, 133,-- 561: get_slot_direct(133)
      ops.RETURN               -- 563: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 32,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 182,-- 8: set_slot_direct(182)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 183,-- 14: set_slot_direct(183)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 19, -- 19: set_slot_direct(19)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 22: push_literal(0)
      ops.SET_SLOT_DIRECT, 184,-- 24: set_slot_direct(184)
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.GET_SLOT_DIRECT, 182,-- 28: get_slot_direct(182)
      ops.PUSH_LITERAL, 18,    -- 30: push_literal(18)
      ops.GET_SLOT_INDIRECT,   -- 32: get_slot_indirect
      ops.SET_SLOT_DIRECT, 183,-- 33: set_slot_direct(183)
      ops.PUSH_LOCAL_FRAME,    -- 35: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 36: push_local_frame
      ops.GET_SLOT_DIRECT, 182,-- 37: get_slot_direct(182)
      ops.PUSH_LITERAL, 31,    -- 39: push_literal(31)
      ops.GET_SLOT_INDIRECT,   -- 41: get_slot_indirect
      ops.SET_SLOT_DIRECT, 19, -- 42: set_slot_direct(19)
      ops.PUSH_LOCAL_FRAME,    -- 44: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 45: push_local_frame
      ops.GET_SLOT_DIRECT, 182,-- 46: get_slot_direct(182)
      ops.PUSH_LITERAL, 136,   -- 48: push_literal(136)
      ops.GET_SLOT_INDIRECT,   -- 50: get_slot_indirect
      ops.SET_SLOT_DIRECT, 184,-- 51: set_slot_direct(184)
      ops.PUSH_LOCAL_FRAME,    -- 53: push_local_frame
      ops.GET_SLOT_DIRECT, 183,-- 54: get_slot_direct(183)
      ops.PUSH_LOCAL_FRAME,    -- 56: push_local_frame
      ops.GET_SLOT_DIRECT, 19, -- 57: get_slot_direct(19)
      ops.PUSH_LOCAL_FRAME,    -- 59: push_local_frame
      ops.GET_SLOT_DIRECT, 184,-- 60: get_slot_direct(184)
      ops.SET_SLOT_INDIRECT,   -- 62: set_slot_indirect
      ops.PUSH_FRAME,          -- 63: push_frame
      ops.GET_SLOT_DIRECT, 9,  -- 64: get_slot_direct(9)
      ops.PUSH_LOCAL_FRAME,    -- 66: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 67: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 69: push_local_frame
      ops.GET_SLOT_DIRECT, 183,-- 70: get_slot_direct(183)
      ops.PUSH_LOCAL_FRAME,    -- 72: push_local_frame
      ops.GET_SLOT_DIRECT, 19, -- 73: get_slot_direct(19)
      ops.INVOKE, 2,           -- 75: invoke(2)
      ops.POP,                 -- 77: pop
      ops.PUSH_LITERAL, 0,     -- 78: push_literal(0)
      ops.RETURN               -- 80: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 33,
    nargs = 3,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 186,-- 8: set_slot_direct(186)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 187,-- 15: set_slot_direct(187)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT, 136,-- 18: get_slot_direct(136)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.SWAP,                -- 21: swap
      ops.SET_SLOT_DIRECT, 188,-- 22: set_slot_direct(188)
      ops.POP,                 -- 24: pop
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.GET_SLOT_DIRECT, 188,-- 26: get_slot_direct(188)
      ops.DUP,                 -- 28: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 29: get_slot_direct_check(93)
      ops.SWAP,                -- 31: swap
      ops.PUSH_LOCAL_FRAME,    -- 32: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 33: get_slot_direct(186)
      ops.INVOKE, 1,           -- 35: invoke(1)
      ops.POP,                 -- 37: pop
      ops.PUSH_LOCAL_FRAME,    -- 38: push_local_frame
      ops.GET_SLOT_DIRECT, 187,-- 39: get_slot_direct(187)
      ops.DUP,                 -- 41: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 42: get_slot_direct_check(93)
      ops.SWAP,                -- 44: swap
      ops.PUSH_LOCAL_FRAME,    -- 45: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 46: get_slot_direct(186)
      ops.INVOKE, 1,           -- 48: invoke(1)
      ops.DUP,                 -- 50: dup
      ops.GET_SLOT_DIRECT_CHECK, 185,-- 51: get_slot_direct_check(185)
      ops.SWAP,                -- 53: swap
      ops.PUSH_LOCAL_FRAME,    -- 54: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 55: get_slot_direct(186)
      ops.PUSH_LOCAL_FRAME,    -- 57: push_local_frame
      ops.GET_SLOT_DIRECT, 187,-- 58: get_slot_direct(187)
      ops.PUSH_LOCAL_FRAME,    -- 60: push_local_frame
      ops.GET_SLOT_DIRECT, 188,-- 61: get_slot_direct(188)
      ops.INVOKE, 3,           -- 63: invoke(3)
      ops.POP,                 -- 65: pop
      ops.PUSH_LITERAL, 0,     -- 66: push_literal(0)
      ops.RETURN               -- 68: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 34,
    nargs = 3,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 186,-- 8: set_slot_direct(186)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 187,-- 15: set_slot_direct(187)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT, 136,-- 18: get_slot_direct(136)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.SWAP,                -- 21: swap
      ops.SET_SLOT_DIRECT, 188,-- 22: set_slot_direct(188)
      ops.POP,                 -- 24: pop
      ops.PUSH_LITERAL, 0,     -- 25: push_literal(0)
      ops.RETURN               -- 27: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 35,
    nargs = 3,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 186,-- 8: set_slot_direct(186)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 190,-- 15: set_slot_direct(190)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT, 136,-- 18: get_slot_direct(136)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.SWAP,                -- 21: swap
      ops.SET_SLOT_DIRECT, 191,-- 22: set_slot_direct(191)
      ops.POP,                 -- 24: pop
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.GET_SLOT_DIRECT, 190,-- 26: get_slot_direct(190)
      ops.DUP,                 -- 28: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 29: get_slot_direct_check(93)
      ops.SWAP,                -- 31: swap
      ops.PUSH_LOCAL_FRAME,    -- 32: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 33: get_slot_direct(186)
      ops.INVOKE, 1,           -- 35: invoke(1)
      ops.RETURN               -- 37: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 36,
    nargs = 3,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 186,-- 8: set_slot_direct(186)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 190,-- 15: set_slot_direct(190)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT, 136,-- 18: get_slot_direct(136)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.SWAP,                -- 21: swap
      ops.SET_SLOT_DIRECT, 191,-- 22: set_slot_direct(191)
      ops.POP,                 -- 24: pop
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.GET_SLOT_DIRECT, 191,-- 26: get_slot_direct(191)
      ops.DUP,                 -- 28: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 29: get_slot_direct_check(93)
      ops.SWAP,                -- 31: swap
      ops.PUSH_LOCAL_FRAME,    -- 32: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 33: get_slot_direct(186)
      ops.INVOKE, 1,           -- 35: invoke(1)
      ops.RETURN               -- 37: return
    }
  },
  ifunc.Function:new{ -- "_make_json"
    name = jsval.newString("_make_json"),
    id = 37,
    nargs = 0,
    max_stack = 4,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 193,-- 3: set_slot_direct(193)
      ops.PUSH_FRAME,          -- 5: push_frame
      ops.PUSH_LITERAL, 0,     -- 6: push_literal(0)
      ops.SET_SLOT_DIRECT, 89, -- 8: set_slot_direct(89)
      ops.PUSH_FRAME,          -- 10: push_frame
      ops.PUSH_LITERAL, 0,     -- 11: push_literal(0)
      ops.SET_SLOT_DIRECT, 194,-- 13: set_slot_direct(194)
      ops.PUSH_FRAME,          -- 15: push_frame
      ops.PUSH_LITERAL, 0,     -- 16: push_literal(0)
      ops.SET_SLOT_DIRECT, 195,-- 18: set_slot_direct(195)
      ops.PUSH_FRAME,          -- 20: push_frame
      ops.PUSH_LITERAL, 0,     -- 21: push_literal(0)
      ops.SET_SLOT_DIRECT, 196,-- 23: set_slot_direct(196)
      ops.PUSH_FRAME,          -- 25: push_frame
      ops.PUSH_LITERAL, 0,     -- 26: push_literal(0)
      ops.SET_SLOT_DIRECT, 197,-- 28: set_slot_direct(197)
      ops.PUSH_FRAME,          -- 30: push_frame
      ops.PUSH_LITERAL, 0,     -- 31: push_literal(0)
      ops.SET_SLOT_DIRECT, 198,-- 33: set_slot_direct(198)
      ops.PUSH_FRAME,          -- 35: push_frame
      ops.PUSH_LITERAL, 0,     -- 36: push_literal(0)
      ops.SET_SLOT_DIRECT, 199,-- 38: set_slot_direct(199)
      ops.PUSH_FRAME,          -- 40: push_frame
      ops.PUSH_LITERAL, 0,     -- 41: push_literal(0)
      ops.SET_SLOT_DIRECT, 200,-- 43: set_slot_direct(200)
      ops.PUSH_FRAME,          -- 45: push_frame
      ops.PUSH_LITERAL, 0,     -- 46: push_literal(0)
      ops.SET_SLOT_DIRECT, 201,-- 48: set_slot_direct(201)
      ops.PUSH_FRAME,          -- 50: push_frame
      ops.PUSH_LITERAL, 0,     -- 51: push_literal(0)
      ops.SET_SLOT_DIRECT, 202,-- 53: set_slot_direct(202)
      ops.PUSH_FRAME,          -- 55: push_frame
      ops.PUSH_LITERAL, 0,     -- 56: push_literal(0)
      ops.SET_SLOT_DIRECT, 203,-- 58: set_slot_direct(203)
      ops.PUSH_FRAME,          -- 60: push_frame
      ops.PUSH_LITERAL, 0,     -- 61: push_literal(0)
      ops.SET_SLOT_DIRECT, 204,-- 63: set_slot_direct(204)
      ops.PUSH_FRAME,          -- 65: push_frame
      ops.PUSH_LITERAL, 0,     -- 66: push_literal(0)
      ops.SET_SLOT_DIRECT, 205,-- 68: set_slot_direct(205)
      ops.PUSH_FRAME,          -- 70: push_frame
      ops.PUSH_LITERAL, 0,     -- 71: push_literal(0)
      ops.SET_SLOT_DIRECT, 206,-- 73: set_slot_direct(206)
      ops.PUSH_FRAME,          -- 75: push_frame
      ops.PUSH_FRAME,          -- 76: push_frame
      ops.GET_SLOT_DIRECT, 68, -- 77: get_slot_direct(68)
      ops.GET_SLOT_DIRECT, 103,-- 79: get_slot_direct(103)
      ops.SET_SLOT_DIRECT, 193,-- 81: set_slot_direct(193)
      ops.PUSH_FRAME,          -- 83: push_frame
      ops.PUSH_FRAME,          -- 84: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 85: get_slot_direct(14)
      ops.GET_SLOT_DIRECT, 11, -- 87: get_slot_direct(11)
      ops.GET_SLOT_DIRECT, 89, -- 89: get_slot_direct(89)
      ops.SET_SLOT_DIRECT, 89, -- 91: set_slot_direct(89)
      ops.PUSH_FRAME,          -- 93: push_frame
      ops.PUSH_FRAME,          -- 94: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 95: get_slot_direct(36)
      ops.GET_SLOT_DIRECT, 11, -- 97: get_slot_direct(11)
      ops.GET_SLOT_DIRECT, 62, -- 99: get_slot_direct(62)
      ops.SET_SLOT_DIRECT, 194,-- 101: set_slot_direct(194)
      ops.PUSH_FRAME,          -- 103: push_frame
      ops.PUSH_FRAME,          -- 104: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 105: get_slot_direct(14)
      ops.GET_SLOT_DIRECT, 119,-- 107: get_slot_direct(119)
      ops.SET_SLOT_DIRECT, 195,-- 109: set_slot_direct(195)
      ops.PUSH_FRAME,          -- 111: push_frame
      ops.PUSH_FRAME,          -- 112: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 113: get_slot_direct(14)
      ops.GET_SLOT_DIRECT, 207,-- 115: get_slot_direct(207)
      ops.SET_SLOT_DIRECT, 196,-- 117: set_slot_direct(196)
      ops.PUSH_FRAME,          -- 119: push_frame
      ops.PUSH_FRAME,          -- 120: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 121: get_slot_direct(13)
      ops.GET_SLOT_DIRECT, 124,-- 123: get_slot_direct(124)
      ops.SET_SLOT_DIRECT, 197,-- 125: set_slot_direct(197)
      ops.PUSH_FRAME,          -- 127: push_frame
      ops.PUSH_FRAME,          -- 128: push_frame
      ops.GET_SLOT_DIRECT, 68, -- 129: get_slot_direct(68)
      ops.GET_SLOT_DIRECT, 11, -- 131: get_slot_direct(11)
      ops.GET_SLOT_DIRECT, 78, -- 133: get_slot_direct(78)
      ops.SET_SLOT_DIRECT, 198,-- 135: set_slot_direct(198)
      ops.PUSH_FRAME,          -- 137: push_frame
      ops.PUSH_FRAME,          -- 138: push_frame
      ops.GET_SLOT_DIRECT, 68, -- 139: get_slot_direct(68)
      ops.GET_SLOT_DIRECT, 11, -- 141: get_slot_direct(11)
      ops.GET_SLOT_DIRECT, 94, -- 143: get_slot_direct(94)
      ops.SET_SLOT_DIRECT, 199,-- 145: set_slot_direct(199)
      ops.PUSH_FRAME,          -- 147: push_frame
      ops.PUSH_LOCAL_FRAME,    -- 148: push_local_frame
      ops.NEW_FUNCTION, 38,    -- 149: new_function(38)
      ops.OVER,                -- 151: over
      ops.SET_SLOT_DIRECT, 208,-- 152: set_slot_direct(208)
      ops.SET_SLOT_DIRECT, 200,-- 154: set_slot_direct(200)
      ops.PUSH_FRAME,          -- 156: push_frame
      ops.NEW_ARRAY,           -- 157: new_array
      ops.SET_SLOT_DIRECT, 201,-- 158: set_slot_direct(201)
      ops.PUSH_FRAME,          -- 160: push_frame
      ops.GET_SLOT_DIRECT, 201,-- 161: get_slot_direct(201)
      ops.PUSH_LITERAL, 174,   -- 163: push_literal(174)
      ops.PUSH_LITERAL, 209,   -- 165: push_literal(209)
      ops.SET_SLOT_INDIRECT,   -- 167: set_slot_indirect
      ops.PUSH_FRAME,          -- 168: push_frame
      ops.GET_SLOT_DIRECT, 201,-- 169: get_slot_direct(201)
      ops.PUSH_LITERAL, 176,   -- 171: push_literal(176)
      ops.PUSH_LITERAL, 210,   -- 173: push_literal(210)
      ops.SET_SLOT_INDIRECT,   -- 175: set_slot_indirect
      ops.PUSH_FRAME,          -- 176: push_frame
      ops.GET_SLOT_DIRECT, 201,-- 177: get_slot_direct(201)
      ops.PUSH_LITERAL, 135,   -- 179: push_literal(135)
      ops.PUSH_LITERAL, 211,   -- 181: push_literal(211)
      ops.SET_SLOT_INDIRECT,   -- 183: set_slot_indirect
      ops.PUSH_FRAME,          -- 184: push_frame
      ops.GET_SLOT_DIRECT, 201,-- 185: get_slot_direct(201)
      ops.PUSH_LITERAL, 181,   -- 187: push_literal(181)
      ops.PUSH_LITERAL, 212,   -- 189: push_literal(212)
      ops.SET_SLOT_INDIRECT,   -- 191: set_slot_indirect
      ops.PUSH_FRAME,          -- 192: push_frame
      ops.GET_SLOT_DIRECT, 201,-- 193: get_slot_direct(201)
      ops.PUSH_LITERAL, 213,   -- 195: push_literal(213)
      ops.PUSH_LITERAL, 214,   -- 197: push_literal(214)
      ops.SET_SLOT_INDIRECT,   -- 199: set_slot_indirect
      ops.PUSH_FRAME,          -- 200: push_frame
      ops.GET_SLOT_DIRECT, 201,-- 201: get_slot_direct(201)
      ops.PUSH_LITERAL, 215,   -- 203: push_literal(215)
      ops.PUSH_LITERAL, 216,   -- 205: push_literal(216)
      ops.SET_SLOT_INDIRECT,   -- 207: set_slot_indirect
      ops.PUSH_FRAME,          -- 208: push_frame
      ops.GET_SLOT_DIRECT, 201,-- 209: get_slot_direct(201)
      ops.PUSH_LITERAL, 217,   -- 211: push_literal(217)
      ops.PUSH_LITERAL, 218,   -- 213: push_literal(218)
      ops.SET_SLOT_INDIRECT,   -- 215: set_slot_indirect
      ops.PUSH_FRAME,          -- 216: push_frame
      ops.PUSH_LOCAL_FRAME,    -- 217: push_local_frame
      ops.NEW_FUNCTION, 39,    -- 218: new_function(39)
      ops.OVER,                -- 220: over
      ops.SET_SLOT_DIRECT, 223,-- 221: set_slot_direct(223)
      ops.SET_SLOT_DIRECT, 202,-- 223: set_slot_direct(202)
      ops.PUSH_FRAME,          -- 225: push_frame
      ops.PUSH_LOCAL_FRAME,    -- 226: push_local_frame
      ops.NEW_FUNCTION, 40,    -- 227: new_function(40)
      ops.OVER,                -- 229: over
      ops.SET_SLOT_DIRECT, 229,-- 230: set_slot_direct(229)
      ops.SET_SLOT_DIRECT, 203,-- 232: set_slot_direct(203)
      ops.PUSH_FRAME,          -- 234: push_frame
      ops.PUSH_LOCAL_FRAME,    -- 235: push_local_frame
      ops.NEW_FUNCTION, 41,    -- 236: new_function(41)
      ops.OVER,                -- 238: over
      ops.SET_SLOT_DIRECT, 250,-- 239: set_slot_direct(250)
      ops.SET_SLOT_DIRECT, 204,-- 241: set_slot_direct(204)
      ops.PUSH_FRAME,          -- 243: push_frame
      ops.PUSH_LOCAL_FRAME,    -- 244: push_local_frame
      ops.NEW_FUNCTION, 43,    -- 245: new_function(43)
      ops.OVER,                -- 247: over
      ops.SET_SLOT_DIRECT, 257,-- 248: set_slot_direct(257)
      ops.SET_SLOT_DIRECT, 205,-- 250: set_slot_direct(205)
      ops.PUSH_FRAME,          -- 252: push_frame
      ops.PUSH_LOCAL_FRAME,    -- 253: push_local_frame
      ops.NEW_FUNCTION, 44,    -- 254: new_function(44)
      ops.OVER,                -- 256: over
      ops.SET_SLOT_DIRECT, 262,-- 257: set_slot_direct(262)
      ops.SET_SLOT_DIRECT, 206,-- 259: set_slot_direct(206)
      ops.PUSH_FRAME,          -- 261: push_frame
      ops.GET_SLOT_DIRECT, 263,-- 262: get_slot_direct(263)
      ops.NEW_FUNCTION, 45,    -- 264: new_function(45)
      ops.SET_SLOT_DIRECT, 271,-- 266: set_slot_direct(271)
      ops.PUSH_LITERAL, 0,     -- 268: push_literal(0)
      ops.RETURN               -- 270: return
    }
  },
  ifunc.Function:new{ -- "_ToIntegerOrInfinity"
    name = jsval.newString("_ToIntegerOrInfinity"),
    id = 38,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 23, -- 8: set_slot_direct(23)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 24, -- 14: set_slot_direct(24)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_FRAME,          -- 17: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 18: get_slot_direct(13)
      ops.UN_TYPEOF,           -- 20: un_typeof
      ops.PUSH_LITERAL, 25,    -- 21: push_literal(25)
      ops.BI_EQ,               -- 23: bi_eq
      ops.JMP_UNLESS, 40, 43,  -- 24: jmp_unless(40,43)
      ops.PUSH_FRAME,          -- 27: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 28: get_slot_direct(13)
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 31: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 33: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 34: get_slot_direct(23)
      ops.INVOKE, 1,           -- 36: invoke(1)
      ops.JMP, 43,             -- 38: jmp(43)
      ops.PUSH_LOCAL_FRAME,    -- 40: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 41: get_slot_direct(23)
      ops.PHI,                 -- 43: phi
      ops.SET_SLOT_DIRECT, 23, -- 44: set_slot_direct(23)
      ops.PUSH_LOCAL_FRAME,    -- 46: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 47: get_slot_direct(23)
      ops.PUSH_LOCAL_FRAME,    -- 49: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 50: get_slot_direct(23)
      ops.BI_EQ,               -- 52: bi_eq
      ops.UN_NOT,              -- 53: un_not
      ops.DUP,                 -- 54: dup
      ops.UN_NOT,              -- 55: un_not
      ops.JMP_UNLESS, 66, 66,  -- 56: jmp_unless(66,66)
      ops.POP,                 -- 59: pop
      ops.PUSH_LOCAL_FRAME,    -- 60: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 61: get_slot_direct(23)
      ops.PUSH_LITERAL, 18,    -- 63: push_literal(18)
      ops.BI_EQ,               -- 65: bi_eq
      ops.PHI,                 -- 66: phi
      ops.JMP_UNLESS, 73, 73,  -- 67: jmp_unless(73,73)
      ops.PUSH_LITERAL, 18,    -- 70: push_literal(18)
      ops.RETURN,              -- 72: return
      ops.PHI,                 -- 73: phi
      ops.PUSH_LOCAL_FRAME,    -- 74: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 75: get_slot_direct(23)
      ops.PUSH_LITERAL, 27,    -- 77: push_literal(27)
      ops.BI_EQ,               -- 79: bi_eq
      ops.DUP,                 -- 80: dup
      ops.UN_NOT,              -- 81: un_not
      ops.JMP_UNLESS, 93, 93,  -- 82: jmp_unless(93,93)
      ops.POP,                 -- 85: pop
      ops.PUSH_LOCAL_FRAME,    -- 86: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 87: get_slot_direct(23)
      ops.PUSH_LITERAL, 27,    -- 89: push_literal(27)
      ops.UN_MINUS,            -- 91: un_minus
      ops.BI_EQ,               -- 92: bi_eq
      ops.PHI,                 -- 93: phi
      ops.JMP_UNLESS, 101, 101,-- 94: jmp_unless(101,101)
      ops.PUSH_LOCAL_FRAME,    -- 97: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 98: get_slot_direct(23)
      ops.RETURN,              -- 100: return
      ops.PHI,                 -- 101: phi
      ops.PUSH_LOCAL_FRAME,    -- 102: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 103: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 104: get_slot_direct(23)
      ops.PUSH_LITERAL, 18,    -- 106: push_literal(18)
      ops.SWAP,                -- 108: swap
      ops.BI_GT,               -- 109: bi_gt
      ops.SET_SLOT_DIRECT, 24, -- 110: set_slot_direct(24)
      ops.PUSH_LOCAL_FRAME,    -- 112: push_local_frame
      ops.PUSH_FRAME,          -- 113: push_frame
      ops.GET_SLOT_DIRECT, 28, -- 114: get_slot_direct(28)
      ops.DUP,                 -- 116: dup
      ops.GET_SLOT_DIRECT_CHECK, 29,-- 117: get_slot_direct_check(29)
      ops.SWAP,                -- 119: swap
      ops.PUSH_LOCAL_FRAME,    -- 120: push_local_frame
      ops.GET_SLOT_DIRECT, 24, -- 121: get_slot_direct(24)
      ops.JMP_UNLESS, 132, 135,-- 123: jmp_unless(132,135)
      ops.PUSH_LOCAL_FRAME,    -- 126: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 127: get_slot_direct(23)
      ops.UN_MINUS,            -- 129: un_minus
      ops.JMP, 135,            -- 130: jmp(135)
      ops.PUSH_LOCAL_FRAME,    -- 132: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 133: get_slot_direct(23)
      ops.PHI,                 -- 135: phi
      ops.INVOKE, 1,           -- 136: invoke(1)
      ops.SET_SLOT_DIRECT, 23, -- 138: set_slot_direct(23)
      ops.PUSH_LOCAL_FRAME,    -- 140: push_local_frame
      ops.GET_SLOT_DIRECT, 24, -- 141: get_slot_direct(24)
      ops.JMP_UNLESS, 152, 155,-- 143: jmp_unless(152,155)
      ops.PUSH_LOCAL_FRAME,    -- 146: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 147: get_slot_direct(23)
      ops.UN_MINUS,            -- 149: un_minus
      ops.JMP, 155,            -- 150: jmp(155)
      ops.PUSH_LOCAL_FRAME,    -- 152: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 153: get_slot_direct(23)
      ops.PHI,                 -- 155: phi
      ops.RETURN               -- 156: return
    }
  },
  ifunc.Function:new{ -- "_UnicodeEscape"
    name = jsval.newString("_UnicodeEscape"),
    id = 39,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 219,-- 8: set_slot_direct(219)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 220,-- 14: set_slot_direct(220)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 17: push_local_frame
      ops.GET_SLOT_DIRECT, 219,-- 18: get_slot_direct(219)
      ops.DUP,                 -- 20: dup
      ops.GET_SLOT_DIRECT_CHECK, 15,-- 21: get_slot_direct_check(15)
      ops.SWAP,                -- 23: swap
      ops.PUSH_LITERAL, 221,   -- 24: push_literal(221)
      ops.INVOKE, 1,           -- 26: invoke(1)
      ops.SET_SLOT_DIRECT, 220,-- 28: set_slot_direct(220)
      ops.JMP_INTO_LOOP, 42, 56,-- 30: jmp_into_loop(42,56)
      ops.PUSH_LOCAL_FRAME,    -- 33: push_local_frame
      ops.PUSH_LITERAL, 140,   -- 34: push_literal(140)
      ops.PUSH_LOCAL_FRAME,    -- 36: push_local_frame
      ops.GET_SLOT_DIRECT, 220,-- 37: get_slot_direct(220)
      ops.BI_ADD,              -- 39: bi_add
      ops.SET_SLOT_DIRECT, 220,-- 40: set_slot_direct(220)
      ops.PHI,                 -- 42: phi
      ops.PUSH_LOCAL_FRAME,    -- 43: push_local_frame
      ops.GET_SLOT_DIRECT, 220,-- 44: get_slot_direct(220)
      ops.GET_SLOT_DIRECT, 55, -- 46: get_slot_direct(55)
      ops.PUSH_LITERAL, 162,   -- 48: push_literal(162)
      ops.SWAP,                -- 50: swap
      ops.BI_GT,               -- 51: bi_gt
      ops.UN_NOT,              -- 52: un_not
      ops.JMP_UNLESS, 33, 56,  -- 53: jmp_unless(33,56)
      ops.PHI,                 -- 56: phi
      ops.PUSH_LITERAL, 222,   -- 57: push_literal(222)
      ops.PUSH_LOCAL_FRAME,    -- 59: push_local_frame
      ops.GET_SLOT_DIRECT, 220,-- 60: get_slot_direct(220)
      ops.BI_ADD,              -- 62: bi_add
      ops.RETURN               -- 63: return
    }
  },
  ifunc.Function:new{ -- "_QuoteJSONString"
    name = jsval.newString("_QuoteJSONString"),
    id = 40,
    nargs = 1,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 224,-- 8: set_slot_direct(224)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 225,-- 14: set_slot_direct(225)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 19: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 22: push_literal(0)
      ops.SET_SLOT_DIRECT, 60, -- 24: set_slot_direct(60)
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.PUSH_LITERAL, 226,   -- 27: push_literal(226)
      ops.SET_SLOT_DIRECT, 225,-- 29: set_slot_direct(225)
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 32: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 34: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 36: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 37: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 38: get_slot_direct(224)
      ops.GET_SLOT_DIRECT, 55, -- 40: get_slot_direct(55)
      ops.SET_SLOT_DIRECT, 60, -- 42: set_slot_direct(60)
      ops.JMP_INTO_LOOP, 355, 368,-- 44: jmp_into_loop(355,368)
      ops.PUSH_LOCAL_FRAME,    -- 47: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 48: push_literal(0)
      ops.SET_SLOT_DIRECT, 227,-- 50: set_slot_direct(227)
      ops.PUSH_LOCAL_FRAME,    -- 52: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 53: push_literal(0)
      ops.SET_SLOT_DIRECT, 87, -- 55: set_slot_direct(87)
      ops.PUSH_LOCAL_FRAME,    -- 57: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 58: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 59: get_slot_direct(224)
      ops.DUP,                 -- 61: dup
      ops.GET_SLOT_DIRECT_CHECK, 43,-- 62: get_slot_direct_check(43)
      ops.SWAP,                -- 64: swap
      ops.PUSH_LOCAL_FRAME,    -- 65: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 66: get_slot_direct(53)
      ops.INVOKE, 1,           -- 68: invoke(1)
      ops.SET_SLOT_DIRECT, 227,-- 70: set_slot_direct(227)
      ops.PUSH_LOCAL_FRAME,    -- 72: push_local_frame
      ops.PUSH_FRAME,          -- 73: push_frame
      ops.GET_SLOT_DIRECT, 201,-- 74: get_slot_direct(201)
      ops.PUSH_LOCAL_FRAME,    -- 76: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 77: get_slot_direct(227)
      ops.GET_SLOT_INDIRECT,   -- 79: get_slot_indirect
      ops.SET_SLOT_DIRECT, 87, -- 80: set_slot_direct(87)
      ops.PUSH_LOCAL_FRAME,    -- 82: push_local_frame
      ops.DUP,                 -- 83: dup
      ops.GET_SLOT_DIRECT, 53, -- 84: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 86: push_literal(31)
      ops.BI_ADD,              -- 88: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 89: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 91: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 92: get_slot_direct(87)
      ops.PUSH_LITERAL, 0,     -- 94: push_literal(0)
      ops.BI_EQ,               -- 96: bi_eq
      ops.UN_NOT,              -- 97: un_not
      ops.JMP_UNLESS, 113, 354,-- 98: jmp_unless(113,354)
      ops.PUSH_LOCAL_FRAME,    -- 101: push_local_frame
      ops.DUP,                 -- 102: dup
      ops.GET_SLOT_DIRECT, 225,-- 103: get_slot_direct(225)
      ops.PUSH_LOCAL_FRAME,    -- 105: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 106: get_slot_direct(87)
      ops.BI_ADD,              -- 108: bi_add
      ops.SET_SLOT_DIRECT, 225,-- 109: set_slot_direct(225)
      ops.JMP, 354,            -- 111: jmp(354)
      ops.PUSH_LOCAL_FRAME,    -- 113: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 114: get_slot_direct(227)
      ops.PUSH_LITERAL, 228,   -- 116: push_literal(228)
      ops.SWAP,                -- 118: swap
      ops.BI_GT,               -- 119: bi_gt
      ops.JMP_UNLESS, 143, 353,-- 120: jmp_unless(143,353)
      ops.PUSH_LOCAL_FRAME,    -- 123: push_local_frame
      ops.DUP,                 -- 124: dup
      ops.GET_SLOT_DIRECT, 225,-- 125: get_slot_direct(225)
      ops.PUSH_FRAME,          -- 127: push_frame
      ops.GET_SLOT_DIRECT, 202,-- 128: get_slot_direct(202)
      ops.PUSH_LOCAL_FRAME,    -- 130: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 131: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 133: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 134: get_slot_direct(227)
      ops.INVOKE, 1,           -- 136: invoke(1)
      ops.BI_ADD,              -- 138: bi_add
      ops.SET_SLOT_DIRECT, 225,-- 139: set_slot_direct(225)
      ops.JMP, 353,            -- 141: jmp(353)
      ops.PUSH_LOCAL_FRAME,    -- 143: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 144: get_slot_direct(227)
      ops.PUSH_LITERAL, 44,    -- 146: push_literal(44)
      ops.BI_GTE,              -- 148: bi_gte
      ops.DUP,                 -- 149: dup
      ops.JMP_UNLESS, 161, 161,-- 150: jmp_unless(161,161)
      ops.POP,                 -- 153: pop
      ops.PUSH_LOCAL_FRAME,    -- 154: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 155: get_slot_direct(227)
      ops.PUSH_LITERAL, 45,    -- 157: push_literal(45)
      ops.SWAP,                -- 159: swap
      ops.BI_GTE,              -- 160: bi_gte
      ops.PHI,                 -- 161: phi
      ops.JMP_UNLESS, 290, 352,-- 162: jmp_unless(290,352)
      ops.PUSH_LOCAL_FRAME,    -- 165: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 166: push_literal(0)
      ops.SET_SLOT_DIRECT, 40, -- 168: set_slot_direct(40)
      ops.PUSH_LOCAL_FRAME,    -- 170: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 171: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 172: get_slot_direct(224)
      ops.DUP,                 -- 174: dup
      ops.GET_SLOT_DIRECT_CHECK, 43,-- 175: get_slot_direct_check(43)
      ops.SWAP,                -- 177: swap
      ops.PUSH_LOCAL_FRAME,    -- 178: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 179: get_slot_direct(53)
      ops.INVOKE, 1,           -- 181: invoke(1)
      ops.SET_SLOT_DIRECT, 40, -- 183: set_slot_direct(40)
      ops.PUSH_LOCAL_FRAME,    -- 185: push_local_frame
      ops.GET_SLOT_DIRECT, 40, -- 186: get_slot_direct(40)
      ops.PUSH_LOCAL_FRAME,    -- 188: push_local_frame
      ops.GET_SLOT_DIRECT, 40, -- 189: get_slot_direct(40)
      ops.BI_EQ,               -- 191: bi_eq
      ops.DUP,                 -- 192: dup
      ops.JMP_UNLESS, 216, 216,-- 193: jmp_unless(216,216)
      ops.POP,                 -- 196: pop
      ops.PUSH_LOCAL_FRAME,    -- 197: push_local_frame
      ops.GET_SLOT_DIRECT, 40, -- 198: get_slot_direct(40)
      ops.PUSH_LITERAL, 46,    -- 200: push_literal(46)
      ops.BI_GTE,              -- 202: bi_gte
      ops.DUP,                 -- 203: dup
      ops.JMP_UNLESS, 215, 215,-- 204: jmp_unless(215,215)
      ops.POP,                 -- 207: pop
      ops.PUSH_LOCAL_FRAME,    -- 208: push_local_frame
      ops.GET_SLOT_DIRECT, 40, -- 209: get_slot_direct(40)
      ops.PUSH_LITERAL, 47,    -- 211: push_literal(47)
      ops.SWAP,                -- 213: swap
      ops.BI_GTE,              -- 214: bi_gte
      ops.PHI,                 -- 215: phi
      ops.PHI,                 -- 216: phi
      ops.JMP_UNLESS, 269, 287,-- 217: jmp_unless(269,287)
      ops.PUSH_LOCAL_FRAME,    -- 220: push_local_frame
      ops.DUP,                 -- 221: dup
      ops.GET_SLOT_DIRECT, 225,-- 222: get_slot_direct(225)
      ops.PUSH_FRAME,          -- 224: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 225: get_slot_direct(36)
      ops.DUP,                 -- 227: dup
      ops.GET_SLOT_DIRECT_CHECK, 145,-- 228: get_slot_direct_check(145)
      ops.SWAP,                -- 230: swap
      ops.PUSH_LOCAL_FRAME,    -- 231: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 232: get_slot_direct(227)
      ops.INVOKE, 1,           -- 234: invoke(1)
      ops.BI_ADD,              -- 236: bi_add
      ops.SET_SLOT_DIRECT, 225,-- 237: set_slot_direct(225)
      ops.PUSH_LOCAL_FRAME,    -- 239: push_local_frame
      ops.DUP,                 -- 240: dup
      ops.GET_SLOT_DIRECT, 225,-- 241: get_slot_direct(225)
      ops.PUSH_FRAME,          -- 243: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 244: get_slot_direct(36)
      ops.DUP,                 -- 246: dup
      ops.GET_SLOT_DIRECT_CHECK, 145,-- 247: get_slot_direct_check(145)
      ops.SWAP,                -- 249: swap
      ops.PUSH_LOCAL_FRAME,    -- 250: push_local_frame
      ops.GET_SLOT_DIRECT, 40, -- 251: get_slot_direct(40)
      ops.INVOKE, 1,           -- 253: invoke(1)
      ops.BI_ADD,              -- 255: bi_add
      ops.SET_SLOT_DIRECT, 225,-- 256: set_slot_direct(225)
      ops.PUSH_LOCAL_FRAME,    -- 258: push_local_frame
      ops.DUP,                 -- 259: dup
      ops.GET_SLOT_DIRECT, 53, -- 260: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 262: push_literal(31)
      ops.BI_ADD,              -- 264: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 265: set_slot_direct(53)
      ops.JMP, 287,            -- 267: jmp(287)
      ops.PUSH_LOCAL_FRAME,    -- 269: push_local_frame
      ops.DUP,                 -- 270: dup
      ops.GET_SLOT_DIRECT, 225,-- 271: get_slot_direct(225)
      ops.PUSH_FRAME,          -- 273: push_frame
      ops.GET_SLOT_DIRECT, 202,-- 274: get_slot_direct(202)
      ops.PUSH_LOCAL_FRAME,    -- 276: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 277: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 279: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 280: get_slot_direct(227)
      ops.INVOKE, 1,           -- 282: invoke(1)
      ops.BI_ADD,              -- 284: bi_add
      ops.SET_SLOT_DIRECT, 225,-- 285: set_slot_direct(225)
      ops.PHI,                 -- 287: phi
      ops.JMP, 352,            -- 288: jmp(352)
      ops.PUSH_LOCAL_FRAME,    -- 290: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 291: get_slot_direct(227)
      ops.PUSH_LITERAL, 46,    -- 293: push_literal(46)
      ops.BI_GTE,              -- 295: bi_gte
      ops.DUP,                 -- 296: dup
      ops.JMP_UNLESS, 308, 308,-- 297: jmp_unless(308,308)
      ops.POP,                 -- 300: pop
      ops.PUSH_LOCAL_FRAME,    -- 301: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 302: get_slot_direct(227)
      ops.PUSH_LITERAL, 47,    -- 304: push_literal(47)
      ops.SWAP,                -- 306: swap
      ops.BI_GTE,              -- 307: bi_gte
      ops.PHI,                 -- 308: phi
      ops.JMP_UNLESS, 332, 351,-- 309: jmp_unless(332,351)
      ops.PUSH_LOCAL_FRAME,    -- 312: push_local_frame
      ops.DUP,                 -- 313: dup
      ops.GET_SLOT_DIRECT, 225,-- 314: get_slot_direct(225)
      ops.PUSH_FRAME,          -- 316: push_frame
      ops.GET_SLOT_DIRECT, 202,-- 317: get_slot_direct(202)
      ops.PUSH_LOCAL_FRAME,    -- 319: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 320: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 322: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 323: get_slot_direct(227)
      ops.INVOKE, 1,           -- 325: invoke(1)
      ops.BI_ADD,              -- 327: bi_add
      ops.SET_SLOT_DIRECT, 225,-- 328: set_slot_direct(225)
      ops.JMP, 351,            -- 330: jmp(351)
      ops.PUSH_LOCAL_FRAME,    -- 332: push_local_frame
      ops.DUP,                 -- 333: dup
      ops.GET_SLOT_DIRECT, 225,-- 334: get_slot_direct(225)
      ops.PUSH_FRAME,          -- 336: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 337: get_slot_direct(36)
      ops.DUP,                 -- 339: dup
      ops.GET_SLOT_DIRECT_CHECK, 145,-- 340: get_slot_direct_check(145)
      ops.SWAP,                -- 342: swap
      ops.PUSH_LOCAL_FRAME,    -- 343: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 344: get_slot_direct(227)
      ops.INVOKE, 1,           -- 346: invoke(1)
      ops.BI_ADD,              -- 348: bi_add
      ops.SET_SLOT_DIRECT, 225,-- 349: set_slot_direct(225)
      ops.PHI,                 -- 351: phi
      ops.PHI,                 -- 352: phi
      ops.PHI,                 -- 353: phi
      ops.PHI,                 -- 354: phi
      ops.PHI,                 -- 355: phi
      ops.PUSH_LOCAL_FRAME,    -- 356: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 357: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 359: push_local_frame
      ops.GET_SLOT_DIRECT, 60, -- 360: get_slot_direct(60)
      ops.SWAP,                -- 362: swap
      ops.BI_GT,               -- 363: bi_gt
      ops.UN_NOT,              -- 364: un_not
      ops.JMP_UNLESS, 47, 368, -- 365: jmp_unless(47,368)
      ops.PHI,                 -- 368: phi
      ops.PUSH_LOCAL_FRAME,    -- 369: push_local_frame
      ops.DUP,                 -- 370: dup
      ops.GET_SLOT_DIRECT, 225,-- 371: get_slot_direct(225)
      ops.PUSH_LITERAL, 226,   -- 373: push_literal(226)
      ops.BI_ADD,              -- 375: bi_add
      ops.SET_SLOT_DIRECT, 225,-- 376: set_slot_direct(225)
      ops.PUSH_LOCAL_FRAME,    -- 378: push_local_frame
      ops.GET_SLOT_DIRECT, 225,-- 379: get_slot_direct(225)
      ops.RETURN               -- 381: return
    }
  },
  ifunc.Function:new{ -- "_SerializeJSONObject"
    name = jsval.newString("_SerializeJSONObject"),
    id = 41,
    nargs = 2,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_FRAME,          -- 6: push_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_FRAME,          -- 13: push_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 224,-- 15: set_slot_direct(224)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 19: push_literal(0)
      ops.SET_SLOT_DIRECT, 231,-- 21: set_slot_direct(231)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 24: push_literal(0)
      ops.SET_SLOT_DIRECT, 232,-- 26: set_slot_direct(232)
      ops.PUSH_FRAME,          -- 28: push_frame
      ops.PUSH_LITERAL, 0,     -- 29: push_literal(0)
      ops.SET_SLOT_DIRECT, 233,-- 31: set_slot_direct(233)
      ops.PUSH_LOCAL_FRAME,    -- 33: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 34: push_literal(0)
      ops.SET_SLOT_DIRECT, 234,-- 36: set_slot_direct(234)
      ops.PUSH_LOCAL_FRAME,    -- 38: push_local_frame
      ops.PUSH_FRAME,          -- 39: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 40: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 235,-- 42: get_slot_direct(235)
      ops.SET_SLOT_DIRECT, 231,-- 44: set_slot_direct(231)
      ops.PUSH_FRAME,          -- 46: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 47: get_slot_direct(230)
      ops.DUP,                 -- 49: dup
      ops.GET_SLOT_DIRECT, 235,-- 50: get_slot_direct(235)
      ops.PUSH_FRAME,          -- 52: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 53: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 236,-- 55: get_slot_direct(236)
      ops.BI_ADD,              -- 57: bi_add
      ops.SET_SLOT_DIRECT, 235,-- 58: set_slot_direct(235)
      ops.PUSH_LOCAL_FRAME,    -- 60: push_local_frame
      ops.PUSH_FRAME,          -- 61: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 62: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 237,-- 64: get_slot_direct(237)
      ops.SET_SLOT_DIRECT, 232,-- 66: set_slot_direct(232)
      ops.PUSH_LOCAL_FRAME,    -- 68: push_local_frame
      ops.GET_SLOT_DIRECT, 232,-- 69: get_slot_direct(232)
      ops.PUSH_LITERAL, 0,     -- 71: push_literal(0)
      ops.BI_EQ,               -- 73: bi_eq
      ops.JMP_UNLESS, 95, 95,  -- 74: jmp_unless(95,95)
      ops.PUSH_LOCAL_FRAME,    -- 77: push_local_frame
      ops.PUSH_FRAME,          -- 78: push_frame
      ops.GET_SLOT_DIRECT, 196,-- 79: get_slot_direct(196)
      ops.DUP,                 -- 81: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 82: get_slot_direct_check(93)
      ops.SWAP,                -- 84: swap
      ops.PUSH_FRAME,          -- 85: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 86: get_slot_direct(14)
      ops.PUSH_FRAME,          -- 88: push_frame
      ops.GET_SLOT_DIRECT, 224,-- 89: get_slot_direct(224)
      ops.INVOKE, 2,           -- 91: invoke(2)
      ops.SET_SLOT_DIRECT, 232,-- 93: set_slot_direct(232)
      ops.PHI,                 -- 95: phi
      ops.PUSH_FRAME,          -- 96: push_frame
      ops.NEW_ARRAY,           -- 97: new_array
      ops.SET_SLOT_DIRECT, 233,-- 98: set_slot_direct(233)
      ops.PUSH_FRAME,          -- 100: push_frame
      ops.GET_SLOT_DIRECT, 199,-- 101: get_slot_direct(199)
      ops.DUP,                 -- 103: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 104: get_slot_direct_check(93)
      ops.SWAP,                -- 106: swap
      ops.PUSH_LOCAL_FRAME,    -- 107: push_local_frame
      ops.GET_SLOT_DIRECT, 232,-- 108: get_slot_direct(232)
      ops.NEW_FUNCTION, 42,    -- 110: new_function(42)
      ops.INVOKE, 2,           -- 112: invoke(2)
      ops.POP,                 -- 114: pop
      ops.PUSH_LOCAL_FRAME,    -- 115: push_local_frame
      ops.PUSH_LITERAL, 243,   -- 116: push_literal(243)
      ops.SET_SLOT_DIRECT, 234,-- 118: set_slot_direct(234)
      ops.PUSH_FRAME,          -- 120: push_frame
      ops.GET_SLOT_DIRECT, 233,-- 121: get_slot_direct(233)
      ops.GET_SLOT_DIRECT, 55, -- 123: get_slot_direct(55)
      ops.JMP_UNLESS, 218, 218,-- 125: jmp_unless(218,218)
      ops.PUSH_FRAME,          -- 128: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 129: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 236,-- 131: get_slot_direct(236)
      ops.PUSH_LITERAL, 66,    -- 133: push_literal(66)
      ops.BI_EQ,               -- 135: bi_eq
      ops.JMP_UNLESS, 164, 217,-- 136: jmp_unless(164,217)
      ops.PUSH_LOCAL_FRAME,    -- 139: push_local_frame
      ops.PUSH_LITERAL, 244,   -- 140: push_literal(244)
      ops.PUSH_FRAME,          -- 142: push_frame
      ops.GET_SLOT_DIRECT, 198,-- 143: get_slot_direct(198)
      ops.DUP,                 -- 145: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 146: get_slot_direct_check(93)
      ops.SWAP,                -- 148: swap
      ops.PUSH_FRAME,          -- 149: push_frame
      ops.GET_SLOT_DIRECT, 233,-- 150: get_slot_direct(233)
      ops.PUSH_LITERAL, 76,    -- 152: push_literal(76)
      ops.INVOKE, 2,           -- 154: invoke(2)
      ops.BI_ADD,              -- 156: bi_add
      ops.PUSH_LITERAL, 245,   -- 157: push_literal(245)
      ops.BI_ADD,              -- 159: bi_add
      ops.SET_SLOT_DIRECT, 234,-- 160: set_slot_direct(234)
      ops.JMP, 217,            -- 162: jmp(217)
      ops.PUSH_LOCAL_FRAME,    -- 164: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 165: push_literal(0)
      ops.SET_SLOT_DIRECT, 246,-- 167: set_slot_direct(246)
      ops.PUSH_LOCAL_FRAME,    -- 169: push_local_frame
      ops.PUSH_LITERAL, 247,   -- 170: push_literal(247)
      ops.PUSH_FRAME,          -- 172: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 173: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 235,-- 175: get_slot_direct(235)
      ops.BI_ADD,              -- 177: bi_add
      ops.SET_SLOT_DIRECT, 246,-- 178: set_slot_direct(246)
      ops.PUSH_LOCAL_FRAME,    -- 180: push_local_frame
      ops.PUSH_LITERAL, 248,   -- 181: push_literal(248)
      ops.PUSH_FRAME,          -- 183: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 184: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 235,-- 186: get_slot_direct(235)
      ops.BI_ADD,              -- 188: bi_add
      ops.PUSH_FRAME,          -- 189: push_frame
      ops.GET_SLOT_DIRECT, 198,-- 190: get_slot_direct(198)
      ops.DUP,                 -- 192: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 193: get_slot_direct_check(93)
      ops.SWAP,                -- 195: swap
      ops.PUSH_FRAME,          -- 196: push_frame
      ops.GET_SLOT_DIRECT, 233,-- 197: get_slot_direct(233)
      ops.PUSH_LOCAL_FRAME,    -- 199: push_local_frame
      ops.GET_SLOT_DIRECT, 246,-- 200: get_slot_direct(246)
      ops.INVOKE, 2,           -- 202: invoke(2)
      ops.BI_ADD,              -- 204: bi_add
      ops.PUSH_LITERAL, 249,   -- 205: push_literal(249)
      ops.BI_ADD,              -- 207: bi_add
      ops.PUSH_LOCAL_FRAME,    -- 208: push_local_frame
      ops.GET_SLOT_DIRECT, 231,-- 209: get_slot_direct(231)
      ops.BI_ADD,              -- 211: bi_add
      ops.PUSH_LITERAL, 245,   -- 212: push_literal(245)
      ops.BI_ADD,              -- 214: bi_add
      ops.SET_SLOT_DIRECT, 234,-- 215: set_slot_direct(234)
      ops.PHI,                 -- 217: phi
      ops.PHI,                 -- 218: phi
      ops.PUSH_FRAME,          -- 219: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 220: get_slot_direct(230)
      ops.PUSH_LOCAL_FRAME,    -- 222: push_local_frame
      ops.GET_SLOT_DIRECT, 231,-- 223: get_slot_direct(231)
      ops.SET_SLOT_DIRECT, 235,-- 225: set_slot_direct(235)
      ops.PUSH_LOCAL_FRAME,    -- 227: push_local_frame
      ops.GET_SLOT_DIRECT, 234,-- 228: get_slot_direct(234)
      ops.RETURN               -- 230: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 42,
    nargs = 1,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 238,-- 8: set_slot_direct(238)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 239,-- 14: set_slot_direct(239)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 240,-- 19: set_slot_direct(240)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.PUSH_FRAME,          -- 22: push_frame
      ops.GET_SLOT_DIRECT, 206,-- 23: get_slot_direct(206)
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 26: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 28: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 29: get_slot_direct(230)
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.GET_SLOT_DIRECT, 238,-- 32: get_slot_direct(238)
      ops.PUSH_FRAME,          -- 34: push_frame
      ops.GET_SLOT_DIRECT, 224,-- 35: get_slot_direct(224)
      ops.INVOKE, 3,           -- 37: invoke(3)
      ops.SET_SLOT_DIRECT, 239,-- 39: set_slot_direct(239)
      ops.PUSH_LOCAL_FRAME,    -- 41: push_local_frame
      ops.GET_SLOT_DIRECT, 239,-- 42: get_slot_direct(239)
      ops.PUSH_LITERAL, 0,     -- 44: push_literal(0)
      ops.BI_EQ,               -- 46: bi_eq
      ops.JMP_UNLESS, 53, 53,  -- 47: jmp_unless(53,53)
      ops.PUSH_LITERAL, 0,     -- 50: push_literal(0)
      ops.RETURN,              -- 52: return
      ops.PHI,                 -- 53: phi
      ops.PUSH_LOCAL_FRAME,    -- 54: push_local_frame
      ops.PUSH_FRAME,          -- 55: push_frame
      ops.GET_SLOT_DIRECT, 203,-- 56: get_slot_direct(203)
      ops.PUSH_LOCAL_FRAME,    -- 58: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 59: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 61: push_local_frame
      ops.GET_SLOT_DIRECT, 238,-- 62: get_slot_direct(238)
      ops.INVOKE, 1,           -- 64: invoke(1)
      ops.PUSH_LITERAL, 241,   -- 66: push_literal(241)
      ops.BI_ADD,              -- 68: bi_add
      ops.SET_SLOT_DIRECT, 240,-- 69: set_slot_direct(240)
      ops.PUSH_FRAME,          -- 71: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 72: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 236,-- 74: get_slot_direct(236)
      ops.PUSH_LITERAL, 66,    -- 76: push_literal(66)
      ops.BI_EQ,               -- 78: bi_eq
      ops.UN_NOT,              -- 79: un_not
      ops.JMP_UNLESS, 92, 92,  -- 80: jmp_unless(92,92)
      ops.PUSH_LOCAL_FRAME,    -- 83: push_local_frame
      ops.DUP,                 -- 84: dup
      ops.GET_SLOT_DIRECT, 240,-- 85: get_slot_direct(240)
      ops.PUSH_LITERAL, 242,   -- 87: push_literal(242)
      ops.BI_ADD,              -- 89: bi_add
      ops.SET_SLOT_DIRECT, 240,-- 90: set_slot_direct(240)
      ops.PHI,                 -- 92: phi
      ops.PUSH_LOCAL_FRAME,    -- 93: push_local_frame
      ops.DUP,                 -- 94: dup
      ops.GET_SLOT_DIRECT, 240,-- 95: get_slot_direct(240)
      ops.PUSH_LOCAL_FRAME,    -- 97: push_local_frame
      ops.GET_SLOT_DIRECT, 239,-- 98: get_slot_direct(239)
      ops.BI_ADD,              -- 100: bi_add
      ops.SET_SLOT_DIRECT, 240,-- 101: set_slot_direct(240)
      ops.PUSH_FRAME,          -- 103: push_frame
      ops.GET_SLOT_DIRECT, 233,-- 104: get_slot_direct(233)
      ops.DUP,                 -- 106: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 107: get_slot_direct_check(69)
      ops.SWAP,                -- 109: swap
      ops.PUSH_LOCAL_FRAME,    -- 110: push_local_frame
      ops.GET_SLOT_DIRECT, 240,-- 111: get_slot_direct(240)
      ops.INVOKE, 1,           -- 113: invoke(1)
      ops.POP,                 -- 115: pop
      ops.PUSH_LITERAL, 0,     -- 116: push_literal(0)
      ops.RETURN               -- 118: return
    }
  },
  ifunc.Function:new{ -- "_SerializeJSONArray"
    name = jsval.newString("_SerializeJSONArray"),
    id = 43,
    nargs = 2,
    max_stack = 7,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 224,-- 15: set_slot_direct(224)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 19: push_literal(0)
      ops.SET_SLOT_DIRECT, 231,-- 21: set_slot_direct(231)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 24: push_literal(0)
      ops.SET_SLOT_DIRECT, 233,-- 26: set_slot_direct(233)
      ops.PUSH_LOCAL_FRAME,    -- 28: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 29: push_literal(0)
      ops.SET_SLOT_DIRECT, 60, -- 31: set_slot_direct(60)
      ops.PUSH_LOCAL_FRAME,    -- 33: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 34: push_literal(0)
      ops.SET_SLOT_DIRECT, 251,-- 36: set_slot_direct(251)
      ops.PUSH_LOCAL_FRAME,    -- 38: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 39: push_literal(0)
      ops.SET_SLOT_DIRECT, 234,-- 41: set_slot_direct(234)
      ops.PUSH_LOCAL_FRAME,    -- 43: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 44: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 45: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 235,-- 47: get_slot_direct(235)
      ops.SET_SLOT_DIRECT, 231,-- 49: set_slot_direct(231)
      ops.PUSH_LOCAL_FRAME,    -- 51: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 52: get_slot_direct(230)
      ops.DUP,                 -- 54: dup
      ops.GET_SLOT_DIRECT, 235,-- 55: get_slot_direct(235)
      ops.PUSH_LOCAL_FRAME,    -- 57: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 58: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 236,-- 60: get_slot_direct(236)
      ops.BI_ADD,              -- 62: bi_add
      ops.SET_SLOT_DIRECT, 235,-- 63: set_slot_direct(235)
      ops.PUSH_LOCAL_FRAME,    -- 65: push_local_frame
      ops.NEW_ARRAY,           -- 66: new_array
      ops.SET_SLOT_DIRECT, 233,-- 67: set_slot_direct(233)
      ops.PUSH_LOCAL_FRAME,    -- 69: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 70: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 71: get_slot_direct(224)
      ops.GET_SLOT_DIRECT, 55, -- 73: get_slot_direct(55)
      ops.SET_SLOT_DIRECT, 60, -- 75: set_slot_direct(60)
      ops.PUSH_LOCAL_FRAME,    -- 77: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 78: push_literal(18)
      ops.SET_SLOT_DIRECT, 251,-- 80: set_slot_direct(251)
      ops.JMP_INTO_LOOP, 164, 177,-- 82: jmp_into_loop(164,177)
      ops.PUSH_LOCAL_FRAME,    -- 85: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 86: push_literal(0)
      ops.SET_SLOT_DIRECT, 239,-- 88: set_slot_direct(239)
      ops.PUSH_LOCAL_FRAME,    -- 90: push_local_frame
      ops.PUSH_FRAME,          -- 91: push_frame
      ops.GET_SLOT_DIRECT, 206,-- 92: get_slot_direct(206)
      ops.PUSH_LOCAL_FRAME,    -- 94: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 95: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 97: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 98: get_slot_direct(230)
      ops.PUSH_FRAME,          -- 100: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 101: get_slot_direct(36)
      ops.PUSH_LOCAL_FRAME,    -- 103: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 104: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 106: push_local_frame
      ops.GET_SLOT_DIRECT, 251,-- 107: get_slot_direct(251)
      ops.INVOKE, 1,           -- 109: invoke(1)
      ops.PUSH_LOCAL_FRAME,    -- 111: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 112: get_slot_direct(224)
      ops.INVOKE, 3,           -- 114: invoke(3)
      ops.SET_SLOT_DIRECT, 239,-- 116: set_slot_direct(239)
      ops.PUSH_LOCAL_FRAME,    -- 118: push_local_frame
      ops.GET_SLOT_DIRECT, 239,-- 119: get_slot_direct(239)
      ops.PUSH_LITERAL, 0,     -- 121: push_literal(0)
      ops.BI_EQ,               -- 123: bi_eq
      ops.JMP_UNLESS, 141, 154,-- 124: jmp_unless(141,154)
      ops.PUSH_LOCAL_FRAME,    -- 127: push_local_frame
      ops.GET_SLOT_DIRECT, 233,-- 128: get_slot_direct(233)
      ops.DUP,                 -- 130: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 131: get_slot_direct_check(69)
      ops.SWAP,                -- 133: swap
      ops.PUSH_LITERAL, 252,   -- 134: push_literal(252)
      ops.INVOKE, 1,           -- 136: invoke(1)
      ops.POP,                 -- 138: pop
      ops.JMP, 154,            -- 139: jmp(154)
      ops.PUSH_LOCAL_FRAME,    -- 141: push_local_frame
      ops.GET_SLOT_DIRECT, 233,-- 142: get_slot_direct(233)
      ops.DUP,                 -- 144: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 145: get_slot_direct_check(69)
      ops.SWAP,                -- 147: swap
      ops.PUSH_LOCAL_FRAME,    -- 148: push_local_frame
      ops.GET_SLOT_DIRECT, 239,-- 149: get_slot_direct(239)
      ops.INVOKE, 1,           -- 151: invoke(1)
      ops.POP,                 -- 153: pop
      ops.PHI,                 -- 154: phi
      ops.PUSH_LOCAL_FRAME,    -- 155: push_local_frame
      ops.DUP,                 -- 156: dup
      ops.GET_SLOT_DIRECT, 251,-- 157: get_slot_direct(251)
      ops.PUSH_LITERAL, 31,    -- 159: push_literal(31)
      ops.BI_ADD,              -- 161: bi_add
      ops.SET_SLOT_DIRECT, 251,-- 162: set_slot_direct(251)
      ops.PHI,                 -- 164: phi
      ops.PUSH_LOCAL_FRAME,    -- 165: push_local_frame
      ops.GET_SLOT_DIRECT, 251,-- 166: get_slot_direct(251)
      ops.PUSH_LOCAL_FRAME,    -- 168: push_local_frame
      ops.GET_SLOT_DIRECT, 60, -- 169: get_slot_direct(60)
      ops.SWAP,                -- 171: swap
      ops.BI_GT,               -- 172: bi_gt
      ops.UN_NOT,              -- 173: un_not
      ops.JMP_UNLESS, 85, 177, -- 174: jmp_unless(85,177)
      ops.PHI,                 -- 177: phi
      ops.PUSH_LOCAL_FRAME,    -- 178: push_local_frame
      ops.PUSH_LITERAL, 253,   -- 179: push_literal(253)
      ops.SET_SLOT_DIRECT, 234,-- 181: set_slot_direct(234)
      ops.PUSH_LOCAL_FRAME,    -- 183: push_local_frame
      ops.GET_SLOT_DIRECT, 233,-- 184: get_slot_direct(233)
      ops.GET_SLOT_DIRECT, 55, -- 186: get_slot_direct(55)
      ops.JMP_UNLESS, 281, 281,-- 188: jmp_unless(281,281)
      ops.PUSH_LOCAL_FRAME,    -- 191: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 192: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 236,-- 194: get_slot_direct(236)
      ops.PUSH_LITERAL, 66,    -- 196: push_literal(66)
      ops.BI_EQ,               -- 198: bi_eq
      ops.JMP_UNLESS, 227, 280,-- 199: jmp_unless(227,280)
      ops.PUSH_LOCAL_FRAME,    -- 202: push_local_frame
      ops.PUSH_LITERAL, 254,   -- 203: push_literal(254)
      ops.PUSH_FRAME,          -- 205: push_frame
      ops.GET_SLOT_DIRECT, 198,-- 206: get_slot_direct(198)
      ops.DUP,                 -- 208: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 209: get_slot_direct_check(93)
      ops.SWAP,                -- 211: swap
      ops.PUSH_LOCAL_FRAME,    -- 212: push_local_frame
      ops.GET_SLOT_DIRECT, 233,-- 213: get_slot_direct(233)
      ops.PUSH_LITERAL, 76,    -- 215: push_literal(76)
      ops.INVOKE, 2,           -- 217: invoke(2)
      ops.BI_ADD,              -- 219: bi_add
      ops.PUSH_LITERAL, 255,   -- 220: push_literal(255)
      ops.BI_ADD,              -- 222: bi_add
      ops.SET_SLOT_DIRECT, 234,-- 223: set_slot_direct(234)
      ops.JMP, 280,            -- 225: jmp(280)
      ops.PUSH_LOCAL_FRAME,    -- 227: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 228: push_literal(0)
      ops.SET_SLOT_DIRECT, 246,-- 230: set_slot_direct(246)
      ops.PUSH_LOCAL_FRAME,    -- 232: push_local_frame
      ops.PUSH_LITERAL, 247,   -- 233: push_literal(247)
      ops.PUSH_LOCAL_FRAME,    -- 235: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 236: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 235,-- 238: get_slot_direct(235)
      ops.BI_ADD,              -- 240: bi_add
      ops.SET_SLOT_DIRECT, 246,-- 241: set_slot_direct(246)
      ops.PUSH_LOCAL_FRAME,    -- 243: push_local_frame
      ops.PUSH_LITERAL, 256,   -- 244: push_literal(256)
      ops.PUSH_LOCAL_FRAME,    -- 246: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 247: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 235,-- 249: get_slot_direct(235)
      ops.BI_ADD,              -- 251: bi_add
      ops.PUSH_FRAME,          -- 252: push_frame
      ops.GET_SLOT_DIRECT, 198,-- 253: get_slot_direct(198)
      ops.DUP,                 -- 255: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 256: get_slot_direct_check(93)
      ops.SWAP,                -- 258: swap
      ops.PUSH_LOCAL_FRAME,    -- 259: push_local_frame
      ops.GET_SLOT_DIRECT, 233,-- 260: get_slot_direct(233)
      ops.PUSH_LOCAL_FRAME,    -- 262: push_local_frame
      ops.GET_SLOT_DIRECT, 246,-- 263: get_slot_direct(246)
      ops.INVOKE, 2,           -- 265: invoke(2)
      ops.BI_ADD,              -- 267: bi_add
      ops.PUSH_LITERAL, 249,   -- 268: push_literal(249)
      ops.BI_ADD,              -- 270: bi_add
      ops.PUSH_LOCAL_FRAME,    -- 271: push_local_frame
      ops.GET_SLOT_DIRECT, 231,-- 272: get_slot_direct(231)
      ops.BI_ADD,              -- 274: bi_add
      ops.PUSH_LITERAL, 255,   -- 275: push_literal(255)
      ops.BI_ADD,              -- 277: bi_add
      ops.SET_SLOT_DIRECT, 234,-- 278: set_slot_direct(234)
      ops.PHI,                 -- 280: phi
      ops.PHI,                 -- 281: phi
      ops.PUSH_LOCAL_FRAME,    -- 282: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 283: get_slot_direct(230)
      ops.PUSH_LOCAL_FRAME,    -- 285: push_local_frame
      ops.GET_SLOT_DIRECT, 231,-- 286: get_slot_direct(231)
      ops.SET_SLOT_DIRECT, 235,-- 288: set_slot_direct(235)
      ops.PUSH_LOCAL_FRAME,    -- 290: push_local_frame
      ops.GET_SLOT_DIRECT, 234,-- 291: get_slot_direct(234)
      ops.RETURN               -- 293: return
    }
  },
  ifunc.Function:new{ -- "_SerializeJSONProperty"
    name = jsval.newString("_SerializeJSONProperty"),
    id = 44,
    nargs = 3,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 258,-- 15: set_slot_direct(258)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT, 136,-- 18: get_slot_direct(136)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.SWAP,                -- 21: swap
      ops.SET_SLOT_DIRECT, 259,-- 22: set_slot_direct(259)
      ops.POP,                 -- 24: pop
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 26: push_literal(0)
      ops.SET_SLOT_DIRECT, 224,-- 28: set_slot_direct(224)
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.GET_SLOT_DIRECT, 259,-- 32: get_slot_direct(259)
      ops.PUSH_LOCAL_FRAME,    -- 34: push_local_frame
      ops.GET_SLOT_DIRECT, 258,-- 35: get_slot_direct(258)
      ops.GET_SLOT_INDIRECT,   -- 37: get_slot_indirect
      ops.SET_SLOT_DIRECT, 224,-- 38: set_slot_direct(224)
      ops.PUSH_LOCAL_FRAME,    -- 40: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 41: get_slot_direct(224)
      ops.PUSH_LITERAL, 41,    -- 43: push_literal(41)
      ops.BI_EQ,               -- 45: bi_eq
      ops.UN_NOT,              -- 46: un_not
      ops.JMP_UNLESS, 92, 92,  -- 47: jmp_unless(92,92)
      ops.PUSH_LOCAL_FRAME,    -- 50: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 51: push_literal(0)
      ops.SET_SLOT_DIRECT, 260,-- 53: set_slot_direct(260)
      ops.PUSH_LOCAL_FRAME,    -- 55: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 56: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 57: get_slot_direct(224)
      ops.GET_SLOT_DIRECT, 260,-- 59: get_slot_direct(260)
      ops.SET_SLOT_DIRECT, 260,-- 61: set_slot_direct(260)
      ops.PUSH_LOCAL_FRAME,    -- 63: push_local_frame
      ops.GET_SLOT_DIRECT, 260,-- 64: get_slot_direct(260)
      ops.UN_TYPEOF,           -- 66: un_typeof
      ops.PUSH_LITERAL, 25,    -- 67: push_literal(25)
      ops.BI_EQ,               -- 69: bi_eq
      ops.JMP_UNLESS, 91, 91,  -- 70: jmp_unless(91,91)
      ops.PUSH_LOCAL_FRAME,    -- 73: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 74: push_local_frame
      ops.GET_SLOT_DIRECT, 260,-- 75: get_slot_direct(260)
      ops.DUP,                 -- 77: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 78: get_slot_direct_check(93)
      ops.SWAP,                -- 80: swap
      ops.PUSH_LOCAL_FRAME,    -- 81: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 82: get_slot_direct(224)
      ops.PUSH_LOCAL_FRAME,    -- 84: push_local_frame
      ops.GET_SLOT_DIRECT, 258,-- 85: get_slot_direct(258)
      ops.INVOKE, 2,           -- 87: invoke(2)
      ops.SET_SLOT_DIRECT, 224,-- 89: set_slot_direct(224)
      ops.PHI,                 -- 91: phi
      ops.PHI,                 -- 92: phi
      ops.PUSH_LOCAL_FRAME,    -- 93: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 94: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 261,-- 96: get_slot_direct(261)
      ops.PUSH_LITERAL, 0,     -- 98: push_literal(0)
      ops.BI_EQ,               -- 100: bi_eq
      ops.UN_NOT,              -- 101: un_not
      ops.JMP_UNLESS, 128, 128,-- 102: jmp_unless(128,128)
      ops.PUSH_LOCAL_FRAME,    -- 105: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 106: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 107: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 261,-- 109: get_slot_direct(261)
      ops.DUP,                 -- 111: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 112: get_slot_direct_check(93)
      ops.SWAP,                -- 114: swap
      ops.PUSH_LOCAL_FRAME,    -- 115: push_local_frame
      ops.GET_SLOT_DIRECT, 259,-- 116: get_slot_direct(259)
      ops.PUSH_LOCAL_FRAME,    -- 118: push_local_frame
      ops.GET_SLOT_DIRECT, 258,-- 119: get_slot_direct(258)
      ops.PUSH_LOCAL_FRAME,    -- 121: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 122: get_slot_direct(224)
      ops.INVOKE, 3,           -- 124: invoke(3)
      ops.SET_SLOT_DIRECT, 224,-- 126: set_slot_direct(224)
      ops.PHI,                 -- 128: phi
      ops.PUSH_LOCAL_FRAME,    -- 129: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 130: get_slot_direct(224)
      ops.PUSH_LITERAL, 41,    -- 132: push_literal(41)
      ops.BI_EQ,               -- 134: bi_eq
      ops.DUP,                 -- 135: dup
      ops.UN_NOT,              -- 136: un_not
      ops.JMP_UNLESS, 160, 160,-- 137: jmp_unless(160,160)
      ops.POP,                 -- 140: pop
      ops.PUSH_LOCAL_FRAME,    -- 141: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 142: get_slot_direct(224)
      ops.PUSH_LITERAL, 118,   -- 144: push_literal(118)
      ops.BI_EQ,               -- 146: bi_eq
      ops.DUP,                 -- 147: dup
      ops.UN_NOT,              -- 148: un_not
      ops.JMP_UNLESS, 159, 159,-- 149: jmp_unless(159,159)
      ops.POP,                 -- 152: pop
      ops.PUSH_LOCAL_FRAME,    -- 153: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 154: get_slot_direct(224)
      ops.PUSH_LITERAL, 32,    -- 156: push_literal(32)
      ops.BI_EQ,               -- 158: bi_eq
      ops.PHI,                 -- 159: phi
      ops.PHI,                 -- 160: phi
      ops.JMP_UNLESS, 176, 176,-- 161: jmp_unless(176,176)
      ops.PUSH_FRAME,          -- 164: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 165: get_slot_direct(36)
      ops.PUSH_LOCAL_FRAME,    -- 167: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 168: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 170: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 171: get_slot_direct(224)
      ops.INVOKE, 1,           -- 173: invoke(1)
      ops.RETURN,              -- 175: return
      ops.PHI,                 -- 176: phi
      ops.PUSH_LOCAL_FRAME,    -- 177: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 178: get_slot_direct(224)
      ops.UN_TYPEOF,           -- 180: un_typeof
      ops.PUSH_LITERAL, 38,    -- 181: push_literal(38)
      ops.BI_EQ,               -- 183: bi_eq
      ops.JMP_UNLESS, 199, 199,-- 184: jmp_unless(199,199)
      ops.PUSH_FRAME,          -- 187: push_frame
      ops.GET_SLOT_DIRECT, 203,-- 188: get_slot_direct(203)
      ops.PUSH_LOCAL_FRAME,    -- 190: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 191: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 193: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 194: get_slot_direct(224)
      ops.INVOKE, 1,           -- 196: invoke(1)
      ops.RETURN,              -- 198: return
      ops.PHI,                 -- 199: phi
      ops.PUSH_LOCAL_FRAME,    -- 200: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 201: get_slot_direct(224)
      ops.UN_TYPEOF,           -- 203: un_typeof
      ops.PUSH_LITERAL, 86,    -- 204: push_literal(86)
      ops.BI_EQ,               -- 206: bi_eq
      ops.JMP_UNLESS, 244, 244,-- 207: jmp_unless(244,244)
      ops.PUSH_FRAME,          -- 210: push_frame
      ops.GET_SLOT_DIRECT, 197,-- 211: get_slot_direct(197)
      ops.DUP,                 -- 213: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 214: get_slot_direct_check(93)
      ops.SWAP,                -- 216: swap
      ops.PUSH_FRAME,          -- 217: push_frame
      ops.GET_SLOT_DIRECT, 13, -- 218: get_slot_direct(13)
      ops.PUSH_LOCAL_FRAME,    -- 220: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 221: get_slot_direct(224)
      ops.INVOKE, 2,           -- 223: invoke(2)
      ops.JMP_UNLESS, 240, 240,-- 225: jmp_unless(240,240)
      ops.PUSH_FRAME,          -- 228: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 229: get_slot_direct(36)
      ops.PUSH_LOCAL_FRAME,    -- 231: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 232: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 234: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 235: get_slot_direct(224)
      ops.INVOKE, 1,           -- 237: invoke(1)
      ops.RETURN,              -- 239: return
      ops.PHI,                 -- 240: phi
      ops.PUSH_LITERAL, 252,   -- 241: push_literal(252)
      ops.RETURN,              -- 243: return
      ops.PHI,                 -- 244: phi
      ops.PUSH_FRAME,          -- 245: push_frame
      ops.GET_SLOT_DIRECT, 193,-- 246: get_slot_direct(193)
      ops.DUP,                 -- 248: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 249: get_slot_direct_check(93)
      ops.SWAP,                -- 251: swap
      ops.PUSH_FRAME,          -- 252: push_frame
      ops.GET_SLOT_DIRECT, 68, -- 253: get_slot_direct(68)
      ops.PUSH_LOCAL_FRAME,    -- 255: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 256: get_slot_direct(224)
      ops.INVOKE, 2,           -- 258: invoke(2)
      ops.JMP_UNLESS, 278, 278,-- 260: jmp_unless(278,278)
      ops.PUSH_FRAME,          -- 263: push_frame
      ops.GET_SLOT_DIRECT, 205,-- 264: get_slot_direct(205)
      ops.PUSH_LOCAL_FRAME,    -- 266: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 267: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 269: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 270: get_slot_direct(230)
      ops.PUSH_LOCAL_FRAME,    -- 272: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 273: get_slot_direct(224)
      ops.INVOKE, 2,           -- 275: invoke(2)
      ops.RETURN,              -- 277: return
      ops.PHI,                 -- 278: phi
      ops.PUSH_LOCAL_FRAME,    -- 279: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 280: get_slot_direct(224)
      ops.UN_TYPEOF,           -- 282: un_typeof
      ops.PUSH_LITERAL, 88,    -- 283: push_literal(88)
      ops.BI_EQ,               -- 285: bi_eq
      ops.JMP_UNLESS, 304, 304,-- 286: jmp_unless(304,304)
      ops.PUSH_FRAME,          -- 289: push_frame
      ops.GET_SLOT_DIRECT, 204,-- 290: get_slot_direct(204)
      ops.PUSH_LOCAL_FRAME,    -- 292: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 293: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 295: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 296: get_slot_direct(230)
      ops.PUSH_LOCAL_FRAME,    -- 298: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 299: get_slot_direct(224)
      ops.INVOKE, 2,           -- 301: invoke(2)
      ops.RETURN,              -- 303: return
      ops.PHI,                 -- 304: phi
      ops.PUSH_LITERAL, 0,     -- 305: push_literal(0)
      ops.RETURN               -- 307: return
    }
  },
  ifunc.Function:new{ -- ".stringify"
    name = jsval.newString(".stringify"),
    id = 45,
    nargs = 3,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 224,-- 8: set_slot_direct(224)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 264,-- 15: set_slot_direct(264)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT, 136,-- 18: get_slot_direct(136)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.SWAP,                -- 21: swap
      ops.SET_SLOT_DIRECT, 265,-- 22: set_slot_direct(265)
      ops.POP,                 -- 24: pop
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 26: push_literal(0)
      ops.SET_SLOT_DIRECT, 237,-- 28: set_slot_direct(237)
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 31: push_literal(0)
      ops.SET_SLOT_DIRECT, 261,-- 33: set_slot_direct(261)
      ops.PUSH_LOCAL_FRAME,    -- 35: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 36: push_literal(0)
      ops.SET_SLOT_DIRECT, 236,-- 38: set_slot_direct(236)
      ops.PUSH_LOCAL_FRAME,    -- 40: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 41: push_literal(0)
      ops.SET_SLOT_DIRECT, 266,-- 43: set_slot_direct(266)
      ops.PUSH_LOCAL_FRAME,    -- 45: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 46: push_literal(0)
      ops.SET_SLOT_DIRECT, 230,-- 48: set_slot_direct(230)
      ops.PUSH_LOCAL_FRAME,    -- 50: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 51: push_literal(0)
      ops.SET_SLOT_DIRECT, 237,-- 53: set_slot_direct(237)
      ops.PUSH_LOCAL_FRAME,    -- 55: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 56: push_literal(0)
      ops.SET_SLOT_DIRECT, 261,-- 58: set_slot_direct(261)
      ops.PUSH_LOCAL_FRAME,    -- 60: push_local_frame
      ops.PUSH_LITERAL, 66,    -- 61: push_literal(66)
      ops.SET_SLOT_DIRECT, 236,-- 63: set_slot_direct(236)
      ops.PUSH_LOCAL_FRAME,    -- 65: push_local_frame
      ops.GET_SLOT_DIRECT, 264,-- 66: get_slot_direct(264)
      ops.UN_TYPEOF,           -- 68: un_typeof
      ops.PUSH_LITERAL, 25,    -- 69: push_literal(25)
      ops.BI_EQ,               -- 71: bi_eq
      ops.JMP_UNLESS, 83, 248, -- 72: jmp_unless(83,248)
      ops.PUSH_LOCAL_FRAME,    -- 75: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 76: push_local_frame
      ops.GET_SLOT_DIRECT, 264,-- 77: get_slot_direct(264)
      ops.SET_SLOT_DIRECT, 261,-- 79: set_slot_direct(261)
      ops.JMP, 248,            -- 81: jmp(248)
      ops.PUSH_FRAME,          -- 83: push_frame
      ops.GET_SLOT_DIRECT, 193,-- 84: get_slot_direct(193)
      ops.DUP,                 -- 86: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 87: get_slot_direct_check(93)
      ops.SWAP,                -- 89: swap
      ops.PUSH_FRAME,          -- 90: push_frame
      ops.GET_SLOT_DIRECT, 68, -- 91: get_slot_direct(68)
      ops.PUSH_LOCAL_FRAME,    -- 93: push_local_frame
      ops.GET_SLOT_DIRECT, 264,-- 94: get_slot_direct(264)
      ops.INVOKE, 2,           -- 96: invoke(2)
      ops.JMP_UNLESS, 247, 247,-- 98: jmp_unless(247,247)
      ops.PUSH_LOCAL_FRAME,    -- 101: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 102: push_literal(0)
      ops.SET_SLOT_DIRECT, 60, -- 104: set_slot_direct(60)
      ops.PUSH_LOCAL_FRAME,    -- 106: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 107: push_literal(0)
      ops.SET_SLOT_DIRECT, 74, -- 109: set_slot_direct(74)
      ops.PUSH_LOCAL_FRAME,    -- 111: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 112: push_literal(0)
      ops.SET_SLOT_DIRECT, 267,-- 114: set_slot_direct(267)
      ops.PUSH_LOCAL_FRAME,    -- 116: push_local_frame
      ops.NEW_ARRAY,           -- 117: new_array
      ops.SET_SLOT_DIRECT, 237,-- 118: set_slot_direct(237)
      ops.PUSH_LOCAL_FRAME,    -- 120: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 121: push_local_frame
      ops.GET_SLOT_DIRECT, 264,-- 122: get_slot_direct(264)
      ops.GET_SLOT_DIRECT, 55, -- 124: get_slot_direct(55)
      ops.SET_SLOT_DIRECT, 60, -- 126: set_slot_direct(60)
      ops.PUSH_LOCAL_FRAME,    -- 128: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 129: push_literal(18)
      ops.SET_SLOT_DIRECT, 74, -- 131: set_slot_direct(74)
      ops.PUSH_LOCAL_FRAME,    -- 133: push_local_frame
      ops.PUSH_FRAME,          -- 134: push_frame
      ops.GET_SLOT_DIRECT, 195,-- 135: get_slot_direct(195)
      ops.DUP,                 -- 137: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 138: get_slot_direct_check(93)
      ops.SWAP,                -- 140: swap
      ops.PUSH_FRAME,          -- 141: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 142: get_slot_direct(14)
      ops.PUSH_LITERAL, 41,    -- 144: push_literal(41)
      ops.INVOKE, 2,           -- 146: invoke(2)
      ops.SET_SLOT_DIRECT, 267,-- 148: set_slot_direct(267)
      ops.JMP_INTO_LOOP, 233, 246,-- 150: jmp_into_loop(233,246)
      ops.PUSH_LOCAL_FRAME,    -- 153: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 154: push_literal(0)
      ops.SET_SLOT_DIRECT, 110,-- 156: set_slot_direct(110)
      ops.PUSH_LOCAL_FRAME,    -- 158: push_local_frame
      ops.PUSH_FRAME,          -- 159: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 160: get_slot_direct(36)
      ops.PUSH_LOCAL_FRAME,    -- 162: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 163: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 165: push_local_frame
      ops.GET_SLOT_DIRECT, 264,-- 166: get_slot_direct(264)
      ops.PUSH_LOCAL_FRAME,    -- 168: push_local_frame
      ops.GET_SLOT_DIRECT, 74, -- 169: get_slot_direct(74)
      ops.GET_SLOT_INDIRECT,   -- 171: get_slot_indirect
      ops.INVOKE, 1,           -- 172: invoke(1)
      ops.SET_SLOT_DIRECT, 110,-- 174: set_slot_direct(110)
      ops.PUSH_FRAME,          -- 176: push_frame
      ops.GET_SLOT_DIRECT, 89, -- 177: get_slot_direct(89)
      ops.DUP,                 -- 179: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 180: get_slot_direct_check(93)
      ops.SWAP,                -- 182: swap
      ops.PUSH_LOCAL_FRAME,    -- 183: push_local_frame
      ops.GET_SLOT_DIRECT, 267,-- 184: get_slot_direct(267)
      ops.PUSH_LITERAL, 268,   -- 186: push_literal(268)
      ops.PUSH_LOCAL_FRAME,    -- 188: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 189: get_slot_direct(110)
      ops.BI_ADD,              -- 191: bi_add
      ops.INVOKE, 2,           -- 192: invoke(2)
      ops.UN_NOT,              -- 194: un_not
      ops.JMP_UNLESS, 223, 223,-- 195: jmp_unless(223,223)
      ops.PUSH_LOCAL_FRAME,    -- 198: push_local_frame
      ops.GET_SLOT_DIRECT, 237,-- 199: get_slot_direct(237)
      ops.DUP,                 -- 201: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 202: get_slot_direct_check(69)
      ops.SWAP,                -- 204: swap
      ops.PUSH_LOCAL_FRAME,    -- 205: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 206: get_slot_direct(110)
      ops.INVOKE, 1,           -- 208: invoke(1)
      ops.POP,                 -- 210: pop
      ops.PUSH_LOCAL_FRAME,    -- 211: push_local_frame
      ops.GET_SLOT_DIRECT, 267,-- 212: get_slot_direct(267)
      ops.PUSH_LITERAL, 268,   -- 214: push_literal(268)
      ops.PUSH_LOCAL_FRAME,    -- 216: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 217: get_slot_direct(110)
      ops.BI_ADD,              -- 219: bi_add
      ops.PUSH_LITERAL, 118,   -- 220: push_literal(118)
      ops.SET_SLOT_INDIRECT,   -- 222: set_slot_indirect
      ops.PHI,                 -- 223: phi
      ops.PUSH_LOCAL_FRAME,    -- 224: push_local_frame
      ops.DUP,                 -- 225: dup
      ops.GET_SLOT_DIRECT, 74, -- 226: get_slot_direct(74)
      ops.PUSH_LITERAL, 31,    -- 228: push_literal(31)
      ops.BI_ADD,              -- 230: bi_add
      ops.SET_SLOT_DIRECT, 74, -- 231: set_slot_direct(74)
      ops.PHI,                 -- 233: phi
      ops.PUSH_LOCAL_FRAME,    -- 234: push_local_frame
      ops.GET_SLOT_DIRECT, 74, -- 235: get_slot_direct(74)
      ops.PUSH_LOCAL_FRAME,    -- 237: push_local_frame
      ops.GET_SLOT_DIRECT, 60, -- 238: get_slot_direct(60)
      ops.SWAP,                -- 240: swap
      ops.BI_GT,               -- 241: bi_gt
      ops.UN_NOT,              -- 242: un_not
      ops.JMP_UNLESS, 153, 246,-- 243: jmp_unless(153,246)
      ops.PHI,                 -- 246: phi
      ops.PHI,                 -- 247: phi
      ops.PHI,                 -- 248: phi
      ops.PUSH_LOCAL_FRAME,    -- 249: push_local_frame
      ops.GET_SLOT_DIRECT, 265,-- 250: get_slot_direct(265)
      ops.UN_TYPEOF,           -- 252: un_typeof
      ops.PUSH_LITERAL, 86,    -- 253: push_literal(86)
      ops.BI_EQ,               -- 255: bi_eq
      ops.JMP_UNLESS, 328, 358,-- 256: jmp_unless(328,358)
      ops.PUSH_LOCAL_FRAME,    -- 259: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 260: push_literal(0)
      ops.SET_SLOT_DIRECT, 269,-- 262: set_slot_direct(269)
      ops.PUSH_LOCAL_FRAME,    -- 264: push_local_frame
      ops.PUSH_FRAME,          -- 265: push_frame
      ops.GET_SLOT_DIRECT, 200,-- 266: get_slot_direct(200)
      ops.PUSH_LOCAL_FRAME,    -- 268: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 269: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 271: push_local_frame
      ops.GET_SLOT_DIRECT, 265,-- 272: get_slot_direct(265)
      ops.INVOKE, 1,           -- 274: invoke(1)
      ops.SET_SLOT_DIRECT, 269,-- 276: set_slot_direct(269)
      ops.PUSH_LOCAL_FRAME,    -- 278: push_local_frame
      ops.GET_SLOT_DIRECT, 269,-- 279: get_slot_direct(269)
      ops.PUSH_LITERAL, 135,   -- 281: push_literal(135)
      ops.BI_GT,               -- 283: bi_gt
      ops.JMP_UNLESS, 292, 292,-- 284: jmp_unless(292,292)
      ops.PUSH_LOCAL_FRAME,    -- 287: push_local_frame
      ops.PUSH_LITERAL, 135,   -- 288: push_literal(135)
      ops.SET_SLOT_DIRECT, 269,-- 290: set_slot_direct(269)
      ops.PHI,                 -- 292: phi
      ops.JMP_INTO_LOOP, 314, 325,-- 293: jmp_into_loop(314,325)
      ops.PUSH_LOCAL_FRAME,    -- 296: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 297: push_local_frame
      ops.GET_SLOT_DIRECT, 236,-- 298: get_slot_direct(236)
      ops.PUSH_LITERAL, 242,   -- 300: push_literal(242)
      ops.BI_ADD,              -- 302: bi_add
      ops.SET_SLOT_DIRECT, 236,-- 303: set_slot_direct(236)
      ops.PUSH_LOCAL_FRAME,    -- 305: push_local_frame
      ops.DUP,                 -- 306: dup
      ops.GET_SLOT_DIRECT, 269,-- 307: get_slot_direct(269)
      ops.PUSH_LITERAL, 31,    -- 309: push_literal(31)
      ops.BI_SUB,              -- 311: bi_sub
      ops.SET_SLOT_DIRECT, 269,-- 312: set_slot_direct(269)
      ops.PHI,                 -- 314: phi
      ops.PUSH_LOCAL_FRAME,    -- 315: push_local_frame
      ops.GET_SLOT_DIRECT, 269,-- 316: get_slot_direct(269)
      ops.PUSH_LITERAL, 31,    -- 318: push_literal(31)
      ops.BI_GTE,              -- 320: bi_gte
      ops.UN_NOT,              -- 321: un_not
      ops.JMP_UNLESS, 296, 325,-- 322: jmp_unless(296,325)
      ops.PHI,                 -- 325: phi
      ops.JMP, 358,            -- 326: jmp(358)
      ops.PUSH_LOCAL_FRAME,    -- 328: push_local_frame
      ops.GET_SLOT_DIRECT, 265,-- 329: get_slot_direct(265)
      ops.UN_TYPEOF,           -- 331: un_typeof
      ops.PUSH_LITERAL, 38,    -- 332: push_literal(38)
      ops.BI_EQ,               -- 334: bi_eq
      ops.JMP_UNLESS, 357, 357,-- 335: jmp_unless(357,357)
      ops.PUSH_LOCAL_FRAME,    -- 338: push_local_frame
      ops.PUSH_FRAME,          -- 339: push_frame
      ops.GET_SLOT_DIRECT, 194,-- 340: get_slot_direct(194)
      ops.DUP,                 -- 342: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 343: get_slot_direct_check(93)
      ops.SWAP,                -- 345: swap
      ops.PUSH_LOCAL_FRAME,    -- 346: push_local_frame
      ops.GET_SLOT_DIRECT, 265,-- 347: get_slot_direct(265)
      ops.PUSH_LITERAL, 18,    -- 349: push_literal(18)
      ops.PUSH_LITERAL, 135,   -- 351: push_literal(135)
      ops.INVOKE, 3,           -- 353: invoke(3)
      ops.SET_SLOT_DIRECT, 236,-- 355: set_slot_direct(236)
      ops.PHI,                 -- 357: phi
      ops.PHI,                 -- 358: phi
      ops.PUSH_LOCAL_FRAME,    -- 359: push_local_frame
      ops.PUSH_FRAME,          -- 360: push_frame
      ops.GET_SLOT_DIRECT, 195,-- 361: get_slot_direct(195)
      ops.DUP,                 -- 363: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 364: get_slot_direct_check(93)
      ops.SWAP,                -- 366: swap
      ops.PUSH_FRAME,          -- 367: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 368: get_slot_direct(14)
      ops.PUSH_LITERAL, 41,    -- 370: push_literal(41)
      ops.INVOKE, 2,           -- 372: invoke(2)
      ops.SET_SLOT_DIRECT, 266,-- 374: set_slot_direct(266)
      ops.PUSH_LOCAL_FRAME,    -- 376: push_local_frame
      ops.GET_SLOT_DIRECT, 266,-- 377: get_slot_direct(266)
      ops.PUSH_LITERAL, 66,    -- 379: push_literal(66)
      ops.PUSH_LOCAL_FRAME,    -- 381: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 382: get_slot_direct(224)
      ops.SET_SLOT_INDIRECT,   -- 384: set_slot_indirect
      ops.PUSH_LOCAL_FRAME,    -- 385: push_local_frame
      ops.NEW_OBJECT,          -- 386: new_object
      ops.DUP,                 -- 387: dup
      ops.PUSH_LOCAL_FRAME,    -- 388: push_local_frame
      ops.GET_SLOT_DIRECT, 261,-- 389: get_slot_direct(261)
      ops.SET_SLOT_DIRECT, 261,-- 391: set_slot_direct(261)
      ops.DUP,                 -- 393: dup
      ops.NEW_ARRAY,           -- 394: new_array
      ops.SET_SLOT_DIRECT, 270,-- 395: set_slot_direct(270)
      ops.DUP,                 -- 397: dup
      ops.PUSH_LITERAL, 66,    -- 398: push_literal(66)
      ops.SET_SLOT_DIRECT, 235,-- 400: set_slot_direct(235)
      ops.DUP,                 -- 402: dup
      ops.PUSH_LOCAL_FRAME,    -- 403: push_local_frame
      ops.GET_SLOT_DIRECT, 236,-- 404: get_slot_direct(236)
      ops.SET_SLOT_DIRECT, 236,-- 406: set_slot_direct(236)
      ops.DUP,                 -- 408: dup
      ops.PUSH_LOCAL_FRAME,    -- 409: push_local_frame
      ops.GET_SLOT_DIRECT, 237,-- 410: get_slot_direct(237)
      ops.SET_SLOT_DIRECT, 237,-- 412: set_slot_direct(237)
      ops.SET_SLOT_DIRECT, 230,-- 414: set_slot_direct(230)
      ops.PUSH_FRAME,          -- 416: push_frame
      ops.GET_SLOT_DIRECT, 206,-- 417: get_slot_direct(206)
      ops.PUSH_LOCAL_FRAME,    -- 419: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 420: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 422: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 423: get_slot_direct(230)
      ops.PUSH_LITERAL, 66,    -- 425: push_literal(66)
      ops.PUSH_LOCAL_FRAME,    -- 427: push_local_frame
      ops.GET_SLOT_DIRECT, 266,-- 428: get_slot_direct(266)
      ops.INVOKE, 3,           -- 430: invoke(3)
      ops.RETURN               -- 432: return
    }
  },
  ifunc.Function:new{ -- "_define"
    name = jsval.newString("_define"),
    id = 46,
    nargs = 3,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 19, -- 8: set_slot_direct(19)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 273,-- 15: set_slot_direct(273)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT, 136,-- 18: get_slot_direct(136)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.SWAP,                -- 21: swap
      ops.SET_SLOT_DIRECT, 274,-- 22: set_slot_direct(274)
      ops.POP,                 -- 24: pop
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 26: push_literal(0)
      ops.SET_SLOT_DIRECT, 275,-- 28: set_slot_direct(275)
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.GET_SLOT_DIRECT, 273,-- 32: get_slot_direct(273)
      ops.DUP,                 -- 34: dup
      ops.GET_SLOT_DIRECT_CHECK, 98,-- 35: get_slot_direct_check(98)
      ops.SWAP,                -- 37: swap
      ops.NEW_FUNCTION, 47,    -- 38: new_function(47)
      ops.INVOKE, 1,           -- 40: invoke(1)
      ops.SET_SLOT_DIRECT, 275,-- 42: set_slot_direct(275)
      ops.PUSH_FRAME,          -- 44: push_frame
      ops.GET_SLOT_DIRECT, 1,  -- 45: get_slot_direct(1)
      ops.PUSH_LOCAL_FRAME,    -- 47: push_local_frame
      ops.GET_SLOT_DIRECT, 19, -- 48: get_slot_direct(19)
      ops.PUSH_LOCAL_FRAME,    -- 50: push_local_frame
      ops.GET_SLOT_DIRECT, 274,-- 51: get_slot_direct(274)
      ops.DUP,                 -- 53: dup
      ops.GET_SLOT_DIRECT_CHECK, 112,-- 54: get_slot_direct_check(112)
      ops.SWAP,                -- 56: swap
      ops.PUSH_LOCAL_FRAME,    -- 57: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 58: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 60: push_local_frame
      ops.GET_SLOT_DIRECT, 275,-- 61: get_slot_direct(275)
      ops.INVOKE, 2,           -- 63: invoke(2)
      ops.SET_SLOT_INDIRECT,   -- 65: set_slot_indirect
      ops.PUSH_LITERAL, 0,     -- 66: push_literal(0)
      ops.RETURN               -- 68: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 47,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 276,-- 8: set_slot_direct(276)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.GET_SLOT_DIRECT, 1,  -- 12: get_slot_direct(1)
      ops.PUSH_LOCAL_FRAME,    -- 14: push_local_frame
      ops.GET_SLOT_DIRECT, 276,-- 15: get_slot_direct(276)
      ops.GET_SLOT_INDIRECT,   -- 17: get_slot_indirect
      ops.RETURN               -- 18: return
    }
  },
  ifunc.Function:new{ -- "make_tokenize"
    name = jsval.newString("make_tokenize"),
    id = 48,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 281,-- 8: set_slot_direct(281)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.NEW_FUNCTION, 49,    -- 12: new_function(49)
      ops.OVER,                -- 14: over
      ops.SET_SLOT_DIRECT, 279,-- 15: set_slot_direct(279)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.GET_SLOT_DIRECT, 279,-- 19: get_slot_direct(279)
      ops.PUSH_LITERAL, 279,   -- 21: push_literal(279)
      ops.SET_SLOT_DIRECT, 321,-- 23: set_slot_direct(321)
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.GET_SLOT_DIRECT, 279,-- 26: get_slot_direct(279)
      ops.PUSH_FRAME,          -- 28: push_frame
      ops.GET_SLOT_DIRECT, 322,-- 29: get_slot_direct(322)
      ops.SET_SLOT_DIRECT, 323,-- 31: set_slot_direct(323)
      ops.PUSH_LOCAL_FRAME,    -- 33: push_local_frame
      ops.GET_SLOT_DIRECT, 279,-- 34: get_slot_direct(279)
      ops.PUSH_LOCAL_FRAME,    -- 36: push_local_frame
      ops.GET_SLOT_DIRECT, 281,-- 37: get_slot_direct(281)
      ops.SET_SLOT_DIRECT, 324,-- 39: set_slot_direct(324)
      ops.PUSH_LOCAL_FRAME,    -- 41: push_local_frame
      ops.GET_SLOT_DIRECT, 279,-- 42: get_slot_direct(279)
      ops.RETURN               -- 44: return
    }
  },
  ifunc.Function:new{ -- "tokenize"
    name = jsval.newString("tokenize"),
    id = 49,
    nargs = 4,
    max_stack = 8,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 186,-- 8: set_slot_direct(186)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 282,-- 15: set_slot_direct(282)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT, 136,-- 18: get_slot_direct(136)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.SWAP,                -- 21: swap
      ops.SET_SLOT_DIRECT, 283,-- 22: set_slot_direct(283)
      ops.DUP,                 -- 24: dup
      ops.GET_SLOT_DIRECT, 159,-- 25: get_slot_direct(159)
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.SWAP,                -- 28: swap
      ops.SET_SLOT_DIRECT, 284,-- 29: set_slot_direct(284)
      ops.POP,                 -- 31: pop
      ops.PUSH_LOCAL_FRAME,    -- 32: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 33: push_literal(0)
      ops.SET_SLOT_DIRECT, 227,-- 35: set_slot_direct(227)
      ops.PUSH_FRAME,          -- 37: push_frame
      ops.PUSH_LITERAL, 0,     -- 38: push_literal(0)
      ops.SET_SLOT_DIRECT, 52, -- 40: set_slot_direct(52)
      ops.PUSH_FRAME,          -- 42: push_frame
      ops.PUSH_LITERAL, 0,     -- 43: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 45: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 47: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 48: push_literal(0)
      ops.SET_SLOT_DIRECT, 55, -- 50: set_slot_direct(55)
      ops.PUSH_LOCAL_FRAME,    -- 52: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 53: push_literal(0)
      ops.SET_SLOT_DIRECT, 23, -- 55: set_slot_direct(23)
      ops.PUSH_LOCAL_FRAME,    -- 57: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 58: push_literal(0)
      ops.SET_SLOT_DIRECT, 285,-- 60: set_slot_direct(285)
      ops.PUSH_LOCAL_FRAME,    -- 62: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 63: push_literal(0)
      ops.SET_SLOT_DIRECT, 63, -- 65: set_slot_direct(63)
      ops.PUSH_LOCAL_FRAME,    -- 67: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 68: push_literal(0)
      ops.SET_SLOT_DIRECT, 75, -- 70: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 72: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 73: push_literal(0)
      ops.SET_SLOT_DIRECT, 286,-- 75: set_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 77: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 78: push_literal(0)
      ops.SET_SLOT_DIRECT, 287,-- 80: set_slot_direct(287)
      ops.PUSH_FRAME,          -- 82: push_frame
      ops.PUSH_LITERAL, 18,    -- 83: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 85: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 87: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 88: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 89: get_slot_direct(186)
      ops.GET_SLOT_DIRECT, 55, -- 91: get_slot_direct(55)
      ops.SET_SLOT_DIRECT, 55, -- 93: set_slot_direct(55)
      ops.PUSH_LOCAL_FRAME,    -- 95: push_local_frame
      ops.NEW_ARRAY,           -- 96: new_array
      ops.SET_SLOT_DIRECT, 75, -- 97: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 99: push_local_frame
      ops.NEW_FUNCTION, 50,    -- 100: new_function(50)
      ops.SET_SLOT_DIRECT, 286,-- 102: set_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 104: push_local_frame
      ops.NEW_FUNCTION, 51,    -- 105: new_function(51)
      ops.SET_SLOT_DIRECT, 287,-- 107: set_slot_direct(287)
      ops.PUSH_LOCAL_FRAME,    -- 109: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 110: get_slot_direct(186)
      ops.UN_NOT,              -- 112: un_not
      ops.JMP_UNLESS, 119, 119,-- 113: jmp_unless(119,119)
      ops.PUSH_LITERAL, 0,     -- 116: push_literal(0)
      ops.RETURN,              -- 118: return
      ops.PHI,                 -- 119: phi
      ops.PUSH_LOCAL_FRAME,    -- 120: push_local_frame
      ops.GET_SLOT_DIRECT, 282,-- 121: get_slot_direct(282)
      ops.UN_TYPEOF,           -- 123: un_typeof
      ops.PUSH_LITERAL, 38,    -- 124: push_literal(38)
      ops.BI_EQ,               -- 126: bi_eq
      ops.UN_NOT,              -- 127: un_not
      ops.JMP_UNLESS, 136, 136,-- 128: jmp_unless(136,136)
      ops.PUSH_LOCAL_FRAME,    -- 131: push_local_frame
      ops.PUSH_LITERAL, 294,   -- 132: push_literal(294)
      ops.SET_SLOT_DIRECT, 282,-- 134: set_slot_direct(282)
      ops.PHI,                 -- 136: phi
      ops.PUSH_LOCAL_FRAME,    -- 137: push_local_frame
      ops.GET_SLOT_DIRECT, 283,-- 138: get_slot_direct(283)
      ops.UN_TYPEOF,           -- 140: un_typeof
      ops.PUSH_LITERAL, 38,    -- 141: push_literal(38)
      ops.BI_EQ,               -- 143: bi_eq
      ops.UN_NOT,              -- 144: un_not
      ops.JMP_UNLESS, 153, 153,-- 145: jmp_unless(153,153)
      ops.PUSH_LOCAL_FRAME,    -- 148: push_local_frame
      ops.PUSH_LITERAL, 295,   -- 149: push_literal(295)
      ops.SET_SLOT_DIRECT, 283,-- 151: set_slot_direct(283)
      ops.PHI,                 -- 153: phi
      ops.PUSH_LOCAL_FRAME,    -- 154: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 155: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 156: get_slot_direct(186)
      ops.DUP,                 -- 158: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 159: get_slot_direct_check(56)
      ops.SWAP,                -- 161: swap
      ops.PUSH_FRAME,          -- 162: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 163: get_slot_direct(53)
      ops.INVOKE, 1,           -- 165: invoke(1)
      ops.SET_SLOT_DIRECT, 227,-- 167: set_slot_direct(227)
      ops.JMP_INTO_LOOP, 2321, 2329,-- 169: jmp_into_loop(2321,2329)
      ops.PUSH_FRAME,          -- 172: push_frame
      ops.PUSH_FRAME,          -- 173: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 174: get_slot_direct(53)
      ops.SET_SLOT_DIRECT, 52, -- 176: set_slot_direct(52)
      ops.PUSH_LOCAL_FRAME,    -- 178: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 179: get_slot_direct(227)
      ops.PUSH_LITERAL, 242,   -- 181: push_literal(242)
      ops.SWAP,                -- 183: swap
      ops.BI_GTE,              -- 184: bi_gte
      ops.JMP_UNLESS, 214, 2320,-- 185: jmp_unless(214,2320)
      ops.PUSH_FRAME,          -- 188: push_frame
      ops.DUP,                 -- 189: dup
      ops.GET_SLOT_DIRECT, 53, -- 190: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 192: push_literal(31)
      ops.BI_ADD,              -- 194: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 195: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 197: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 198: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 199: get_slot_direct(186)
      ops.DUP,                 -- 201: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 202: get_slot_direct_check(56)
      ops.SWAP,                -- 204: swap
      ops.PUSH_FRAME,          -- 205: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 206: get_slot_direct(53)
      ops.INVOKE, 1,           -- 208: invoke(1)
      ops.SET_SLOT_DIRECT, 227,-- 210: set_slot_direct(227)
      ops.JMP, 2320,           -- 212: jmp(2320)
      ops.PUSH_LOCAL_FRAME,    -- 214: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 215: get_slot_direct(227)
      ops.PUSH_LITERAL, 296,   -- 217: push_literal(296)
      ops.BI_GTE,              -- 219: bi_gte
      ops.DUP,                 -- 220: dup
      ops.JMP_UNLESS, 232, 232,-- 221: jmp_unless(232,232)
      ops.POP,                 -- 224: pop
      ops.PUSH_LOCAL_FRAME,    -- 225: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 226: get_slot_direct(227)
      ops.PUSH_LITERAL, 297,   -- 228: push_literal(297)
      ops.SWAP,                -- 230: swap
      ops.BI_GTE,              -- 231: bi_gte
      ops.PHI,                 -- 232: phi
      ops.DUP,                 -- 233: dup
      ops.UN_NOT,              -- 234: un_not
      ops.JMP_UNLESS, 284, 284,-- 235: jmp_unless(284,284)
      ops.POP,                 -- 238: pop
      ops.PUSH_LOCAL_FRAME,    -- 239: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 240: get_slot_direct(227)
      ops.PUSH_LITERAL, 298,   -- 242: push_literal(298)
      ops.BI_GTE,              -- 244: bi_gte
      ops.DUP,                 -- 245: dup
      ops.JMP_UNLESS, 257, 257,-- 246: jmp_unless(257,257)
      ops.POP,                 -- 249: pop
      ops.PUSH_LOCAL_FRAME,    -- 250: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 251: get_slot_direct(227)
      ops.PUSH_LITERAL, 299,   -- 253: push_literal(299)
      ops.SWAP,                -- 255: swap
      ops.BI_GTE,              -- 256: bi_gte
      ops.PHI,                 -- 257: phi
      ops.DUP,                 -- 258: dup
      ops.UN_NOT,              -- 259: un_not
      ops.JMP_UNLESS, 283, 283,-- 260: jmp_unless(283,283)
      ops.POP,                 -- 263: pop
      ops.PUSH_LOCAL_FRAME,    -- 264: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 265: get_slot_direct(227)
      ops.PUSH_LITERAL, 268,   -- 267: push_literal(268)
      ops.BI_EQ,               -- 269: bi_eq
      ops.DUP,                 -- 270: dup
      ops.UN_NOT,              -- 271: un_not
      ops.JMP_UNLESS, 282, 282,-- 272: jmp_unless(282,282)
      ops.POP,                 -- 275: pop
      ops.PUSH_LOCAL_FRAME,    -- 276: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 277: get_slot_direct(227)
      ops.PUSH_LITERAL, 300,   -- 279: push_literal(300)
      ops.BI_EQ,               -- 281: bi_eq
      ops.PHI,                 -- 282: phi
      ops.PHI,                 -- 283: phi
      ops.PHI,                 -- 284: phi
      ops.JMP_UNLESS, 478, 2319,-- 285: jmp_unless(478,2319)
      ops.PUSH_LOCAL_FRAME,    -- 288: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 289: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 290: get_slot_direct(227)
      ops.SET_SLOT_DIRECT, 63, -- 292: set_slot_direct(63)
      ops.PUSH_FRAME,          -- 294: push_frame
      ops.DUP,                 -- 295: dup
      ops.GET_SLOT_DIRECT, 53, -- 296: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 298: push_literal(31)
      ops.BI_ADD,              -- 300: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 301: set_slot_direct(53)
      ops.JMP_INTO_LOOP, 445, 452,-- 303: jmp_into_loop(445,452)
      ops.PUSH_LOCAL_FRAME,    -- 306: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 307: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 308: get_slot_direct(186)
      ops.DUP,                 -- 310: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 311: get_slot_direct_check(56)
      ops.SWAP,                -- 313: swap
      ops.PUSH_FRAME,          -- 314: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 315: get_slot_direct(53)
      ops.INVOKE, 1,           -- 317: invoke(1)
      ops.SET_SLOT_DIRECT, 227,-- 319: set_slot_direct(227)
      ops.PUSH_LOCAL_FRAME,    -- 321: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 322: get_slot_direct(227)
      ops.PUSH_LITERAL, 296,   -- 324: push_literal(296)
      ops.BI_GTE,              -- 326: bi_gte
      ops.DUP,                 -- 327: dup
      ops.JMP_UNLESS, 339, 339,-- 328: jmp_unless(339,339)
      ops.POP,                 -- 331: pop
      ops.PUSH_LOCAL_FRAME,    -- 332: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 333: get_slot_direct(227)
      ops.PUSH_LITERAL, 297,   -- 335: push_literal(297)
      ops.SWAP,                -- 337: swap
      ops.BI_GTE,              -- 338: bi_gte
      ops.PHI,                 -- 339: phi
      ops.DUP,                 -- 340: dup
      ops.UN_NOT,              -- 341: un_not
      ops.JMP_UNLESS, 417, 417,-- 342: jmp_unless(417,417)
      ops.POP,                 -- 345: pop
      ops.PUSH_LOCAL_FRAME,    -- 346: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 347: get_slot_direct(227)
      ops.PUSH_LITERAL, 298,   -- 349: push_literal(298)
      ops.BI_GTE,              -- 351: bi_gte
      ops.DUP,                 -- 352: dup
      ops.JMP_UNLESS, 364, 364,-- 353: jmp_unless(364,364)
      ops.POP,                 -- 356: pop
      ops.PUSH_LOCAL_FRAME,    -- 357: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 358: get_slot_direct(227)
      ops.PUSH_LITERAL, 299,   -- 360: push_literal(299)
      ops.SWAP,                -- 362: swap
      ops.BI_GTE,              -- 363: bi_gte
      ops.PHI,                 -- 364: phi
      ops.DUP,                 -- 365: dup
      ops.UN_NOT,              -- 366: un_not
      ops.JMP_UNLESS, 416, 416,-- 367: jmp_unless(416,416)
      ops.POP,                 -- 370: pop
      ops.PUSH_LOCAL_FRAME,    -- 371: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 372: get_slot_direct(227)
      ops.PUSH_LITERAL, 140,   -- 374: push_literal(140)
      ops.BI_GTE,              -- 376: bi_gte
      ops.DUP,                 -- 377: dup
      ops.JMP_UNLESS, 389, 389,-- 378: jmp_unless(389,389)
      ops.POP,                 -- 381: pop
      ops.PUSH_LOCAL_FRAME,    -- 382: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 383: get_slot_direct(227)
      ops.PUSH_LITERAL, 301,   -- 385: push_literal(301)
      ops.SWAP,                -- 387: swap
      ops.BI_GTE,              -- 388: bi_gte
      ops.PHI,                 -- 389: phi
      ops.DUP,                 -- 390: dup
      ops.UN_NOT,              -- 391: un_not
      ops.JMP_UNLESS, 415, 415,-- 392: jmp_unless(415,415)
      ops.POP,                 -- 395: pop
      ops.PUSH_LOCAL_FRAME,    -- 396: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 397: get_slot_direct(227)
      ops.PUSH_LITERAL, 300,   -- 399: push_literal(300)
      ops.BI_EQ,               -- 401: bi_eq
      ops.DUP,                 -- 402: dup
      ops.UN_NOT,              -- 403: un_not
      ops.JMP_UNLESS, 414, 414,-- 404: jmp_unless(414,414)
      ops.POP,                 -- 407: pop
      ops.PUSH_LOCAL_FRAME,    -- 408: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 409: get_slot_direct(227)
      ops.PUSH_LITERAL, 268,   -- 411: push_literal(268)
      ops.BI_EQ,               -- 413: bi_eq
      ops.PHI,                 -- 414: phi
      ops.PHI,                 -- 415: phi
      ops.PHI,                 -- 416: phi
      ops.PHI,                 -- 417: phi
      ops.JMP_UNLESS, 442, 444,-- 418: jmp_unless(442,444)
      ops.PUSH_LOCAL_FRAME,    -- 421: push_local_frame
      ops.DUP,                 -- 422: dup
      ops.GET_SLOT_DIRECT, 63, -- 423: get_slot_direct(63)
      ops.PUSH_LOCAL_FRAME,    -- 425: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 426: get_slot_direct(227)
      ops.BI_ADD,              -- 428: bi_add
      ops.SET_SLOT_DIRECT, 63, -- 429: set_slot_direct(63)
      ops.PUSH_FRAME,          -- 431: push_frame
      ops.DUP,                 -- 432: dup
      ops.GET_SLOT_DIRECT, 53, -- 433: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 435: push_literal(31)
      ops.BI_ADD,              -- 437: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 438: set_slot_direct(53)
      ops.JMP, 444,            -- 440: jmp(444)
      ops.JMP, 452,            -- 442: jmp(452)
      ops.PHI,                 -- 444: phi
      ops.PHI,                 -- 445: phi
      ops.PUSH_LITERAL, 118,   -- 446: push_literal(118)
      ops.UN_NOT,              -- 448: un_not
      ops.JMP_UNLESS, 306, 452,-- 449: jmp_unless(306,452)
      ops.PHI,                 -- 452: phi
      ops.PUSH_LOCAL_FRAME,    -- 453: push_local_frame
      ops.GET_SLOT_DIRECT, 75, -- 454: get_slot_direct(75)
      ops.DUP,                 -- 456: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 457: get_slot_direct_check(69)
      ops.SWAP,                -- 459: swap
      ops.PUSH_LOCAL_FRAME,    -- 460: push_local_frame
      ops.GET_SLOT_DIRECT, 287,-- 461: get_slot_direct(287)
      ops.PUSH_LOCAL_FRAME,    -- 463: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 464: get_slot_direct(26)
      ops.PUSH_LITERAL, 19,    -- 466: push_literal(19)
      ops.PUSH_LOCAL_FRAME,    -- 468: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 469: get_slot_direct(63)
      ops.INVOKE, 2,           -- 471: invoke(2)
      ops.INVOKE, 1,           -- 473: invoke(1)
      ops.POP,                 -- 475: pop
      ops.JMP, 2319,           -- 476: jmp(2319)
      ops.PUSH_LOCAL_FRAME,    -- 478: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 479: get_slot_direct(227)
      ops.PUSH_LITERAL, 140,   -- 481: push_literal(140)
      ops.BI_GTE,              -- 483: bi_gte
      ops.DUP,                 -- 484: dup
      ops.JMP_UNLESS, 496, 496,-- 485: jmp_unless(496,496)
      ops.POP,                 -- 488: pop
      ops.PUSH_LOCAL_FRAME,    -- 489: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 490: get_slot_direct(227)
      ops.PUSH_LITERAL, 301,   -- 492: push_literal(301)
      ops.SWAP,                -- 494: swap
      ops.BI_GTE,              -- 495: bi_gte
      ops.PHI,                 -- 496: phi
      ops.DUP,                 -- 497: dup
      ops.UN_NOT,              -- 498: un_not
      ops.JMP_UNLESS, 558, 558,-- 499: jmp_unless(558,558)
      ops.POP,                 -- 502: pop
      ops.PUSH_LOCAL_FRAME,    -- 503: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 504: get_slot_direct(227)
      ops.PUSH_LITERAL, 149,   -- 506: push_literal(149)
      ops.BI_EQ,               -- 508: bi_eq
      ops.DUP,                 -- 509: dup
      ops.JMP_UNLESS, 557, 557,-- 510: jmp_unless(557,557)
      ops.POP,                 -- 513: pop
      ops.PUSH_LOCAL_FRAME,    -- 514: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 515: get_slot_direct(186)
      ops.DUP,                 -- 517: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 518: get_slot_direct_check(56)
      ops.SWAP,                -- 520: swap
      ops.PUSH_FRAME,          -- 521: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 522: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 524: push_literal(31)
      ops.BI_ADD,              -- 526: bi_add
      ops.INVOKE, 1,           -- 527: invoke(1)
      ops.PUSH_LITERAL, 140,   -- 529: push_literal(140)
      ops.BI_GTE,              -- 531: bi_gte
      ops.DUP,                 -- 532: dup
      ops.JMP_UNLESS, 556, 556,-- 533: jmp_unless(556,556)
      ops.POP,                 -- 536: pop
      ops.PUSH_LOCAL_FRAME,    -- 537: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 538: get_slot_direct(186)
      ops.DUP,                 -- 540: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 541: get_slot_direct_check(56)
      ops.SWAP,                -- 543: swap
      ops.PUSH_FRAME,          -- 544: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 545: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 547: push_literal(31)
      ops.BI_ADD,              -- 549: bi_add
      ops.INVOKE, 1,           -- 550: invoke(1)
      ops.PUSH_LITERAL, 301,   -- 552: push_literal(301)
      ops.SWAP,                -- 554: swap
      ops.BI_GTE,              -- 555: bi_gte
      ops.PHI,                 -- 556: phi
      ops.PHI,                 -- 557: phi
      ops.PHI,                 -- 558: phi
      ops.JMP_UNLESS, 1314, 2318,-- 559: jmp_unless(1314,2318)
      ops.PUSH_LOCAL_FRAME,    -- 562: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 563: get_slot_direct(227)
      ops.PUSH_LITERAL, 149,   -- 565: push_literal(149)
      ops.BI_EQ,               -- 567: bi_eq
      ops.JMP_UNLESS, 578, 790,-- 568: jmp_unless(578,790)
      ops.PUSH_LOCAL_FRAME,    -- 571: push_local_frame
      ops.PUSH_LITERAL, 66,    -- 572: push_literal(66)
      ops.SET_SLOT_DIRECT, 63, -- 574: set_slot_direct(63)
      ops.JMP, 790,            -- 576: jmp(790)
      ops.PUSH_LOCAL_FRAME,    -- 578: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 579: push_literal(0)
      ops.SET_SLOT_DIRECT, 302,-- 581: set_slot_direct(302)
      ops.PUSH_LOCAL_FRAME,    -- 583: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 584: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 585: get_slot_direct(227)
      ops.SET_SLOT_DIRECT, 63, -- 587: set_slot_direct(63)
      ops.PUSH_FRAME,          -- 589: push_frame
      ops.DUP,                 -- 590: dup
      ops.GET_SLOT_DIRECT, 53, -- 591: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 593: push_literal(31)
      ops.BI_ADD,              -- 595: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 596: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 598: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 599: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 600: get_slot_direct(186)
      ops.DUP,                 -- 602: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 603: get_slot_direct_check(56)
      ops.SWAP,                -- 605: swap
      ops.PUSH_FRAME,          -- 606: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 607: get_slot_direct(53)
      ops.INVOKE, 1,           -- 609: invoke(1)
      ops.SET_SLOT_DIRECT, 227,-- 611: set_slot_direct(227)
      ops.PUSH_LOCAL_FRAME,    -- 613: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 614: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 615: get_slot_direct(63)
      ops.PUSH_LITERAL, 140,   -- 617: push_literal(140)
      ops.BI_EQ,               -- 619: bi_eq
      ops.DUP,                 -- 620: dup
      ops.JMP_UNLESS, 631, 631,-- 621: jmp_unless(631,631)
      ops.POP,                 -- 624: pop
      ops.PUSH_LOCAL_FRAME,    -- 625: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 626: get_slot_direct(227)
      ops.PUSH_LITERAL, 128,   -- 628: push_literal(128)
      ops.BI_EQ,               -- 630: bi_eq
      ops.PHI,                 -- 631: phi
      ops.SET_SLOT_DIRECT, 302,-- 632: set_slot_direct(302)
      ops.PUSH_LOCAL_FRAME,    -- 634: push_local_frame
      ops.GET_SLOT_DIRECT, 302,-- 635: get_slot_direct(302)
      ops.JMP_UNLESS, 659, 659,-- 637: jmp_unless(659,659)
      ops.PUSH_LOCAL_FRAME,    -- 640: push_local_frame
      ops.DUP,                 -- 641: dup
      ops.GET_SLOT_DIRECT, 63, -- 642: get_slot_direct(63)
      ops.PUSH_LOCAL_FRAME,    -- 644: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 645: get_slot_direct(227)
      ops.BI_ADD,              -- 647: bi_add
      ops.SET_SLOT_DIRECT, 63, -- 648: set_slot_direct(63)
      ops.PUSH_FRAME,          -- 650: push_frame
      ops.DUP,                 -- 651: dup
      ops.GET_SLOT_DIRECT, 53, -- 652: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 654: push_literal(31)
      ops.BI_ADD,              -- 656: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 657: set_slot_direct(53)
      ops.PHI,                 -- 659: phi
      ops.JMP_INTO_LOOP, 782, 789,-- 660: jmp_into_loop(782,789)
      ops.PUSH_LOCAL_FRAME,    -- 663: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 664: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 665: get_slot_direct(186)
      ops.DUP,                 -- 667: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 668: get_slot_direct_check(56)
      ops.SWAP,                -- 670: swap
      ops.PUSH_FRAME,          -- 671: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 672: get_slot_direct(53)
      ops.INVOKE, 1,           -- 674: invoke(1)
      ops.SET_SLOT_DIRECT, 227,-- 676: set_slot_direct(227)
      ops.PUSH_LOCAL_FRAME,    -- 678: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 679: get_slot_direct(227)
      ops.PUSH_LITERAL, 140,   -- 681: push_literal(140)
      ops.SWAP,                -- 683: swap
      ops.BI_GT,               -- 684: bi_gt
      ops.DUP,                 -- 685: dup
      ops.UN_NOT,              -- 686: un_not
      ops.JMP_UNLESS, 697, 697,-- 687: jmp_unless(697,697)
      ops.POP,                 -- 690: pop
      ops.PUSH_LOCAL_FRAME,    -- 691: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 692: get_slot_direct(227)
      ops.PUSH_LITERAL, 301,   -- 694: push_literal(301)
      ops.BI_GT,               -- 696: bi_gt
      ops.PHI,                 -- 697: phi
      ops.JMP_UNLESS, 762, 762,-- 698: jmp_unless(762,762)
      ops.PUSH_LOCAL_FRAME,    -- 701: push_local_frame
      ops.GET_SLOT_DIRECT, 302,-- 702: get_slot_direct(302)
      ops.DUP,                 -- 704: dup
      ops.JMP_UNLESS, 754, 754,-- 705: jmp_unless(754,754)
      ops.POP,                 -- 708: pop
      ops.PUSH_LOCAL_FRAME,    -- 709: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 710: get_slot_direct(227)
      ops.PUSH_LITERAL, 296,   -- 712: push_literal(296)
      ops.BI_GTE,              -- 714: bi_gte
      ops.DUP,                 -- 715: dup
      ops.JMP_UNLESS, 727, 727,-- 716: jmp_unless(727,727)
      ops.POP,                 -- 719: pop
      ops.PUSH_LOCAL_FRAME,    -- 720: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 721: get_slot_direct(227)
      ops.PUSH_LITERAL, 109,   -- 723: push_literal(109)
      ops.SWAP,                -- 725: swap
      ops.BI_GTE,              -- 726: bi_gte
      ops.PHI,                 -- 727: phi
      ops.DUP,                 -- 728: dup
      ops.UN_NOT,              -- 729: un_not
      ops.JMP_UNLESS, 753, 753,-- 730: jmp_unless(753,753)
      ops.POP,                 -- 733: pop
      ops.PUSH_LOCAL_FRAME,    -- 734: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 735: get_slot_direct(227)
      ops.PUSH_LITERAL, 298,   -- 737: push_literal(298)
      ops.BI_GTE,              -- 739: bi_gte
      ops.DUP,                 -- 740: dup
      ops.JMP_UNLESS, 752, 752,-- 741: jmp_unless(752,752)
      ops.POP,                 -- 744: pop
      ops.PUSH_LOCAL_FRAME,    -- 745: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 746: get_slot_direct(227)
      ops.PUSH_LITERAL, 303,   -- 748: push_literal(303)
      ops.SWAP,                -- 750: swap
      ops.BI_GTE,              -- 751: bi_gte
      ops.PHI,                 -- 752: phi
      ops.PHI,                 -- 753: phi
      ops.PHI,                 -- 754: phi
      ops.UN_NOT,              -- 755: un_not
      ops.JMP_UNLESS, 761, 761,-- 756: jmp_unless(761,761)
      ops.JMP, 789,            -- 759: jmp(789)
      ops.PHI,                 -- 761: phi
      ops.PHI,                 -- 762: phi
      ops.PUSH_FRAME,          -- 763: push_frame
      ops.DUP,                 -- 764: dup
      ops.GET_SLOT_DIRECT, 53, -- 765: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 767: push_literal(31)
      ops.BI_ADD,              -- 769: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 770: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 772: push_local_frame
      ops.DUP,                 -- 773: dup
      ops.GET_SLOT_DIRECT, 63, -- 774: get_slot_direct(63)
      ops.PUSH_LOCAL_FRAME,    -- 776: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 777: get_slot_direct(227)
      ops.BI_ADD,              -- 779: bi_add
      ops.SET_SLOT_DIRECT, 63, -- 780: set_slot_direct(63)
      ops.PHI,                 -- 782: phi
      ops.PUSH_LITERAL, 118,   -- 783: push_literal(118)
      ops.UN_NOT,              -- 785: un_not
      ops.JMP_UNLESS, 663, 789,-- 786: jmp_unless(663,789)
      ops.PHI,                 -- 789: phi
      ops.PHI,                 -- 790: phi
      ops.PUSH_LOCAL_FRAME,    -- 791: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 792: get_slot_direct(227)
      ops.PUSH_LITERAL, 149,   -- 794: push_literal(149)
      ops.BI_EQ,               -- 796: bi_eq
      ops.DUP,                 -- 797: dup
      ops.JMP_UNLESS, 806, 806,-- 798: jmp_unless(806,806)
      ops.POP,                 -- 801: pop
      ops.PUSH_LOCAL_FRAME,    -- 802: push_local_frame
      ops.GET_SLOT_DIRECT, 302,-- 803: get_slot_direct(302)
      ops.UN_NOT,              -- 805: un_not
      ops.PHI,                 -- 806: phi
      ops.JMP_UNLESS, 900, 900,-- 807: jmp_unless(900,900)
      ops.PUSH_FRAME,          -- 810: push_frame
      ops.DUP,                 -- 811: dup
      ops.GET_SLOT_DIRECT, 53, -- 812: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 814: push_literal(31)
      ops.BI_ADD,              -- 816: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 817: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 819: push_local_frame
      ops.DUP,                 -- 820: dup
      ops.GET_SLOT_DIRECT, 63, -- 821: get_slot_direct(63)
      ops.PUSH_LOCAL_FRAME,    -- 823: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 824: get_slot_direct(227)
      ops.BI_ADD,              -- 826: bi_add
      ops.SET_SLOT_DIRECT, 63, -- 827: set_slot_direct(63)
      ops.JMP_INTO_LOOP, 892, 899,-- 829: jmp_into_loop(892,899)
      ops.PUSH_LOCAL_FRAME,    -- 832: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 833: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 834: get_slot_direct(186)
      ops.DUP,                 -- 836: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 837: get_slot_direct_check(56)
      ops.SWAP,                -- 839: swap
      ops.PUSH_FRAME,          -- 840: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 841: get_slot_direct(53)
      ops.INVOKE, 1,           -- 843: invoke(1)
      ops.SET_SLOT_DIRECT, 227,-- 845: set_slot_direct(227)
      ops.PUSH_LOCAL_FRAME,    -- 847: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 848: get_slot_direct(227)
      ops.PUSH_LITERAL, 140,   -- 850: push_literal(140)
      ops.SWAP,                -- 852: swap
      ops.BI_GT,               -- 853: bi_gt
      ops.DUP,                 -- 854: dup
      ops.UN_NOT,              -- 855: un_not
      ops.JMP_UNLESS, 866, 866,-- 856: jmp_unless(866,866)
      ops.POP,                 -- 859: pop
      ops.PUSH_LOCAL_FRAME,    -- 860: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 861: get_slot_direct(227)
      ops.PUSH_LITERAL, 301,   -- 863: push_literal(301)
      ops.BI_GT,               -- 865: bi_gt
      ops.PHI,                 -- 866: phi
      ops.JMP_UNLESS, 872, 872,-- 867: jmp_unless(872,872)
      ops.JMP, 899,            -- 870: jmp(899)
      ops.PHI,                 -- 872: phi
      ops.PUSH_FRAME,          -- 873: push_frame
      ops.DUP,                 -- 874: dup
      ops.GET_SLOT_DIRECT, 53, -- 875: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 877: push_literal(31)
      ops.BI_ADD,              -- 879: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 880: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 882: push_local_frame
      ops.DUP,                 -- 883: dup
      ops.GET_SLOT_DIRECT, 63, -- 884: get_slot_direct(63)
      ops.PUSH_LOCAL_FRAME,    -- 886: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 887: get_slot_direct(227)
      ops.BI_ADD,              -- 889: bi_add
      ops.SET_SLOT_DIRECT, 63, -- 890: set_slot_direct(63)
      ops.PHI,                 -- 892: phi
      ops.PUSH_LITERAL, 118,   -- 893: push_literal(118)
      ops.UN_NOT,              -- 895: un_not
      ops.JMP_UNLESS, 832, 899,-- 896: jmp_unless(832,899)
      ops.PHI,                 -- 899: phi
      ops.PHI,                 -- 900: phi
      ops.PUSH_LOCAL_FRAME,    -- 901: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 902: get_slot_direct(227)
      ops.PUSH_LITERAL, 87,    -- 904: push_literal(87)
      ops.BI_EQ,               -- 906: bi_eq
      ops.DUP,                 -- 907: dup
      ops.UN_NOT,              -- 908: un_not
      ops.JMP_UNLESS, 919, 919,-- 909: jmp_unless(919,919)
      ops.POP,                 -- 912: pop
      ops.PUSH_LOCAL_FRAME,    -- 913: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 914: get_slot_direct(227)
      ops.PUSH_LITERAL, 151,   -- 916: push_literal(151)
      ops.BI_EQ,               -- 918: bi_eq
      ops.PHI,                 -- 919: phi
      ops.DUP,                 -- 920: dup
      ops.JMP_UNLESS, 929, 929,-- 921: jmp_unless(929,929)
      ops.POP,                 -- 924: pop
      ops.PUSH_LOCAL_FRAME,    -- 925: push_local_frame
      ops.GET_SLOT_DIRECT, 302,-- 926: get_slot_direct(302)
      ops.UN_NOT,              -- 928: un_not
      ops.PHI,                 -- 929: phi
      ops.JMP_UNLESS, 1143, 1143,-- 930: jmp_unless(1143,1143)
      ops.PUSH_FRAME,          -- 933: push_frame
      ops.DUP,                 -- 934: dup
      ops.GET_SLOT_DIRECT, 53, -- 935: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 937: push_literal(31)
      ops.BI_ADD,              -- 939: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 940: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 942: push_local_frame
      ops.DUP,                 -- 943: dup
      ops.GET_SLOT_DIRECT, 63, -- 944: get_slot_direct(63)
      ops.PUSH_LOCAL_FRAME,    -- 946: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 947: get_slot_direct(227)
      ops.BI_ADD,              -- 949: bi_add
      ops.SET_SLOT_DIRECT, 63, -- 950: set_slot_direct(63)
      ops.PUSH_LOCAL_FRAME,    -- 952: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 953: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 954: get_slot_direct(186)
      ops.DUP,                 -- 956: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 957: get_slot_direct_check(56)
      ops.SWAP,                -- 959: swap
      ops.PUSH_FRAME,          -- 960: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 961: get_slot_direct(53)
      ops.INVOKE, 1,           -- 963: invoke(1)
      ops.SET_SLOT_DIRECT, 227,-- 965: set_slot_direct(227)
      ops.PUSH_LOCAL_FRAME,    -- 967: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 968: get_slot_direct(227)
      ops.PUSH_LITERAL, 141,   -- 970: push_literal(141)
      ops.BI_EQ,               -- 972: bi_eq
      ops.DUP,                 -- 973: dup
      ops.UN_NOT,              -- 974: un_not
      ops.JMP_UNLESS, 985, 985,-- 975: jmp_unless(985,985)
      ops.POP,                 -- 978: pop
      ops.PUSH_LOCAL_FRAME,    -- 979: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 980: get_slot_direct(227)
      ops.PUSH_LITERAL, 304,   -- 982: push_literal(304)
      ops.BI_EQ,               -- 984: bi_eq
      ops.PHI,                 -- 985: phi
      ops.JMP_UNLESS, 1023, 1023,-- 986: jmp_unless(1023,1023)
      ops.PUSH_FRAME,          -- 989: push_frame
      ops.DUP,                 -- 990: dup
      ops.GET_SLOT_DIRECT, 53, -- 991: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 993: push_literal(31)
      ops.BI_ADD,              -- 995: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 996: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 998: push_local_frame
      ops.DUP,                 -- 999: dup
      ops.GET_SLOT_DIRECT, 63, -- 1000: get_slot_direct(63)
      ops.PUSH_LOCAL_FRAME,    -- 1002: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1003: get_slot_direct(227)
      ops.BI_ADD,              -- 1005: bi_add
      ops.SET_SLOT_DIRECT, 63, -- 1006: set_slot_direct(63)
      ops.PUSH_LOCAL_FRAME,    -- 1008: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 1009: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 1010: get_slot_direct(186)
      ops.DUP,                 -- 1012: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 1013: get_slot_direct_check(56)
      ops.SWAP,                -- 1015: swap
      ops.PUSH_FRAME,          -- 1016: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 1017: get_slot_direct(53)
      ops.INVOKE, 1,           -- 1019: invoke(1)
      ops.SET_SLOT_DIRECT, 227,-- 1021: set_slot_direct(227)
      ops.PHI,                 -- 1023: phi
      ops.PUSH_LOCAL_FRAME,    -- 1024: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1025: get_slot_direct(227)
      ops.PUSH_LITERAL, 140,   -- 1027: push_literal(140)
      ops.SWAP,                -- 1029: swap
      ops.BI_GT,               -- 1030: bi_gt
      ops.DUP,                 -- 1031: dup
      ops.UN_NOT,              -- 1032: un_not
      ops.JMP_UNLESS, 1043, 1043,-- 1033: jmp_unless(1043,1043)
      ops.POP,                 -- 1036: pop
      ops.PUSH_LOCAL_FRAME,    -- 1037: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1038: get_slot_direct(227)
      ops.PUSH_LITERAL, 301,   -- 1040: push_literal(301)
      ops.BI_GT,               -- 1042: bi_gt
      ops.PHI,                 -- 1043: phi
      ops.JMP_UNLESS, 1071, 1071,-- 1044: jmp_unless(1071,1071)
      ops.PUSH_LOCAL_FRAME,    -- 1047: push_local_frame
      ops.GET_SLOT_DIRECT, 286,-- 1048: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 1050: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1051: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 1053: push_local_frame
      ops.GET_SLOT_DIRECT, 287,-- 1054: get_slot_direct(287)
      ops.PUSH_LOCAL_FRAME,    -- 1056: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1057: get_slot_direct(26)
      ops.PUSH_LITERAL, 86,    -- 1059: push_literal(86)
      ops.PUSH_LOCAL_FRAME,    -- 1061: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 1062: get_slot_direct(63)
      ops.INVOKE, 2,           -- 1064: invoke(2)
      ops.PUSH_LITERAL, 305,   -- 1066: push_literal(305)
      ops.INVOKE, 2,           -- 1068: invoke(2)
      ops.POP,                 -- 1070: pop
      ops.PHI,                 -- 1071: phi
      ops.JMP_INTO_LOOP, 1135, 1142,-- 1072: jmp_into_loop(1135,1142)
      ops.PUSH_FRAME,          -- 1075: push_frame
      ops.DUP,                 -- 1076: dup
      ops.GET_SLOT_DIRECT, 53, -- 1077: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 1079: push_literal(31)
      ops.BI_ADD,              -- 1081: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 1082: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 1084: push_local_frame
      ops.DUP,                 -- 1085: dup
      ops.GET_SLOT_DIRECT, 63, -- 1086: get_slot_direct(63)
      ops.PUSH_LOCAL_FRAME,    -- 1088: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1089: get_slot_direct(227)
      ops.BI_ADD,              -- 1091: bi_add
      ops.SET_SLOT_DIRECT, 63, -- 1092: set_slot_direct(63)
      ops.PUSH_LOCAL_FRAME,    -- 1094: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 1095: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 1096: get_slot_direct(186)
      ops.DUP,                 -- 1098: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 1099: get_slot_direct_check(56)
      ops.SWAP,                -- 1101: swap
      ops.PUSH_FRAME,          -- 1102: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 1103: get_slot_direct(53)
      ops.INVOKE, 1,           -- 1105: invoke(1)
      ops.SET_SLOT_DIRECT, 227,-- 1107: set_slot_direct(227)
      ops.PUSH_LOCAL_FRAME,    -- 1109: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1110: get_slot_direct(227)
      ops.PUSH_LITERAL, 140,   -- 1112: push_literal(140)
      ops.BI_GTE,              -- 1114: bi_gte
      ops.DUP,                 -- 1115: dup
      ops.JMP_UNLESS, 1127, 1127,-- 1116: jmp_unless(1127,1127)
      ops.POP,                 -- 1119: pop
      ops.PUSH_LOCAL_FRAME,    -- 1120: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1121: get_slot_direct(227)
      ops.PUSH_LITERAL, 301,   -- 1123: push_literal(301)
      ops.SWAP,                -- 1125: swap
      ops.BI_GTE,              -- 1126: bi_gte
      ops.PHI,                 -- 1127: phi
      ops.UN_NOT,              -- 1128: un_not
      ops.JMP_UNLESS, 1134, 1134,-- 1129: jmp_unless(1134,1134)
      ops.JMP, 1142,           -- 1132: jmp(1142)
      ops.PHI,                 -- 1134: phi
      ops.PHI,                 -- 1135: phi
      ops.PUSH_LITERAL, 118,   -- 1136: push_literal(118)
      ops.UN_NOT,              -- 1138: un_not
      ops.JMP_UNLESS, 1075, 1142,-- 1139: jmp_unless(1075,1142)
      ops.PHI,                 -- 1142: phi
      ops.PHI,                 -- 1143: phi
      ops.PUSH_LOCAL_FRAME,    -- 1144: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1145: get_slot_direct(227)
      ops.PUSH_LITERAL, 296,   -- 1147: push_literal(296)
      ops.BI_GTE,              -- 1149: bi_gte
      ops.DUP,                 -- 1150: dup
      ops.JMP_UNLESS, 1162, 1162,-- 1151: jmp_unless(1162,1162)
      ops.POP,                 -- 1154: pop
      ops.PUSH_LOCAL_FRAME,    -- 1155: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1156: get_slot_direct(227)
      ops.PUSH_LITERAL, 297,   -- 1158: push_literal(297)
      ops.SWAP,                -- 1160: swap
      ops.BI_GTE,              -- 1161: bi_gte
      ops.PHI,                 -- 1162: phi
      ops.JMP_UNLESS, 1209, 1209,-- 1163: jmp_unless(1209,1209)
      ops.PUSH_LOCAL_FRAME,    -- 1166: push_local_frame
      ops.DUP,                 -- 1167: dup
      ops.GET_SLOT_DIRECT, 63, -- 1168: get_slot_direct(63)
      ops.PUSH_LOCAL_FRAME,    -- 1170: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1171: get_slot_direct(227)
      ops.BI_ADD,              -- 1173: bi_add
      ops.SET_SLOT_DIRECT, 63, -- 1174: set_slot_direct(63)
      ops.PUSH_FRAME,          -- 1176: push_frame
      ops.DUP,                 -- 1177: dup
      ops.GET_SLOT_DIRECT, 53, -- 1178: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 1180: push_literal(31)
      ops.BI_ADD,              -- 1182: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 1183: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 1185: push_local_frame
      ops.GET_SLOT_DIRECT, 286,-- 1186: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 1188: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1189: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 1191: push_local_frame
      ops.GET_SLOT_DIRECT, 287,-- 1192: get_slot_direct(287)
      ops.PUSH_LOCAL_FRAME,    -- 1194: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1195: get_slot_direct(26)
      ops.PUSH_LITERAL, 86,    -- 1197: push_literal(86)
      ops.PUSH_LOCAL_FRAME,    -- 1199: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 1200: get_slot_direct(63)
      ops.INVOKE, 2,           -- 1202: invoke(2)
      ops.PUSH_LITERAL, 306,   -- 1204: push_literal(306)
      ops.INVOKE, 2,           -- 1206: invoke(2)
      ops.POP,                 -- 1208: pop
      ops.PHI,                 -- 1209: phi
      ops.PUSH_LOCAL_FRAME,    -- 1210: push_local_frame
      ops.PUSH_LITERAL, 31,    -- 1211: push_literal(31)
      ops.PUSH_LOCAL_FRAME,    -- 1213: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 1214: get_slot_direct(63)
      ops.BI_MUL,              -- 1216: bi_mul
      ops.SET_SLOT_DIRECT, 23, -- 1217: set_slot_direct(23)
      ops.PUSH_FRAME,          -- 1219: push_frame
      ops.GET_SLOT_DIRECT, 124,-- 1220: get_slot_direct(124)
      ops.PUSH_LOCAL_FRAME,    -- 1222: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1223: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 1225: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 1226: get_slot_direct(23)
      ops.INVOKE, 1,           -- 1228: invoke(1)
      ops.JMP_UNLESS, 1287, 1311,-- 1230: jmp_unless(1287,1311)
      ops.PUSH_LOCAL_FRAME,    -- 1233: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 1234: push_literal(0)
      ops.SET_SLOT_DIRECT, 289,-- 1236: set_slot_direct(289)
      ops.PUSH_LOCAL_FRAME,    -- 1238: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 1239: push_local_frame
      ops.GET_SLOT_DIRECT, 287,-- 1240: get_slot_direct(287)
      ops.PUSH_LOCAL_FRAME,    -- 1242: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1243: get_slot_direct(26)
      ops.PUSH_LITERAL, 86,    -- 1245: push_literal(86)
      ops.PUSH_LOCAL_FRAME,    -- 1247: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 1248: get_slot_direct(23)
      ops.INVOKE, 2,           -- 1250: invoke(2)
      ops.SET_SLOT_DIRECT, 289,-- 1252: set_slot_direct(289)
      ops.PUSH_LOCAL_FRAME,    -- 1254: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 1255: get_slot_direct(289)
      ops.PUSH_LOCAL_FRAME,    -- 1257: push_local_frame
      ops.GET_SLOT_DIRECT, 302,-- 1258: get_slot_direct(302)
      ops.JMP_UNLESS, 1267, 1269,-- 1260: jmp_unless(1267,1269)
      ops.PUSH_LITERAL, 221,   -- 1263: push_literal(221)
      ops.JMP, 1269,           -- 1265: jmp(1269)
      ops.PUSH_LITERAL, 135,   -- 1267: push_literal(135)
      ops.PHI,                 -- 1269: phi
      ops.SET_SLOT_DIRECT, 183,-- 1270: set_slot_direct(183)
      ops.PUSH_LOCAL_FRAME,    -- 1272: push_local_frame
      ops.GET_SLOT_DIRECT, 75, -- 1273: get_slot_direct(75)
      ops.DUP,                 -- 1275: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 1276: get_slot_direct_check(69)
      ops.SWAP,                -- 1278: swap
      ops.PUSH_LOCAL_FRAME,    -- 1279: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 1280: get_slot_direct(289)
      ops.INVOKE, 1,           -- 1282: invoke(1)
      ops.POP,                 -- 1284: pop
      ops.JMP, 1311,           -- 1285: jmp(1311)
      ops.PUSH_LOCAL_FRAME,    -- 1287: push_local_frame
      ops.GET_SLOT_DIRECT, 286,-- 1288: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 1290: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1291: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 1293: push_local_frame
      ops.GET_SLOT_DIRECT, 287,-- 1294: get_slot_direct(287)
      ops.PUSH_LOCAL_FRAME,    -- 1296: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1297: get_slot_direct(26)
      ops.PUSH_LITERAL, 86,    -- 1299: push_literal(86)
      ops.PUSH_LOCAL_FRAME,    -- 1301: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 1302: get_slot_direct(63)
      ops.INVOKE, 2,           -- 1304: invoke(2)
      ops.PUSH_LITERAL, 306,   -- 1306: push_literal(306)
      ops.INVOKE, 2,           -- 1308: invoke(2)
      ops.POP,                 -- 1310: pop
      ops.PHI,                 -- 1311: phi
      ops.JMP, 2318,           -- 1312: jmp(2318)
      ops.PUSH_LOCAL_FRAME,    -- 1314: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1315: get_slot_direct(227)
      ops.PUSH_LITERAL, 307,   -- 1317: push_literal(307)
      ops.BI_EQ,               -- 1319: bi_eq
      ops.DUP,                 -- 1320: dup
      ops.UN_NOT,              -- 1321: un_not
      ops.JMP_UNLESS, 1332, 1332,-- 1322: jmp_unless(1332,1332)
      ops.POP,                 -- 1325: pop
      ops.PUSH_LOCAL_FRAME,    -- 1326: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1327: get_slot_direct(227)
      ops.PUSH_LITERAL, 226,   -- 1329: push_literal(226)
      ops.BI_EQ,               -- 1331: bi_eq
      ops.PHI,                 -- 1332: phi
      ops.JMP_UNLESS, 1852, 2317,-- 1333: jmp_unless(1852,2317)
      ops.PUSH_LOCAL_FRAME,    -- 1336: push_local_frame
      ops.PUSH_LITERAL, 66,    -- 1337: push_literal(66)
      ops.SET_SLOT_DIRECT, 63, -- 1339: set_slot_direct(63)
      ops.PUSH_LOCAL_FRAME,    -- 1341: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 1342: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1343: get_slot_direct(227)
      ops.SET_SLOT_DIRECT, 285,-- 1345: set_slot_direct(285)
      ops.PUSH_FRAME,          -- 1347: push_frame
      ops.DUP,                 -- 1348: dup
      ops.GET_SLOT_DIRECT, 53, -- 1349: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 1351: push_literal(31)
      ops.BI_ADD,              -- 1353: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 1354: set_slot_direct(53)
      ops.JMP_INTO_LOOP, 1795, 1802,-- 1356: jmp_into_loop(1795,1802)
      ops.PUSH_LOCAL_FRAME,    -- 1359: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 1360: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 1361: get_slot_direct(186)
      ops.DUP,                 -- 1363: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 1364: get_slot_direct_check(56)
      ops.SWAP,                -- 1366: swap
      ops.PUSH_FRAME,          -- 1367: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 1368: get_slot_direct(53)
      ops.INVOKE, 1,           -- 1370: invoke(1)
      ops.SET_SLOT_DIRECT, 227,-- 1372: set_slot_direct(227)
      ops.PUSH_LOCAL_FRAME,    -- 1374: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1375: get_slot_direct(227)
      ops.PUSH_LITERAL, 242,   -- 1377: push_literal(242)
      ops.SWAP,                -- 1379: swap
      ops.BI_GT,               -- 1380: bi_gt
      ops.JMP_UNLESS, 1448, 1448,-- 1381: jmp_unless(1448,1448)
      ops.PUSH_LOCAL_FRAME,    -- 1384: push_local_frame
      ops.GET_SLOT_DIRECT, 286,-- 1385: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 1387: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1388: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 1390: push_local_frame
      ops.GET_SLOT_DIRECT, 287,-- 1391: get_slot_direct(287)
      ops.PUSH_LOCAL_FRAME,    -- 1393: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1394: get_slot_direct(26)
      ops.PUSH_LITERAL, 38,    -- 1396: push_literal(38)
      ops.PUSH_LOCAL_FRAME,    -- 1398: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 1399: get_slot_direct(63)
      ops.INVOKE, 2,           -- 1401: invoke(2)
      ops.PUSH_LOCAL_FRAME,    -- 1403: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1404: get_slot_direct(227)
      ops.PUSH_LITERAL, 249,   -- 1406: push_literal(249)
      ops.BI_EQ,               -- 1408: bi_eq
      ops.DUP,                 -- 1409: dup
      ops.UN_NOT,              -- 1410: un_not
      ops.JMP_UNLESS, 1434, 1434,-- 1411: jmp_unless(1434,1434)
      ops.POP,                 -- 1414: pop
      ops.PUSH_LOCAL_FRAME,    -- 1415: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1416: get_slot_direct(227)
      ops.PUSH_LITERAL, 308,   -- 1418: push_literal(308)
      ops.BI_EQ,               -- 1420: bi_eq
      ops.DUP,                 -- 1421: dup
      ops.UN_NOT,              -- 1422: un_not
      ops.JMP_UNLESS, 1433, 1433,-- 1423: jmp_unless(1433,1433)
      ops.POP,                 -- 1426: pop
      ops.PUSH_LOCAL_FRAME,    -- 1427: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1428: get_slot_direct(227)
      ops.PUSH_LITERAL, 66,    -- 1430: push_literal(66)
      ops.BI_EQ,               -- 1432: bi_eq
      ops.PHI,                 -- 1433: phi
      ops.PHI,                 -- 1434: phi
      ops.JMP_UNLESS, 1442, 1444,-- 1435: jmp_unless(1442,1444)
      ops.PUSH_LITERAL, 309,   -- 1438: push_literal(309)
      ops.JMP, 1444,           -- 1440: jmp(1444)
      ops.PUSH_LITERAL, 310,   -- 1442: push_literal(310)
      ops.PHI,                 -- 1444: phi
      ops.INVOKE, 2,           -- 1445: invoke(2)
      ops.POP,                 -- 1447: pop
      ops.PHI,                 -- 1448: phi
      ops.PUSH_LOCAL_FRAME,    -- 1449: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1450: get_slot_direct(227)
      ops.PUSH_LOCAL_FRAME,    -- 1452: push_local_frame
      ops.GET_SLOT_DIRECT, 285,-- 1453: get_slot_direct(285)
      ops.BI_EQ,               -- 1455: bi_eq
      ops.JMP_UNLESS, 1461, 1461,-- 1456: jmp_unless(1461,1461)
      ops.JMP, 1802,           -- 1459: jmp(1802)
      ops.PHI,                 -- 1461: phi
      ops.PUSH_LOCAL_FRAME,    -- 1462: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1463: get_slot_direct(227)
      ops.PUSH_LITERAL, 311,   -- 1465: push_literal(311)
      ops.BI_EQ,               -- 1467: bi_eq
      ops.JMP_UNLESS, 1775, 1775,-- 1468: jmp_unless(1775,1775)
      ops.PUSH_FRAME,          -- 1471: push_frame
      ops.DUP,                 -- 1472: dup
      ops.GET_SLOT_DIRECT, 53, -- 1473: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 1475: push_literal(31)
      ops.BI_ADD,              -- 1477: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 1478: set_slot_direct(53)
      ops.PUSH_FRAME,          -- 1480: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 1481: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 1483: push_local_frame
      ops.GET_SLOT_DIRECT, 55, -- 1484: get_slot_direct(55)
      ops.BI_GTE,              -- 1486: bi_gte
      ops.JMP_UNLESS, 1514, 1514,-- 1487: jmp_unless(1514,1514)
      ops.PUSH_LOCAL_FRAME,    -- 1490: push_local_frame
      ops.GET_SLOT_DIRECT, 286,-- 1491: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 1493: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1494: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 1496: push_local_frame
      ops.GET_SLOT_DIRECT, 287,-- 1497: get_slot_direct(287)
      ops.PUSH_LOCAL_FRAME,    -- 1499: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1500: get_slot_direct(26)
      ops.PUSH_LITERAL, 38,    -- 1502: push_literal(38)
      ops.PUSH_LOCAL_FRAME,    -- 1504: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 1505: get_slot_direct(63)
      ops.INVOKE, 2,           -- 1507: invoke(2)
      ops.PUSH_LITERAL, 312,   -- 1509: push_literal(312)
      ops.INVOKE, 2,           -- 1511: invoke(2)
      ops.POP,                 -- 1513: pop
      ops.PHI,                 -- 1514: phi
      ops.PUSH_LOCAL_FRAME,    -- 1515: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 1516: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 1517: get_slot_direct(186)
      ops.DUP,                 -- 1519: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 1520: get_slot_direct_check(56)
      ops.SWAP,                -- 1522: swap
      ops.PUSH_FRAME,          -- 1523: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 1524: get_slot_direct(53)
      ops.INVOKE, 1,           -- 1526: invoke(1)
      ops.SET_SLOT_DIRECT, 227,-- 1528: set_slot_direct(227)
      ops.PUSH_LOCAL_FRAME,    -- 1530: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1531: get_slot_direct(227)
      ops.PUSH_LITERAL, 313,   -- 1533: push_literal(313)
      ops.BI_EQ,               -- 1535: bi_eq
      ops.JMP_UNLESS, 1546, 1774,-- 1536: jmp_unless(1546,1774)
      ops.PUSH_LOCAL_FRAME,    -- 1539: push_local_frame
      ops.PUSH_LITERAL, 314,   -- 1540: push_literal(314)
      ops.SET_SLOT_DIRECT, 227,-- 1542: set_slot_direct(227)
      ops.JMP, 1774,           -- 1544: jmp(1774)
      ops.PUSH_LOCAL_FRAME,    -- 1546: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1547: get_slot_direct(227)
      ops.PUSH_LITERAL, 109,   -- 1549: push_literal(109)
      ops.BI_EQ,               -- 1551: bi_eq
      ops.JMP_UNLESS, 1562, 1773,-- 1552: jmp_unless(1562,1773)
      ops.PUSH_LOCAL_FRAME,    -- 1555: push_local_frame
      ops.PUSH_LITERAL, 315,   -- 1556: push_literal(315)
      ops.SET_SLOT_DIRECT, 227,-- 1558: set_slot_direct(227)
      ops.JMP, 1773,           -- 1560: jmp(1773)
      ops.PUSH_LOCAL_FRAME,    -- 1562: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1563: get_slot_direct(227)
      ops.PUSH_LITERAL, 23,    -- 1565: push_literal(23)
      ops.BI_EQ,               -- 1567: bi_eq
      ops.JMP_UNLESS, 1578, 1772,-- 1568: jmp_unless(1578,1772)
      ops.PUSH_LOCAL_FRAME,    -- 1571: push_local_frame
      ops.PUSH_LITERAL, 249,   -- 1572: push_literal(249)
      ops.SET_SLOT_DIRECT, 227,-- 1574: set_slot_direct(227)
      ops.JMP, 1772,           -- 1576: jmp(1772)
      ops.PUSH_LOCAL_FRAME,    -- 1578: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1579: get_slot_direct(227)
      ops.PUSH_LITERAL, 133,   -- 1581: push_literal(133)
      ops.BI_EQ,               -- 1583: bi_eq
      ops.JMP_UNLESS, 1594, 1771,-- 1584: jmp_unless(1594,1771)
      ops.PUSH_LOCAL_FRAME,    -- 1587: push_local_frame
      ops.PUSH_LITERAL, 308,   -- 1588: push_literal(308)
      ops.SET_SLOT_DIRECT, 227,-- 1590: set_slot_direct(227)
      ops.JMP, 1771,           -- 1592: jmp(1771)
      ops.PUSH_LOCAL_FRAME,    -- 1594: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1595: get_slot_direct(227)
      ops.PUSH_LITERAL, 289,   -- 1597: push_literal(289)
      ops.BI_EQ,               -- 1599: bi_eq
      ops.JMP_UNLESS, 1610, 1770,-- 1600: jmp_unless(1610,1770)
      ops.PUSH_LOCAL_FRAME,    -- 1603: push_local_frame
      ops.PUSH_LITERAL, 316,   -- 1604: push_literal(316)
      ops.SET_SLOT_DIRECT, 227,-- 1606: set_slot_direct(227)
      ops.JMP, 1770,           -- 1608: jmp(1770)
      ops.PUSH_LOCAL_FRAME,    -- 1610: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1611: get_slot_direct(227)
      ops.PUSH_LITERAL, 317,   -- 1613: push_literal(317)
      ops.BI_EQ,               -- 1615: bi_eq
      ops.JMP_UNLESS, 1769, 1769,-- 1616: jmp_unless(1769,1769)
      ops.PUSH_FRAME,          -- 1619: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 1620: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 1622: push_local_frame
      ops.GET_SLOT_DIRECT, 55, -- 1623: get_slot_direct(55)
      ops.BI_GTE,              -- 1625: bi_gte
      ops.JMP_UNLESS, 1653, 1653,-- 1626: jmp_unless(1653,1653)
      ops.PUSH_LOCAL_FRAME,    -- 1629: push_local_frame
      ops.GET_SLOT_DIRECT, 286,-- 1630: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 1632: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1633: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 1635: push_local_frame
      ops.GET_SLOT_DIRECT, 287,-- 1636: get_slot_direct(287)
      ops.PUSH_LOCAL_FRAME,    -- 1638: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1639: get_slot_direct(26)
      ops.PUSH_LITERAL, 38,    -- 1641: push_literal(38)
      ops.PUSH_LOCAL_FRAME,    -- 1643: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 1644: get_slot_direct(63)
      ops.INVOKE, 2,           -- 1646: invoke(2)
      ops.PUSH_LITERAL, 312,   -- 1648: push_literal(312)
      ops.INVOKE, 2,           -- 1650: invoke(2)
      ops.POP,                 -- 1652: pop
      ops.PHI,                 -- 1653: phi
      ops.PUSH_LOCAL_FRAME,    -- 1654: push_local_frame
      ops.PUSH_FRAME,          -- 1655: push_frame
      ops.GET_SLOT_DIRECT, 126,-- 1656: get_slot_direct(126)
      ops.PUSH_LOCAL_FRAME,    -- 1658: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1659: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 1661: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 1662: get_slot_direct(186)
      ops.DUP,                 -- 1664: dup
      ops.GET_SLOT_DIRECT_CHECK, 61,-- 1665: get_slot_direct_check(61)
      ops.SWAP,                -- 1667: swap
      ops.PUSH_FRAME,          -- 1668: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 1669: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 1671: push_literal(31)
      ops.BI_ADD,              -- 1673: bi_add
      ops.PUSH_FRAME,          -- 1674: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 1675: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 1677: push_literal(31)
      ops.BI_ADD,              -- 1679: bi_add
      ops.PUSH_LITERAL, 162,   -- 1680: push_literal(162)
      ops.BI_ADD,              -- 1682: bi_add
      ops.INVOKE, 2,           -- 1683: invoke(2)
      ops.PUSH_LITERAL, 221,   -- 1685: push_literal(221)
      ops.INVOKE, 2,           -- 1687: invoke(2)
      ops.SET_SLOT_DIRECT, 227,-- 1689: set_slot_direct(227)
      ops.PUSH_FRAME,          -- 1691: push_frame
      ops.GET_SLOT_DIRECT, 124,-- 1692: get_slot_direct(124)
      ops.PUSH_LOCAL_FRAME,    -- 1694: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1695: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 1697: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1698: get_slot_direct(227)
      ops.INVOKE, 1,           -- 1700: invoke(1)
      ops.UN_NOT,              -- 1702: un_not
      ops.DUP,                 -- 1703: dup
      ops.UN_NOT,              -- 1704: un_not
      ops.JMP_UNLESS, 1716, 1716,-- 1705: jmp_unless(1716,1716)
      ops.POP,                 -- 1708: pop
      ops.PUSH_LOCAL_FRAME,    -- 1709: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1710: get_slot_direct(227)
      ops.PUSH_LITERAL, 18,    -- 1712: push_literal(18)
      ops.SWAP,                -- 1714: swap
      ops.BI_GT,               -- 1715: bi_gt
      ops.PHI,                 -- 1716: phi
      ops.JMP_UNLESS, 1744, 1744,-- 1717: jmp_unless(1744,1744)
      ops.PUSH_LOCAL_FRAME,    -- 1720: push_local_frame
      ops.GET_SLOT_DIRECT, 286,-- 1721: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 1723: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1724: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 1726: push_local_frame
      ops.GET_SLOT_DIRECT, 287,-- 1727: get_slot_direct(287)
      ops.PUSH_LOCAL_FRAME,    -- 1729: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1730: get_slot_direct(26)
      ops.PUSH_LITERAL, 38,    -- 1732: push_literal(38)
      ops.PUSH_LOCAL_FRAME,    -- 1734: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 1735: get_slot_direct(63)
      ops.INVOKE, 2,           -- 1737: invoke(2)
      ops.PUSH_LITERAL, 312,   -- 1739: push_literal(312)
      ops.INVOKE, 2,           -- 1741: invoke(2)
      ops.POP,                 -- 1743: pop
      ops.PHI,                 -- 1744: phi
      ops.PUSH_LOCAL_FRAME,    -- 1745: push_local_frame
      ops.PUSH_FRAME,          -- 1746: push_frame
      ops.GET_SLOT_DIRECT, 36, -- 1747: get_slot_direct(36)
      ops.DUP,                 -- 1749: dup
      ops.GET_SLOT_DIRECT_CHECK, 145,-- 1750: get_slot_direct_check(145)
      ops.SWAP,                -- 1752: swap
      ops.PUSH_LOCAL_FRAME,    -- 1753: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1754: get_slot_direct(227)
      ops.INVOKE, 1,           -- 1756: invoke(1)
      ops.SET_SLOT_DIRECT, 227,-- 1758: set_slot_direct(227)
      ops.PUSH_FRAME,          -- 1760: push_frame
      ops.DUP,                 -- 1761: dup
      ops.GET_SLOT_DIRECT, 53, -- 1762: get_slot_direct(53)
      ops.PUSH_LITERAL, 162,   -- 1764: push_literal(162)
      ops.BI_ADD,              -- 1766: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 1767: set_slot_direct(53)
      ops.PHI,                 -- 1769: phi
      ops.PHI,                 -- 1770: phi
      ops.PHI,                 -- 1771: phi
      ops.PHI,                 -- 1772: phi
      ops.PHI,                 -- 1773: phi
      ops.PHI,                 -- 1774: phi
      ops.PHI,                 -- 1775: phi
      ops.PUSH_LOCAL_FRAME,    -- 1776: push_local_frame
      ops.DUP,                 -- 1777: dup
      ops.GET_SLOT_DIRECT, 63, -- 1778: get_slot_direct(63)
      ops.PUSH_LOCAL_FRAME,    -- 1780: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1781: get_slot_direct(227)
      ops.BI_ADD,              -- 1783: bi_add
      ops.SET_SLOT_DIRECT, 63, -- 1784: set_slot_direct(63)
      ops.PUSH_FRAME,          -- 1786: push_frame
      ops.DUP,                 -- 1787: dup
      ops.GET_SLOT_DIRECT, 53, -- 1788: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 1790: push_literal(31)
      ops.BI_ADD,              -- 1792: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 1793: set_slot_direct(53)
      ops.PHI,                 -- 1795: phi
      ops.PUSH_LITERAL, 118,   -- 1796: push_literal(118)
      ops.UN_NOT,              -- 1798: un_not
      ops.JMP_UNLESS, 1359, 1802,-- 1799: jmp_unless(1359,1802)
      ops.PHI,                 -- 1802: phi
      ops.PUSH_FRAME,          -- 1803: push_frame
      ops.DUP,                 -- 1804: dup
      ops.GET_SLOT_DIRECT, 53, -- 1805: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 1807: push_literal(31)
      ops.BI_ADD,              -- 1809: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 1810: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 1812: push_local_frame
      ops.GET_SLOT_DIRECT, 75, -- 1813: get_slot_direct(75)
      ops.DUP,                 -- 1815: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 1816: get_slot_direct_check(69)
      ops.SWAP,                -- 1818: swap
      ops.PUSH_LOCAL_FRAME,    -- 1819: push_local_frame
      ops.GET_SLOT_DIRECT, 287,-- 1820: get_slot_direct(287)
      ops.PUSH_LOCAL_FRAME,    -- 1822: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1823: get_slot_direct(26)
      ops.PUSH_LITERAL, 38,    -- 1825: push_literal(38)
      ops.PUSH_LOCAL_FRAME,    -- 1827: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 1828: get_slot_direct(63)
      ops.INVOKE, 2,           -- 1830: invoke(2)
      ops.INVOKE, 1,           -- 1832: invoke(1)
      ops.POP,                 -- 1834: pop
      ops.PUSH_LOCAL_FRAME,    -- 1835: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 1836: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 1837: get_slot_direct(186)
      ops.DUP,                 -- 1839: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 1840: get_slot_direct_check(56)
      ops.SWAP,                -- 1842: swap
      ops.PUSH_FRAME,          -- 1843: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 1844: get_slot_direct(53)
      ops.INVOKE, 1,           -- 1846: invoke(1)
      ops.SET_SLOT_DIRECT, 227,-- 1848: set_slot_direct(227)
      ops.JMP, 2317,           -- 1850: jmp(2317)
      ops.PUSH_LOCAL_FRAME,    -- 1852: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1853: get_slot_direct(227)
      ops.PUSH_LITERAL, 318,   -- 1855: push_literal(318)
      ops.BI_EQ,               -- 1857: bi_eq
      ops.DUP,                 -- 1858: dup
      ops.JMP_UNLESS, 1881, 1881,-- 1859: jmp_unless(1881,1881)
      ops.POP,                 -- 1862: pop
      ops.PUSH_LOCAL_FRAME,    -- 1863: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 1864: get_slot_direct(186)
      ops.DUP,                 -- 1866: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 1867: get_slot_direct_check(56)
      ops.SWAP,                -- 1869: swap
      ops.PUSH_FRAME,          -- 1870: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 1871: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 1873: push_literal(31)
      ops.BI_ADD,              -- 1875: bi_add
      ops.INVOKE, 1,           -- 1876: invoke(1)
      ops.PUSH_LITERAL, 318,   -- 1878: push_literal(318)
      ops.BI_EQ,               -- 1880: bi_eq
      ops.PHI,                 -- 1881: phi
      ops.JMP_UNLESS, 1969, 2316,-- 1882: jmp_unless(1969,2316)
      ops.PUSH_FRAME,          -- 1885: push_frame
      ops.DUP,                 -- 1886: dup
      ops.GET_SLOT_DIRECT, 53, -- 1887: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 1889: push_literal(31)
      ops.BI_ADD,              -- 1891: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 1892: set_slot_direct(53)
      ops.JMP_INTO_LOOP, 1959, 1966,-- 1894: jmp_into_loop(1959,1966)
      ops.PUSH_LOCAL_FRAME,    -- 1897: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 1898: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 1899: get_slot_direct(186)
      ops.DUP,                 -- 1901: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 1902: get_slot_direct_check(56)
      ops.SWAP,                -- 1904: swap
      ops.PUSH_FRAME,          -- 1905: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 1906: get_slot_direct(53)
      ops.INVOKE, 1,           -- 1908: invoke(1)
      ops.SET_SLOT_DIRECT, 227,-- 1910: set_slot_direct(227)
      ops.PUSH_LOCAL_FRAME,    -- 1912: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1913: get_slot_direct(227)
      ops.PUSH_LITERAL, 249,   -- 1915: push_literal(249)
      ops.BI_EQ,               -- 1917: bi_eq
      ops.DUP,                 -- 1918: dup
      ops.UN_NOT,              -- 1919: un_not
      ops.JMP_UNLESS, 1943, 1943,-- 1920: jmp_unless(1943,1943)
      ops.POP,                 -- 1923: pop
      ops.PUSH_LOCAL_FRAME,    -- 1924: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1925: get_slot_direct(227)
      ops.PUSH_LITERAL, 308,   -- 1927: push_literal(308)
      ops.BI_EQ,               -- 1929: bi_eq
      ops.DUP,                 -- 1930: dup
      ops.UN_NOT,              -- 1931: un_not
      ops.JMP_UNLESS, 1942, 1942,-- 1932: jmp_unless(1942,1942)
      ops.POP,                 -- 1935: pop
      ops.PUSH_LOCAL_FRAME,    -- 1936: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1937: get_slot_direct(227)
      ops.PUSH_LITERAL, 66,    -- 1939: push_literal(66)
      ops.BI_EQ,               -- 1941: bi_eq
      ops.PHI,                 -- 1942: phi
      ops.PHI,                 -- 1943: phi
      ops.JMP_UNLESS, 1949, 1949,-- 1944: jmp_unless(1949,1949)
      ops.JMP, 1966,           -- 1947: jmp(1966)
      ops.PHI,                 -- 1949: phi
      ops.PUSH_FRAME,          -- 1950: push_frame
      ops.DUP,                 -- 1951: dup
      ops.GET_SLOT_DIRECT, 53, -- 1952: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 1954: push_literal(31)
      ops.BI_ADD,              -- 1956: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 1957: set_slot_direct(53)
      ops.PHI,                 -- 1959: phi
      ops.PUSH_LITERAL, 118,   -- 1960: push_literal(118)
      ops.UN_NOT,              -- 1962: un_not
      ops.JMP_UNLESS, 1897, 1966,-- 1963: jmp_unless(1897,1966)
      ops.PHI,                 -- 1966: phi
      ops.JMP, 2316,           -- 1967: jmp(2316)
      ops.PUSH_LOCAL_FRAME,    -- 1969: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 1970: get_slot_direct(227)
      ops.PUSH_LITERAL, 318,   -- 1972: push_literal(318)
      ops.BI_EQ,               -- 1974: bi_eq
      ops.DUP,                 -- 1975: dup
      ops.JMP_UNLESS, 1998, 1998,-- 1976: jmp_unless(1998,1998)
      ops.POP,                 -- 1979: pop
      ops.PUSH_LOCAL_FRAME,    -- 1980: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 1981: get_slot_direct(186)
      ops.DUP,                 -- 1983: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 1984: get_slot_direct_check(56)
      ops.SWAP,                -- 1986: swap
      ops.PUSH_FRAME,          -- 1987: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 1988: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 1990: push_literal(31)
      ops.BI_ADD,              -- 1992: bi_add
      ops.INVOKE, 1,           -- 1993: invoke(1)
      ops.PUSH_LITERAL, 319,   -- 1995: push_literal(319)
      ops.BI_EQ,               -- 1997: bi_eq
      ops.PHI,                 -- 1998: phi
      ops.JMP_UNLESS, 2121, 2315,-- 1999: jmp_unless(2121,2315)
      ops.PUSH_FRAME,          -- 2002: push_frame
      ops.DUP,                 -- 2003: dup
      ops.GET_SLOT_DIRECT, 53, -- 2004: get_slot_direct(53)
      ops.PUSH_LITERAL, 159,   -- 2006: push_literal(159)
      ops.BI_ADD,              -- 2008: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 2009: set_slot_direct(53)
      ops.JMP_INTO_LOOP, 2111, 2118,-- 2011: jmp_into_loop(2111,2118)
      ops.PUSH_LOCAL_FRAME,    -- 2014: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 2015: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 2016: get_slot_direct(186)
      ops.DUP,                 -- 2018: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 2019: get_slot_direct_check(56)
      ops.SWAP,                -- 2021: swap
      ops.PUSH_FRAME,          -- 2022: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 2023: get_slot_direct(53)
      ops.INVOKE, 1,           -- 2025: invoke(1)
      ops.SET_SLOT_DIRECT, 227,-- 2027: set_slot_direct(227)
      ops.PUSH_LOCAL_FRAME,    -- 2029: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 2030: get_slot_direct(227)
      ops.PUSH_LITERAL, 66,    -- 2032: push_literal(66)
      ops.BI_EQ,               -- 2034: bi_eq
      ops.DUP,                 -- 2035: dup
      ops.UN_NOT,              -- 2036: un_not
      ops.JMP_UNLESS, 2071, 2071,-- 2037: jmp_unless(2071,2071)
      ops.POP,                 -- 2040: pop
      ops.PUSH_LOCAL_FRAME,    -- 2041: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 2042: get_slot_direct(227)
      ops.PUSH_LITERAL, 318,   -- 2044: push_literal(318)
      ops.BI_EQ,               -- 2046: bi_eq
      ops.DUP,                 -- 2047: dup
      ops.JMP_UNLESS, 2070, 2070,-- 2048: jmp_unless(2070,2070)
      ops.POP,                 -- 2051: pop
      ops.PUSH_LOCAL_FRAME,    -- 2052: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 2053: get_slot_direct(186)
      ops.DUP,                 -- 2055: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 2056: get_slot_direct_check(56)
      ops.SWAP,                -- 2058: swap
      ops.PUSH_FRAME,          -- 2059: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 2060: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 2062: push_literal(31)
      ops.BI_SUB,              -- 2064: bi_sub
      ops.INVOKE, 1,           -- 2065: invoke(1)
      ops.PUSH_LITERAL, 319,   -- 2067: push_literal(319)
      ops.BI_EQ,               -- 2069: bi_eq
      ops.PHI,                 -- 2070: phi
      ops.PHI,                 -- 2071: phi
      ops.JMP_UNLESS, 2101, 2101,-- 2072: jmp_unless(2101,2101)
      ops.PUSH_FRAME,          -- 2075: push_frame
      ops.DUP,                 -- 2076: dup
      ops.GET_SLOT_DIRECT, 53, -- 2077: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 2079: push_literal(31)
      ops.BI_ADD,              -- 2081: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 2082: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 2084: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 2085: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 2086: get_slot_direct(186)
      ops.DUP,                 -- 2088: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 2089: get_slot_direct_check(56)
      ops.SWAP,                -- 2091: swap
      ops.PUSH_FRAME,          -- 2092: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 2093: get_slot_direct(53)
      ops.INVOKE, 1,           -- 2095: invoke(1)
      ops.SET_SLOT_DIRECT, 227,-- 2097: set_slot_direct(227)
      ops.JMP, 2118,           -- 2099: jmp(2118)
      ops.PHI,                 -- 2101: phi
      ops.PUSH_FRAME,          -- 2102: push_frame
      ops.DUP,                 -- 2103: dup
      ops.GET_SLOT_DIRECT, 53, -- 2104: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 2106: push_literal(31)
      ops.BI_ADD,              -- 2108: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 2109: set_slot_direct(53)
      ops.PHI,                 -- 2111: phi
      ops.PUSH_LITERAL, 118,   -- 2112: push_literal(118)
      ops.UN_NOT,              -- 2114: un_not
      ops.JMP_UNLESS, 2014, 2118,-- 2115: jmp_unless(2014,2118)
      ops.PHI,                 -- 2118: phi
      ops.JMP, 2315,           -- 2119: jmp(2315)
      ops.PUSH_LOCAL_FRAME,    -- 2121: push_local_frame
      ops.GET_SLOT_DIRECT, 282,-- 2122: get_slot_direct(282)
      ops.DUP,                 -- 2124: dup
      ops.GET_SLOT_DIRECT_CHECK, 57,-- 2125: get_slot_direct_check(57)
      ops.SWAP,                -- 2127: swap
      ops.PUSH_LOCAL_FRAME,    -- 2128: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 2129: get_slot_direct(227)
      ops.INVOKE, 1,           -- 2131: invoke(1)
      ops.PUSH_LITERAL, 18,    -- 2133: push_literal(18)
      ops.BI_GTE,              -- 2135: bi_gte
      ops.JMP_UNLESS, 2267, 2314,-- 2136: jmp_unless(2267,2314)
      ops.PUSH_LOCAL_FRAME,    -- 2139: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 2140: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 2141: get_slot_direct(227)
      ops.SET_SLOT_DIRECT, 63, -- 2143: set_slot_direct(63)
      ops.PUSH_FRAME,          -- 2145: push_frame
      ops.DUP,                 -- 2146: dup
      ops.GET_SLOT_DIRECT, 53, -- 2147: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 2149: push_literal(31)
      ops.BI_ADD,              -- 2151: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 2152: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 2154: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 2155: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 2156: get_slot_direct(186)
      ops.DUP,                 -- 2158: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 2159: get_slot_direct_check(56)
      ops.SWAP,                -- 2161: swap
      ops.PUSH_FRAME,          -- 2162: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 2163: get_slot_direct(53)
      ops.INVOKE, 1,           -- 2165: invoke(1)
      ops.SET_SLOT_DIRECT, 227,-- 2167: set_slot_direct(227)
      ops.JMP_INTO_LOOP, 2228, 2241,-- 2169: jmp_into_loop(2228,2241)
      ops.PUSH_LOCAL_FRAME,    -- 2172: push_local_frame
      ops.GET_SLOT_DIRECT, 283,-- 2173: get_slot_direct(283)
      ops.DUP,                 -- 2175: dup
      ops.GET_SLOT_DIRECT_CHECK, 57,-- 2176: get_slot_direct_check(57)
      ops.SWAP,                -- 2178: swap
      ops.PUSH_LOCAL_FRAME,    -- 2179: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 2180: get_slot_direct(227)
      ops.INVOKE, 1,           -- 2182: invoke(1)
      ops.PUSH_LITERAL, 18,    -- 2184: push_literal(18)
      ops.SWAP,                -- 2186: swap
      ops.BI_GT,               -- 2187: bi_gt
      ops.JMP_UNLESS, 2193, 2193,-- 2188: jmp_unless(2193,2193)
      ops.JMP, 2241,           -- 2191: jmp(2241)
      ops.PHI,                 -- 2193: phi
      ops.PUSH_LOCAL_FRAME,    -- 2194: push_local_frame
      ops.DUP,                 -- 2195: dup
      ops.GET_SLOT_DIRECT, 63, -- 2196: get_slot_direct(63)
      ops.PUSH_LOCAL_FRAME,    -- 2198: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 2199: get_slot_direct(227)
      ops.BI_ADD,              -- 2201: bi_add
      ops.SET_SLOT_DIRECT, 63, -- 2202: set_slot_direct(63)
      ops.PUSH_FRAME,          -- 2204: push_frame
      ops.DUP,                 -- 2205: dup
      ops.GET_SLOT_DIRECT, 53, -- 2206: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 2208: push_literal(31)
      ops.BI_ADD,              -- 2210: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 2211: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 2213: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 2214: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 2215: get_slot_direct(186)
      ops.DUP,                 -- 2217: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 2218: get_slot_direct_check(56)
      ops.SWAP,                -- 2220: swap
      ops.PUSH_FRAME,          -- 2221: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 2222: get_slot_direct(53)
      ops.INVOKE, 1,           -- 2224: invoke(1)
      ops.SET_SLOT_DIRECT, 227,-- 2226: set_slot_direct(227)
      ops.PHI,                 -- 2228: phi
      ops.PUSH_FRAME,          -- 2229: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 2230: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 2232: push_local_frame
      ops.GET_SLOT_DIRECT, 55, -- 2233: get_slot_direct(55)
      ops.SWAP,                -- 2235: swap
      ops.BI_GT,               -- 2236: bi_gt
      ops.UN_NOT,              -- 2237: un_not
      ops.JMP_UNLESS, 2172, 2241,-- 2238: jmp_unless(2172,2241)
      ops.PHI,                 -- 2241: phi
      ops.PUSH_LOCAL_FRAME,    -- 2242: push_local_frame
      ops.GET_SLOT_DIRECT, 75, -- 2243: get_slot_direct(75)
      ops.DUP,                 -- 2245: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 2246: get_slot_direct_check(69)
      ops.SWAP,                -- 2248: swap
      ops.PUSH_LOCAL_FRAME,    -- 2249: push_local_frame
      ops.GET_SLOT_DIRECT, 287,-- 2250: get_slot_direct(287)
      ops.PUSH_LOCAL_FRAME,    -- 2252: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 2253: get_slot_direct(26)
      ops.PUSH_LITERAL, 320,   -- 2255: push_literal(320)
      ops.PUSH_LOCAL_FRAME,    -- 2257: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 2258: get_slot_direct(63)
      ops.INVOKE, 2,           -- 2260: invoke(2)
      ops.INVOKE, 1,           -- 2262: invoke(1)
      ops.POP,                 -- 2264: pop
      ops.JMP, 2314,           -- 2265: jmp(2314)
      ops.PUSH_FRAME,          -- 2267: push_frame
      ops.DUP,                 -- 2268: dup
      ops.GET_SLOT_DIRECT, 53, -- 2269: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 2271: push_literal(31)
      ops.BI_ADD,              -- 2273: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 2274: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 2276: push_local_frame
      ops.GET_SLOT_DIRECT, 75, -- 2277: get_slot_direct(75)
      ops.DUP,                 -- 2279: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 2280: get_slot_direct_check(69)
      ops.SWAP,                -- 2282: swap
      ops.PUSH_LOCAL_FRAME,    -- 2283: push_local_frame
      ops.GET_SLOT_DIRECT, 287,-- 2284: get_slot_direct(287)
      ops.PUSH_LOCAL_FRAME,    -- 2286: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 2287: get_slot_direct(26)
      ops.PUSH_LITERAL, 320,   -- 2289: push_literal(320)
      ops.PUSH_LOCAL_FRAME,    -- 2291: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 2292: get_slot_direct(227)
      ops.INVOKE, 2,           -- 2294: invoke(2)
      ops.INVOKE, 1,           -- 2296: invoke(1)
      ops.POP,                 -- 2298: pop
      ops.PUSH_LOCAL_FRAME,    -- 2299: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 2300: push_local_frame
      ops.GET_SLOT_DIRECT, 186,-- 2301: get_slot_direct(186)
      ops.DUP,                 -- 2303: dup
      ops.GET_SLOT_DIRECT_CHECK, 56,-- 2304: get_slot_direct_check(56)
      ops.SWAP,                -- 2306: swap
      ops.PUSH_FRAME,          -- 2307: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 2308: get_slot_direct(53)
      ops.INVOKE, 1,           -- 2310: invoke(1)
      ops.SET_SLOT_DIRECT, 227,-- 2312: set_slot_direct(227)
      ops.PHI,                 -- 2314: phi
      ops.PHI,                 -- 2315: phi
      ops.PHI,                 -- 2316: phi
      ops.PHI,                 -- 2317: phi
      ops.PHI,                 -- 2318: phi
      ops.PHI,                 -- 2319: phi
      ops.PHI,                 -- 2320: phi
      ops.PHI,                 -- 2321: phi
      ops.PUSH_LOCAL_FRAME,    -- 2322: push_local_frame
      ops.GET_SLOT_DIRECT, 227,-- 2323: get_slot_direct(227)
      ops.UN_NOT,              -- 2325: un_not
      ops.JMP_UNLESS, 172, 2329,-- 2326: jmp_unless(172,2329)
      ops.PHI,                 -- 2329: phi
      ops.PUSH_LOCAL_FRAME,    -- 2330: push_local_frame
      ops.GET_SLOT_DIRECT, 75, -- 2331: get_slot_direct(75)
      ops.RETURN               -- 2333: return
    }
  },
  ifunc.Function:new{ -- "error"
    name = jsval.newString("error"),
    id = 50,
    nargs = 3,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 30, -- 8: set_slot_direct(30)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 288,-- 15: set_slot_direct(288)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT, 136,-- 18: get_slot_direct(136)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.SWAP,                -- 21: swap
      ops.SET_SLOT_DIRECT, 289,-- 22: set_slot_direct(289)
      ops.POP,                 -- 24: pop
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 27: get_slot_direct(289)
      ops.DUP,                 -- 29: dup
      ops.UN_NOT,              -- 30: un_not
      ops.JMP_UNLESS, 38, 38,  -- 31: jmp_unless(38,38)
      ops.POP,                 -- 34: pop
      ops.PUSH_LOCAL_FRAME,    -- 35: push_local_frame
      ops.GET_SLOT_DIRECT, 30, -- 36: get_slot_direct(30)
      ops.PHI,                 -- 38: phi
      ops.SET_SLOT_DIRECT, 289,-- 39: set_slot_direct(289)
      ops.PUSH_LOCAL_FRAME,    -- 41: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 42: get_slot_direct(289)
      ops.PUSH_LITERAL, 290,   -- 44: push_literal(290)
      ops.SET_SLOT_DIRECT, 19, -- 46: set_slot_direct(19)
      ops.PUSH_LOCAL_FRAME,    -- 48: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 49: get_slot_direct(289)
      ops.GET_SLOT_DIRECT, 52, -- 51: get_slot_direct(52)
      ops.DUP,                 -- 53: dup
      ops.UN_NOT,              -- 54: un_not
      ops.JMP_UNLESS, 64, 64,  -- 55: jmp_unless(64,64)
      ops.POP,                 -- 58: pop
      ops.PUSH_LOCAL_FRAME,    -- 59: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 60: get_slot_direct(289)
      ops.GET_SLOT_DIRECT, 291,-- 62: get_slot_direct(291)
      ops.PHI,                 -- 64: phi
      ops.JMP_UNLESS, 95, 95,  -- 65: jmp_unless(95,95)
      ops.PUSH_LOCAL_FRAME,    -- 68: push_local_frame
      ops.DUP,                 -- 69: dup
      ops.GET_SLOT_DIRECT, 288,-- 70: get_slot_direct(288)
      ops.PUSH_LITERAL, 292,   -- 72: push_literal(292)
      ops.PUSH_LOCAL_FRAME,    -- 74: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 75: get_slot_direct(289)
      ops.GET_SLOT_DIRECT, 52, -- 77: get_slot_direct(52)
      ops.BI_ADD,              -- 79: bi_add
      ops.PUSH_LITERAL, 141,   -- 80: push_literal(141)
      ops.BI_ADD,              -- 82: bi_add
      ops.PUSH_LOCAL_FRAME,    -- 83: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 84: get_slot_direct(289)
      ops.GET_SLOT_DIRECT, 291,-- 86: get_slot_direct(291)
      ops.BI_ADD,              -- 88: bi_add
      ops.PUSH_LITERAL, 255,   -- 89: push_literal(255)
      ops.BI_ADD,              -- 91: bi_add
      ops.BI_ADD,              -- 92: bi_add
      ops.SET_SLOT_DIRECT, 288,-- 93: set_slot_direct(288)
      ops.PHI,                 -- 95: phi
      ops.PUSH_LOCAL_FRAME,    -- 96: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 97: get_slot_direct(289)
      ops.PUSH_LOCAL_FRAME,    -- 99: push_local_frame
      ops.GET_SLOT_DIRECT, 288,-- 100: get_slot_direct(288)
      ops.SET_SLOT_DIRECT, 288,-- 102: set_slot_direct(288)
      ops.PUSH_FRAME,          -- 104: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 105: get_slot_direct(14)
      ops.DUP,                 -- 107: dup
      ops.GET_SLOT_DIRECT_CHECK, 6,-- 108: get_slot_direct_check(6)
      ops.SWAP,                -- 110: swap
      ops.PUSH_LOCAL_FRAME,    -- 111: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 112: get_slot_direct(289)
      ops.INVOKE, 1,           -- 114: invoke(1)
      ops.POP,                 -- 116: pop
      ops.PUSH_LITERAL, 0,     -- 117: push_literal(0)
      ops.RETURN               -- 119: return
    }
  },
  ifunc.Function:new{ -- "make"
    name = jsval.newString("make"),
    id = 51,
    nargs = 2,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 293,-- 8: set_slot_direct(293)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 224,-- 15: set_slot_direct(224)
      ops.POP,                 -- 17: pop
      ops.NEW_OBJECT,          -- 18: new_object
      ops.DUP,                 -- 19: dup
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.GET_SLOT_DIRECT, 293,-- 21: get_slot_direct(293)
      ops.SET_SLOT_DIRECT, 293,-- 23: set_slot_direct(293)
      ops.DUP,                 -- 25: dup
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 27: get_slot_direct(224)
      ops.SET_SLOT_DIRECT, 224,-- 29: set_slot_direct(224)
      ops.DUP,                 -- 31: dup
      ops.PUSH_FRAME,          -- 32: push_frame
      ops.GET_SLOT_DIRECT, 52, -- 33: get_slot_direct(52)
      ops.SET_SLOT_DIRECT, 52, -- 35: set_slot_direct(52)
      ops.DUP,                 -- 37: dup
      ops.PUSH_FRAME,          -- 38: push_frame
      ops.GET_SLOT_DIRECT, 53, -- 39: get_slot_direct(53)
      ops.SET_SLOT_DIRECT, 291,-- 41: set_slot_direct(291)
      ops.RETURN               -- 43: return
    }
  },
  ifunc.Function:new{ -- "make_parse"
    name = jsval.newString("make_parse"),
    id = 52,
    nargs = 2,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 327,-- 8: set_slot_direct(327)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_FRAME,          -- 13: push_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 279,-- 15: set_slot_direct(279)
      ops.POP,                 -- 17: pop
      ops.PUSH_FRAME,          -- 18: push_frame
      ops.PUSH_LITERAL, 0,     -- 19: push_literal(0)
      ops.SET_SLOT_DIRECT, 284,-- 21: set_slot_direct(284)
      ops.PUSH_FRAME,          -- 23: push_frame
      ops.PUSH_LITERAL, 0,     -- 24: push_literal(0)
      ops.SET_SLOT_DIRECT, 328,-- 26: set_slot_direct(328)
      ops.PUSH_FRAME,          -- 28: push_frame
      ops.PUSH_LITERAL, 0,     -- 29: push_literal(0)
      ops.SET_SLOT_DIRECT, 329,-- 31: set_slot_direct(329)
      ops.PUSH_FRAME,          -- 33: push_frame
      ops.PUSH_LITERAL, 0,     -- 34: push_literal(0)
      ops.SET_SLOT_DIRECT, 330,-- 36: set_slot_direct(330)
      ops.PUSH_FRAME,          -- 38: push_frame
      ops.PUSH_LITERAL, 0,     -- 39: push_literal(0)
      ops.SET_SLOT_DIRECT, 331,-- 41: set_slot_direct(331)
      ops.PUSH_FRAME,          -- 43: push_frame
      ops.PUSH_LITERAL, 0,     -- 44: push_literal(0)
      ops.SET_SLOT_DIRECT, 332,-- 46: set_slot_direct(332)
      ops.PUSH_FRAME,          -- 48: push_frame
      ops.PUSH_LITERAL, 0,     -- 49: push_literal(0)
      ops.SET_SLOT_DIRECT, 333,-- 51: set_slot_direct(333)
      ops.PUSH_FRAME,          -- 53: push_frame
      ops.PUSH_LITERAL, 0,     -- 54: push_literal(0)
      ops.SET_SLOT_DIRECT, 286,-- 56: set_slot_direct(286)
      ops.PUSH_FRAME,          -- 58: push_frame
      ops.PUSH_LITERAL, 0,     -- 59: push_literal(0)
      ops.SET_SLOT_DIRECT, 89, -- 61: set_slot_direct(89)
      ops.PUSH_FRAME,          -- 63: push_frame
      ops.PUSH_LITERAL, 0,     -- 64: push_literal(0)
      ops.SET_SLOT_DIRECT, 334,-- 66: set_slot_direct(334)
      ops.PUSH_FRAME,          -- 68: push_frame
      ops.PUSH_LITERAL, 0,     -- 69: push_literal(0)
      ops.SET_SLOT_DIRECT, 335,-- 71: set_slot_direct(335)
      ops.PUSH_FRAME,          -- 73: push_frame
      ops.PUSH_LITERAL, 0,     -- 74: push_literal(0)
      ops.SET_SLOT_DIRECT, 336,-- 76: set_slot_direct(336)
      ops.PUSH_FRAME,          -- 78: push_frame
      ops.PUSH_LITERAL, 0,     -- 79: push_literal(0)
      ops.SET_SLOT_DIRECT, 337,-- 81: set_slot_direct(337)
      ops.PUSH_FRAME,          -- 83: push_frame
      ops.PUSH_LITERAL, 0,     -- 84: push_literal(0)
      ops.SET_SLOT_DIRECT, 338,-- 86: set_slot_direct(338)
      ops.PUSH_FRAME,          -- 88: push_frame
      ops.PUSH_LITERAL, 0,     -- 89: push_literal(0)
      ops.SET_SLOT_DIRECT, 339,-- 91: set_slot_direct(339)
      ops.PUSH_FRAME,          -- 93: push_frame
      ops.PUSH_LITERAL, 0,     -- 94: push_literal(0)
      ops.SET_SLOT_DIRECT, 340,-- 96: set_slot_direct(340)
      ops.PUSH_FRAME,          -- 98: push_frame
      ops.PUSH_LITERAL, 0,     -- 99: push_literal(0)
      ops.SET_SLOT_DIRECT, 341,-- 101: set_slot_direct(341)
      ops.PUSH_FRAME,          -- 103: push_frame
      ops.PUSH_LITERAL, 0,     -- 104: push_literal(0)
      ops.SET_SLOT_DIRECT, 91, -- 106: set_slot_direct(91)
      ops.PUSH_FRAME,          -- 108: push_frame
      ops.PUSH_LITERAL, 0,     -- 109: push_literal(0)
      ops.SET_SLOT_DIRECT, 342,-- 111: set_slot_direct(342)
      ops.PUSH_FRAME,          -- 113: push_frame
      ops.PUSH_LITERAL, 0,     -- 114: push_literal(0)
      ops.SET_SLOT_DIRECT, 343,-- 116: set_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 118: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 119: push_literal(0)
      ops.SET_SLOT_DIRECT, 344,-- 121: set_slot_direct(344)
      ops.PUSH_LOCAL_FRAME,    -- 123: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 124: push_literal(0)
      ops.SET_SLOT_DIRECT, 345,-- 126: set_slot_direct(345)
      ops.PUSH_FRAME,          -- 128: push_frame
      ops.PUSH_LITERAL, 0,     -- 129: push_literal(0)
      ops.SET_SLOT_DIRECT, 346,-- 131: set_slot_direct(346)
      ops.PUSH_FRAME,          -- 133: push_frame
      ops.PUSH_LITERAL, 0,     -- 134: push_literal(0)
      ops.SET_SLOT_DIRECT, 347,-- 136: set_slot_direct(347)
      ops.PUSH_LOCAL_FRAME,    -- 138: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 139: push_literal(0)
      ops.SET_SLOT_DIRECT, 282,-- 141: set_slot_direct(282)
      ops.PUSH_LOCAL_FRAME,    -- 143: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 144: push_literal(0)
      ops.SET_SLOT_DIRECT, 348,-- 146: set_slot_direct(348)
      ops.PUSH_LOCAL_FRAME,    -- 148: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 149: push_literal(0)
      ops.SET_SLOT_DIRECT, 325,-- 151: set_slot_direct(325)
      ops.PUSH_LOCAL_FRAME,    -- 153: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 154: push_literal(0)
      ops.SET_SLOT_DIRECT, 349,-- 156: set_slot_direct(349)
      ops.PUSH_FRAME,          -- 158: push_frame
      ops.NEW_OBJECT,          -- 159: new_object
      ops.SET_SLOT_DIRECT, 329,-- 160: set_slot_direct(329)
      ops.PUSH_FRAME,          -- 162: push_frame
      ops.NEW_FUNCTION, 53,    -- 163: new_function(53)
      ops.SET_SLOT_DIRECT, 333,-- 165: set_slot_direct(333)
      ops.PUSH_FRAME,          -- 167: push_frame
      ops.NEW_FUNCTION, 54,    -- 168: new_function(54)
      ops.SET_SLOT_DIRECT, 286,-- 170: set_slot_direct(286)
      ops.PUSH_FRAME,          -- 172: push_frame
      ops.NEW_FUNCTION, 55,    -- 173: new_function(55)
      ops.SET_SLOT_DIRECT, 89, -- 175: set_slot_direct(89)
      ops.PUSH_FRAME,          -- 177: push_frame
      ops.NEW_OBJECT,          -- 178: new_object
      ops.DUP,                 -- 179: dup
      ops.NEW_FUNCTION, 56,    -- 180: new_function(56)
      ops.SET_SLOT_DIRECT, 278,-- 182: set_slot_direct(278)
      ops.DUP,                 -- 184: dup
      ops.NEW_FUNCTION, 57,    -- 185: new_function(57)
      ops.SET_SLOT_DIRECT, 362,-- 187: set_slot_direct(362)
      ops.DUP,                 -- 189: dup
      ops.NEW_FUNCTION, 58,    -- 190: new_function(58)
      ops.SET_SLOT_DIRECT, 71, -- 192: set_slot_direct(71)
      ops.DUP,                 -- 194: dup
      ops.NEW_FUNCTION, 59,    -- 195: new_function(59)
      ops.SET_SLOT_DIRECT, 364,-- 197: set_slot_direct(364)
      ops.SET_SLOT_DIRECT, 334,-- 199: set_slot_direct(334)
      ops.PUSH_FRAME,          -- 201: push_frame
      ops.NEW_FUNCTION, 60,    -- 202: new_function(60)
      ops.SET_SLOT_DIRECT, 335,-- 204: set_slot_direct(335)
      ops.PUSH_FRAME,          -- 206: push_frame
      ops.NEW_FUNCTION, 61,    -- 207: new_function(61)
      ops.SET_SLOT_DIRECT, 336,-- 209: set_slot_direct(336)
      ops.PUSH_FRAME,          -- 211: push_frame
      ops.NEW_FUNCTION, 62,    -- 212: new_function(62)
      ops.SET_SLOT_DIRECT, 337,-- 214: set_slot_direct(337)
      ops.PUSH_FRAME,          -- 216: push_frame
      ops.NEW_FUNCTION, 63,    -- 217: new_function(63)
      ops.SET_SLOT_DIRECT, 338,-- 219: set_slot_direct(338)
      ops.PUSH_FRAME,          -- 221: push_frame
      ops.NEW_FUNCTION, 64,    -- 222: new_function(64)
      ops.SET_SLOT_DIRECT, 339,-- 224: set_slot_direct(339)
      ops.PUSH_FRAME,          -- 226: push_frame
      ops.NEW_FUNCTION, 65,    -- 227: new_function(65)
      ops.SET_SLOT_DIRECT, 340,-- 229: set_slot_direct(340)
      ops.PUSH_FRAME,          -- 231: push_frame
      ops.NEW_FUNCTION, 66,    -- 232: new_function(66)
      ops.SET_SLOT_DIRECT, 341,-- 234: set_slot_direct(341)
      ops.PUSH_FRAME,          -- 236: push_frame
      ops.NEW_FUNCTION, 67,    -- 237: new_function(67)
      ops.SET_SLOT_DIRECT, 91, -- 239: set_slot_direct(91)
      ops.PUSH_FRAME,          -- 241: push_frame
      ops.NEW_OBJECT,          -- 242: new_object
      ops.DUP,                 -- 243: dup
      ops.NEW_FUNCTION, 68,    -- 244: new_function(68)
      ops.SET_SLOT_DIRECT, 355,-- 246: set_slot_direct(355)
      ops.DUP,                 -- 248: dup
      ops.NEW_FUNCTION, 69,    -- 249: new_function(69)
      ops.SET_SLOT_DIRECT, 356,-- 251: set_slot_direct(356)
      ops.SET_SLOT_DIRECT, 342,-- 253: set_slot_direct(342)
      ops.PUSH_FRAME,          -- 255: push_frame
      ops.NEW_FUNCTION, 70,    -- 256: new_function(70)
      ops.SET_SLOT_DIRECT, 343,-- 258: set_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 260: push_local_frame
      ops.NEW_FUNCTION, 71,    -- 261: new_function(71)
      ops.SET_SLOT_DIRECT, 344,-- 263: set_slot_direct(344)
      ops.PUSH_LOCAL_FRAME,    -- 265: push_local_frame
      ops.NEW_FUNCTION, 73,    -- 266: new_function(73)
      ops.SET_SLOT_DIRECT, 345,-- 268: set_slot_direct(345)
      ops.PUSH_FRAME,          -- 270: push_frame
      ops.NEW_FUNCTION, 75,    -- 271: new_function(75)
      ops.SET_SLOT_DIRECT, 346,-- 273: set_slot_direct(346)
      ops.PUSH_FRAME,          -- 275: push_frame
      ops.NEW_FUNCTION, 77,    -- 276: new_function(77)
      ops.SET_SLOT_DIRECT, 347,-- 278: set_slot_direct(347)
      ops.PUSH_LOCAL_FRAME,    -- 280: push_local_frame
      ops.NEW_FUNCTION, 79,    -- 281: new_function(79)
      ops.SET_SLOT_DIRECT, 282,-- 283: set_slot_direct(282)
      ops.PUSH_LOCAL_FRAME,    -- 285: push_local_frame
      ops.NEW_FUNCTION, 81,    -- 286: new_function(81)
      ops.SET_SLOT_DIRECT, 348,-- 288: set_slot_direct(348)
      ops.PUSH_FRAME,          -- 290: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 291: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 293: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 294: get_slot_direct(26)
      ops.PUSH_LITERAL, 371,   -- 296: push_literal(371)
      ops.INVOKE, 1,           -- 298: invoke(1)
      ops.POP,                 -- 300: pop
      ops.PUSH_FRAME,          -- 301: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 302: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 304: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 305: get_slot_direct(26)
      ops.PUSH_LITERAL, 361,   -- 307: push_literal(361)
      ops.INVOKE, 1,           -- 309: invoke(1)
      ops.POP,                 -- 311: pop
      ops.PUSH_FRAME,          -- 312: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 313: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 315: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 316: get_slot_direct(26)
      ops.PUSH_LITERAL, 241,   -- 318: push_literal(241)
      ops.INVOKE, 1,           -- 320: invoke(1)
      ops.POP,                 -- 322: pop
      ops.PUSH_FRAME,          -- 323: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 324: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 326: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 327: get_slot_direct(26)
      ops.PUSH_LITERAL, 380,   -- 329: push_literal(380)
      ops.INVOKE, 1,           -- 331: invoke(1)
      ops.POP,                 -- 333: pop
      ops.PUSH_FRAME,          -- 334: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 335: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 337: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 338: get_slot_direct(26)
      ops.PUSH_LITERAL, 390,   -- 340: push_literal(390)
      ops.INVOKE, 1,           -- 342: invoke(1)
      ops.POP,                 -- 344: pop
      ops.PUSH_FRAME,          -- 345: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 346: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 348: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 349: get_slot_direct(26)
      ops.PUSH_LITERAL, 255,   -- 351: push_literal(255)
      ops.INVOKE, 1,           -- 353: invoke(1)
      ops.POP,                 -- 355: pop
      ops.PUSH_FRAME,          -- 356: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 357: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 359: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 360: get_slot_direct(26)
      ops.PUSH_LITERAL, 245,   -- 362: push_literal(245)
      ops.INVOKE, 1,           -- 364: invoke(1)
      ops.POP,                 -- 366: pop
      ops.PUSH_FRAME,          -- 367: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 368: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 370: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 371: get_slot_direct(26)
      ops.PUSH_LITERAL, 76,    -- 373: push_literal(76)
      ops.INVOKE, 1,           -- 375: invoke(1)
      ops.POP,                 -- 377: pop
      ops.PUSH_FRAME,          -- 378: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 379: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 381: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 382: get_slot_direct(26)
      ops.PUSH_LITERAL, 391,   -- 384: push_literal(391)
      ops.INVOKE, 1,           -- 386: invoke(1)
      ops.POP,                 -- 388: pop
      ops.PUSH_LOCAL_FRAME,    -- 389: push_local_frame
      ops.GET_SLOT_DIRECT, 344,-- 390: get_slot_direct(344)
      ops.PUSH_LOCAL_FRAME,    -- 392: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 393: get_slot_direct(26)
      ops.PUSH_LITERAL, 122,   -- 395: push_literal(122)
      ops.PUSH_LITERAL, 118,   -- 397: push_literal(118)
      ops.INVOKE, 2,           -- 399: invoke(2)
      ops.POP,                 -- 401: pop
      ops.PUSH_LOCAL_FRAME,    -- 402: push_local_frame
      ops.GET_SLOT_DIRECT, 344,-- 403: get_slot_direct(344)
      ops.PUSH_LOCAL_FRAME,    -- 405: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 406: get_slot_direct(26)
      ops.PUSH_LITERAL, 123,   -- 408: push_literal(123)
      ops.PUSH_LITERAL, 32,    -- 410: push_literal(32)
      ops.INVOKE, 2,           -- 412: invoke(2)
      ops.POP,                 -- 414: pop
      ops.PUSH_LOCAL_FRAME,    -- 415: push_local_frame
      ops.GET_SLOT_DIRECT, 344,-- 416: get_slot_direct(344)
      ops.PUSH_LOCAL_FRAME,    -- 418: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 419: get_slot_direct(26)
      ops.PUSH_LITERAL, 252,   -- 421: push_literal(252)
      ops.PUSH_LITERAL, 41,    -- 423: push_literal(41)
      ops.INVOKE, 2,           -- 425: invoke(2)
      ops.POP,                 -- 427: pop
      ops.PUSH_LOCAL_FRAME,    -- 428: push_local_frame
      ops.GET_SLOT_DIRECT, 344,-- 429: get_slot_direct(344)
      ops.PUSH_LOCAL_FRAME,    -- 431: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 432: get_slot_direct(26)
      ops.PUSH_LITERAL, 85,    -- 434: push_literal(85)
      ops.PUSH_LITERAL, 0,     -- 436: push_literal(0)
      ops.INVOKE, 2,           -- 438: invoke(2)
      ops.POP,                 -- 440: pop
      ops.PUSH_LOCAL_FRAME,    -- 441: push_local_frame
      ops.GET_SLOT_DIRECT, 344,-- 442: get_slot_direct(344)
      ops.PUSH_LOCAL_FRAME,    -- 444: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 445: get_slot_direct(26)
      ops.PUSH_LITERAL, 139,   -- 447: push_literal(139)
      ops.PUSH_LITERAL, 177,   -- 449: push_literal(177)
      ops.INVOKE, 2,           -- 451: invoke(2)
      ops.POP,                 -- 453: pop
      ops.PUSH_LOCAL_FRAME,    -- 454: push_local_frame
      ops.GET_SLOT_DIRECT, 344,-- 455: get_slot_direct(344)
      ops.PUSH_LOCAL_FRAME,    -- 457: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 458: get_slot_direct(26)
      ops.PUSH_LITERAL, 142,   -- 460: push_literal(142)
      ops.PUSH_LITERAL, 27,    -- 462: push_literal(27)
      ops.INVOKE, 2,           -- 464: invoke(2)
      ops.POP,                 -- 466: pop
      ops.PUSH_FRAME,          -- 467: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 468: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 470: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 471: get_slot_direct(26)
      ops.PUSH_LITERAL, 373,   -- 473: push_literal(373)
      ops.INVOKE, 1,           -- 475: invoke(1)
      ops.PUSH_FRAME,          -- 477: push_frame
      ops.GET_SLOT_DIRECT, 333,-- 478: get_slot_direct(333)
      ops.SET_SLOT_DIRECT, 355,-- 480: set_slot_direct(355)
      ops.PUSH_FRAME,          -- 482: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 483: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 485: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 486: get_slot_direct(26)
      ops.PUSH_LITERAL, 26,    -- 488: push_literal(26)
      ops.INVOKE, 1,           -- 490: invoke(1)
      ops.NEW_FUNCTION, 82,    -- 492: new_function(82)
      ops.SET_SLOT_DIRECT, 355,-- 494: set_slot_direct(355)
      ops.PUSH_FRAME,          -- 496: push_frame
      ops.GET_SLOT_DIRECT, 347,-- 497: get_slot_direct(347)
      ops.PUSH_LOCAL_FRAME,    -- 499: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 500: get_slot_direct(26)
      ops.PUSH_LITERAL, 392,   -- 502: push_literal(392)
      ops.INVOKE, 1,           -- 504: invoke(1)
      ops.POP,                 -- 506: pop
      ops.PUSH_FRAME,          -- 507: push_frame
      ops.GET_SLOT_DIRECT, 347,-- 508: get_slot_direct(347)
      ops.PUSH_LOCAL_FRAME,    -- 510: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 511: get_slot_direct(26)
      ops.PUSH_LITERAL, 393,   -- 513: push_literal(393)
      ops.INVOKE, 1,           -- 515: invoke(1)
      ops.POP,                 -- 517: pop
      ops.PUSH_FRAME,          -- 518: push_frame
      ops.GET_SLOT_DIRECT, 347,-- 519: get_slot_direct(347)
      ops.PUSH_LOCAL_FRAME,    -- 521: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 522: get_slot_direct(26)
      ops.PUSH_LITERAL, 394,   -- 524: push_literal(394)
      ops.INVOKE, 1,           -- 526: invoke(1)
      ops.POP,                 -- 528: pop
      ops.PUSH_FRAME,          -- 529: push_frame
      ops.GET_SLOT_DIRECT, 347,-- 530: get_slot_direct(347)
      ops.PUSH_LOCAL_FRAME,    -- 532: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 533: get_slot_direct(26)
      ops.PUSH_LITERAL, 395,   -- 535: push_literal(395)
      ops.INVOKE, 1,           -- 537: invoke(1)
      ops.POP,                 -- 539: pop
      ops.PUSH_FRAME,          -- 540: push_frame
      ops.GET_SLOT_DIRECT, 347,-- 541: get_slot_direct(347)
      ops.PUSH_LOCAL_FRAME,    -- 543: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 544: get_slot_direct(26)
      ops.PUSH_LITERAL, 396,   -- 546: push_literal(396)
      ops.INVOKE, 1,           -- 548: invoke(1)
      ops.POP,                 -- 550: pop
      ops.PUSH_LOCAL_FRAME,    -- 551: push_local_frame
      ops.GET_SLOT_DIRECT, 345,-- 552: get_slot_direct(345)
      ops.PUSH_LOCAL_FRAME,    -- 554: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 555: get_slot_direct(26)
      ops.PUSH_LITERAL, 397,   -- 557: push_literal(397)
      ops.PUSH_LITERAL, 398,   -- 559: push_literal(398)
      ops.NEW_FUNCTION, 83,    -- 561: new_function(83)
      ops.INVOKE, 3,           -- 563: invoke(3)
      ops.POP,                 -- 565: pop
      ops.PUSH_FRAME,          -- 566: push_frame
      ops.GET_SLOT_DIRECT, 346,-- 567: get_slot_direct(346)
      ops.PUSH_LOCAL_FRAME,    -- 569: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 570: get_slot_direct(26)
      ops.PUSH_LITERAL, 401,   -- 572: push_literal(401)
      ops.PUSH_LITERAL, 402,   -- 574: push_literal(402)
      ops.INVOKE, 2,           -- 576: invoke(2)
      ops.POP,                 -- 578: pop
      ops.PUSH_FRAME,          -- 579: push_frame
      ops.GET_SLOT_DIRECT, 346,-- 580: get_slot_direct(346)
      ops.PUSH_LOCAL_FRAME,    -- 582: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 583: get_slot_direct(26)
      ops.PUSH_LITERAL, 403,   -- 585: push_literal(403)
      ops.PUSH_LITERAL, 404,   -- 587: push_literal(404)
      ops.INVOKE, 2,           -- 589: invoke(2)
      ops.POP,                 -- 591: pop
      ops.PUSH_FRAME,          -- 592: push_frame
      ops.GET_SLOT_DIRECT, 346,-- 593: get_slot_direct(346)
      ops.PUSH_LOCAL_FRAME,    -- 595: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 596: get_slot_direct(26)
      ops.PUSH_LITERAL, 405,   -- 598: push_literal(405)
      ops.PUSH_LITERAL, 406,   -- 600: push_literal(406)
      ops.INVOKE, 2,           -- 602: invoke(2)
      ops.POP,                 -- 604: pop
      ops.PUSH_FRAME,          -- 605: push_frame
      ops.GET_SLOT_DIRECT, 346,-- 606: get_slot_direct(346)
      ops.PUSH_LOCAL_FRAME,    -- 608: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 609: get_slot_direct(26)
      ops.PUSH_LITERAL, 407,   -- 611: push_literal(407)
      ops.PUSH_LITERAL, 406,   -- 613: push_literal(406)
      ops.INVOKE, 2,           -- 615: invoke(2)
      ops.POP,                 -- 617: pop
      ops.PUSH_FRAME,          -- 618: push_frame
      ops.GET_SLOT_DIRECT, 346,-- 619: get_slot_direct(346)
      ops.PUSH_LOCAL_FRAME,    -- 621: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 622: get_slot_direct(26)
      ops.PUSH_LITERAL, 408,   -- 624: push_literal(408)
      ops.PUSH_LITERAL, 409,   -- 626: push_literal(409)
      ops.INVOKE, 2,           -- 628: invoke(2)
      ops.POP,                 -- 630: pop
      ops.PUSH_FRAME,          -- 631: push_frame
      ops.GET_SLOT_DIRECT, 346,-- 632: get_slot_direct(346)
      ops.PUSH_LOCAL_FRAME,    -- 634: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 635: get_slot_direct(26)
      ops.PUSH_LITERAL, 410,   -- 637: push_literal(410)
      ops.PUSH_LITERAL, 409,   -- 639: push_literal(409)
      ops.INVOKE, 2,           -- 641: invoke(2)
      ops.POP,                 -- 643: pop
      ops.PUSH_FRAME,          -- 644: push_frame
      ops.GET_SLOT_DIRECT, 346,-- 645: get_slot_direct(346)
      ops.PUSH_LOCAL_FRAME,    -- 647: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 648: get_slot_direct(26)
      ops.PUSH_LITERAL, 411,   -- 650: push_literal(411)
      ops.PUSH_LITERAL, 409,   -- 652: push_literal(409)
      ops.INVOKE, 2,           -- 654: invoke(2)
      ops.POP,                 -- 656: pop
      ops.PUSH_FRAME,          -- 657: push_frame
      ops.GET_SLOT_DIRECT, 346,-- 658: get_slot_direct(346)
      ops.PUSH_LOCAL_FRAME,    -- 660: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 661: get_slot_direct(26)
      ops.PUSH_LITERAL, 412,   -- 663: push_literal(412)
      ops.PUSH_LITERAL, 409,   -- 665: push_literal(409)
      ops.INVOKE, 2,           -- 667: invoke(2)
      ops.POP,                 -- 669: pop
      ops.PUSH_LOCAL_FRAME,    -- 670: push_local_frame
      ops.GET_SLOT_DIRECT, 345,-- 671: get_slot_direct(345)
      ops.PUSH_LOCAL_FRAME,    -- 673: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 674: get_slot_direct(26)
      ops.PUSH_LITERAL, 304,   -- 676: push_literal(304)
      ops.PUSH_LITERAL, 413,   -- 678: push_literal(413)
      ops.INVOKE, 2,           -- 680: invoke(2)
      ops.POP,                 -- 682: pop
      ops.PUSH_LOCAL_FRAME,    -- 683: push_local_frame
      ops.GET_SLOT_DIRECT, 345,-- 684: get_slot_direct(345)
      ops.PUSH_LOCAL_FRAME,    -- 686: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 687: get_slot_direct(26)
      ops.PUSH_LITERAL, 141,   -- 689: push_literal(141)
      ops.PUSH_LITERAL, 413,   -- 691: push_literal(413)
      ops.INVOKE, 2,           -- 693: invoke(2)
      ops.POP,                 -- 695: pop
      ops.PUSH_LOCAL_FRAME,    -- 696: push_local_frame
      ops.GET_SLOT_DIRECT, 345,-- 697: get_slot_direct(345)
      ops.PUSH_LOCAL_FRAME,    -- 699: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 700: get_slot_direct(26)
      ops.PUSH_LITERAL, 319,   -- 702: push_literal(319)
      ops.PUSH_LITERAL, 414,   -- 704: push_literal(414)
      ops.INVOKE, 2,           -- 706: invoke(2)
      ops.POP,                 -- 708: pop
      ops.PUSH_LOCAL_FRAME,    -- 709: push_local_frame
      ops.GET_SLOT_DIRECT, 345,-- 710: get_slot_direct(345)
      ops.PUSH_LOCAL_FRAME,    -- 712: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 713: get_slot_direct(26)
      ops.PUSH_LITERAL, 318,   -- 715: push_literal(318)
      ops.PUSH_LITERAL, 414,   -- 717: push_literal(414)
      ops.INVOKE, 2,           -- 719: invoke(2)
      ops.POP,                 -- 721: pop
      ops.PUSH_LOCAL_FRAME,    -- 722: push_local_frame
      ops.GET_SLOT_DIRECT, 345,-- 723: get_slot_direct(345)
      ops.PUSH_LOCAL_FRAME,    -- 725: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 726: get_slot_direct(26)
      ops.PUSH_LITERAL, 149,   -- 728: push_literal(149)
      ops.PUSH_LITERAL, 415,   -- 730: push_literal(415)
      ops.NEW_FUNCTION, 84,    -- 732: new_function(84)
      ops.INVOKE, 3,           -- 734: invoke(3)
      ops.POP,                 -- 736: pop
      ops.PUSH_LOCAL_FRAME,    -- 737: push_local_frame
      ops.GET_SLOT_DIRECT, 345,-- 738: get_slot_direct(345)
      ops.PUSH_LOCAL_FRAME,    -- 740: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 741: get_slot_direct(26)
      ops.PUSH_LITERAL, 254,   -- 743: push_literal(254)
      ops.PUSH_LITERAL, 415,   -- 745: push_literal(415)
      ops.NEW_FUNCTION, 85,    -- 747: new_function(85)
      ops.INVOKE, 3,           -- 749: invoke(3)
      ops.POP,                 -- 751: pop
      ops.PUSH_LOCAL_FRAME,    -- 752: push_local_frame
      ops.GET_SLOT_DIRECT, 345,-- 753: get_slot_direct(345)
      ops.PUSH_LOCAL_FRAME,    -- 755: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 756: get_slot_direct(26)
      ops.PUSH_LITERAL, 378,   -- 758: push_literal(378)
      ops.PUSH_LITERAL, 417,   -- 760: push_literal(417)
      ops.NEW_FUNCTION, 86,    -- 762: new_function(86)
      ops.INVOKE, 3,           -- 764: invoke(3)
      ops.POP,                 -- 766: pop
      ops.PUSH_LOCAL_FRAME,    -- 767: push_local_frame
      ops.GET_SLOT_DIRECT, 282,-- 768: get_slot_direct(282)
      ops.PUSH_LOCAL_FRAME,    -- 770: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 771: get_slot_direct(26)
      ops.PUSH_LITERAL, 419,   -- 773: push_literal(419)
      ops.INVOKE, 1,           -- 775: invoke(1)
      ops.POP,                 -- 777: pop
      ops.PUSH_LOCAL_FRAME,    -- 778: push_local_frame
      ops.GET_SLOT_DIRECT, 282,-- 779: get_slot_direct(282)
      ops.PUSH_LOCAL_FRAME,    -- 781: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 782: get_slot_direct(26)
      ops.PUSH_LITERAL, 141,   -- 784: push_literal(141)
      ops.INVOKE, 1,           -- 786: invoke(1)
      ops.POP,                 -- 788: pop
      ops.PUSH_LOCAL_FRAME,    -- 789: push_local_frame
      ops.GET_SLOT_DIRECT, 282,-- 790: get_slot_direct(282)
      ops.PUSH_LOCAL_FRAME,    -- 792: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 793: get_slot_direct(26)
      ops.PUSH_LITERAL, 420,   -- 795: push_literal(420)
      ops.INVOKE, 1,           -- 797: invoke(1)
      ops.POP,                 -- 799: pop
      ops.PUSH_LOCAL_FRAME,    -- 800: push_local_frame
      ops.GET_SLOT_DIRECT, 282,-- 801: get_slot_direct(282)
      ops.PUSH_LOCAL_FRAME,    -- 803: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 804: get_slot_direct(26)
      ops.PUSH_LITERAL, 378,   -- 806: push_literal(378)
      ops.NEW_FUNCTION, 87,    -- 808: new_function(87)
      ops.INVOKE, 2,           -- 810: invoke(2)
      ops.POP,                 -- 812: pop
      ops.PUSH_LOCAL_FRAME,    -- 813: push_local_frame
      ops.GET_SLOT_DIRECT, 282,-- 814: get_slot_direct(282)
      ops.PUSH_LOCAL_FRAME,    -- 816: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 817: get_slot_direct(26)
      ops.PUSH_LITERAL, 25,    -- 819: push_literal(25)
      ops.NEW_FUNCTION, 88,    -- 821: new_function(88)
      ops.INVOKE, 2,           -- 823: invoke(2)
      ops.POP,                 -- 825: pop
      ops.PUSH_LOCAL_FRAME,    -- 826: push_local_frame
      ops.GET_SLOT_DIRECT, 282,-- 827: get_slot_direct(282)
      ops.PUSH_LOCAL_FRAME,    -- 829: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 830: get_slot_direct(26)
      ops.PUSH_LITERAL, 254,   -- 832: push_literal(254)
      ops.NEW_FUNCTION, 89,    -- 834: new_function(89)
      ops.INVOKE, 2,           -- 836: invoke(2)
      ops.POP,                 -- 838: pop
      ops.PUSH_LOCAL_FRAME,    -- 839: push_local_frame
      ops.GET_SLOT_DIRECT, 282,-- 840: get_slot_direct(282)
      ops.PUSH_LOCAL_FRAME,    -- 842: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 843: get_slot_direct(26)
      ops.PUSH_LITERAL, 244,   -- 845: push_literal(244)
      ops.NEW_FUNCTION, 90,    -- 847: new_function(90)
      ops.INVOKE, 2,           -- 849: invoke(2)
      ops.POP,                 -- 851: pop
      ops.PUSH_LOCAL_FRAME,    -- 852: push_local_frame
      ops.GET_SLOT_DIRECT, 348,-- 853: get_slot_direct(348)
      ops.PUSH_LOCAL_FRAME,    -- 855: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 856: get_slot_direct(26)
      ops.PUSH_LITERAL, 244,   -- 858: push_literal(244)
      ops.NEW_FUNCTION, 91,    -- 860: new_function(91)
      ops.INVOKE, 2,           -- 862: invoke(2)
      ops.POP,                 -- 864: pop
      ops.PUSH_LOCAL_FRAME,    -- 865: push_local_frame
      ops.GET_SLOT_DIRECT, 348,-- 866: get_slot_direct(348)
      ops.PUSH_LOCAL_FRAME,    -- 868: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 869: get_slot_direct(26)
      ops.PUSH_LITERAL, 382,   -- 871: push_literal(382)
      ops.NEW_FUNCTION, 92,    -- 873: new_function(92)
      ops.INVOKE, 2,           -- 875: invoke(2)
      ops.POP,                 -- 877: pop
      ops.PUSH_LOCAL_FRAME,    -- 878: push_local_frame
      ops.GET_SLOT_DIRECT, 348,-- 879: get_slot_direct(348)
      ops.PUSH_LOCAL_FRAME,    -- 881: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 882: get_slot_direct(26)
      ops.PUSH_LITERAL, 426,   -- 884: push_literal(426)
      ops.NEW_FUNCTION, 93,    -- 886: new_function(93)
      ops.INVOKE, 2,           -- 888: invoke(2)
      ops.POP,                 -- 890: pop
      ops.PUSH_LOCAL_FRAME,    -- 891: push_local_frame
      ops.GET_SLOT_DIRECT, 348,-- 892: get_slot_direct(348)
      ops.PUSH_LOCAL_FRAME,    -- 894: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 895: get_slot_direct(26)
      ops.PUSH_LITERAL, 427,   -- 897: push_literal(427)
      ops.NEW_FUNCTION, 94,    -- 899: new_function(94)
      ops.INVOKE, 2,           -- 901: invoke(2)
      ops.POP,                 -- 903: pop
      ops.PUSH_LOCAL_FRAME,    -- 904: push_local_frame
      ops.GET_SLOT_DIRECT, 348,-- 905: get_slot_direct(348)
      ops.PUSH_LOCAL_FRAME,    -- 907: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 908: get_slot_direct(26)
      ops.PUSH_LITERAL, 429,   -- 910: push_literal(429)
      ops.NEW_FUNCTION, 95,    -- 912: new_function(95)
      ops.INVOKE, 2,           -- 914: invoke(2)
      ops.POP,                 -- 916: pop
      ops.PUSH_LOCAL_FRAME,    -- 917: push_local_frame
      ops.GET_SLOT_DIRECT, 348,-- 918: get_slot_direct(348)
      ops.PUSH_LOCAL_FRAME,    -- 920: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 921: get_slot_direct(26)
      ops.PUSH_LITERAL, 185,   -- 923: push_literal(185)
      ops.NEW_FUNCTION, 96,    -- 925: new_function(96)
      ops.INVOKE, 2,           -- 927: invoke(2)
      ops.POP,                 -- 929: pop
      ops.PUSH_LOCAL_FRAME,    -- 930: push_local_frame
      ops.NEW_FUNCTION, 97,    -- 931: new_function(97)
      ops.SET_SLOT_DIRECT, 325,-- 933: set_slot_direct(325)
      ops.PUSH_LOCAL_FRAME,    -- 935: push_local_frame
      ops.NEW_FUNCTION, 100,   -- 936: new_function(100)
      ops.SET_SLOT_DIRECT, 349,-- 938: set_slot_direct(349)
      ops.PUSH_LOCAL_FRAME,    -- 940: push_local_frame
      ops.GET_SLOT_DIRECT, 325,-- 941: get_slot_direct(325)
      ops.PUSH_LITERAL, 325,   -- 943: push_literal(325)
      ops.SET_SLOT_DIRECT, 321,-- 945: set_slot_direct(321)
      ops.PUSH_LOCAL_FRAME,    -- 947: push_local_frame
      ops.GET_SLOT_DIRECT, 325,-- 948: get_slot_direct(325)
      ops.PUSH_FRAME,          -- 950: push_frame
      ops.GET_SLOT_DIRECT, 443,-- 951: get_slot_direct(443)
      ops.SET_SLOT_DIRECT, 323,-- 953: set_slot_direct(323)
      ops.PUSH_LOCAL_FRAME,    -- 955: push_local_frame
      ops.GET_SLOT_DIRECT, 325,-- 956: get_slot_direct(325)
      ops.NEW_ARRAY,           -- 958: new_array
      ops.DUP,                 -- 959: dup
      ops.PUSH_LITERAL, 279,   -- 960: push_literal(279)
      ops.SET_SLOT_DIRECT, 18, -- 962: set_slot_direct(18)
      ops.SET_SLOT_DIRECT, 444,-- 964: set_slot_direct(444)
      ops.PUSH_LOCAL_FRAME,    -- 966: push_local_frame
      ops.GET_SLOT_DIRECT, 325,-- 967: get_slot_direct(325)
      ops.PUSH_LOCAL_FRAME,    -- 969: push_local_frame
      ops.GET_SLOT_DIRECT, 327,-- 970: get_slot_direct(327)
      ops.SET_SLOT_DIRECT, 324,-- 972: set_slot_direct(324)
      ops.PUSH_LOCAL_FRAME,    -- 974: push_local_frame
      ops.GET_SLOT_DIRECT, 325,-- 975: get_slot_direct(325)
      ops.PUSH_LOCAL_FRAME,    -- 977: push_local_frame
      ops.GET_SLOT_DIRECT, 349,-- 978: get_slot_direct(349)
      ops.SET_SLOT_DIRECT, 445,-- 980: set_slot_direct(445)
      ops.PUSH_LOCAL_FRAME,    -- 982: push_local_frame
      ops.GET_SLOT_DIRECT, 325,-- 983: get_slot_direct(325)
      ops.RETURN               -- 985: return
    }
  },
  ifunc.Function:new{ -- "itself"
    name = jsval.newString("itself"),
    id = 53,
    nargs = 0,
    max_stack = 1,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1: get_slot_direct(26)
      ops.RETURN               -- 3: return
    }
  },
  ifunc.Function:new{ -- "error"
    name = jsval.newString("error"),
    id = 54,
    nargs = 3,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 30, -- 8: set_slot_direct(30)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 288,-- 15: set_slot_direct(288)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT, 136,-- 18: get_slot_direct(136)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.SWAP,                -- 21: swap
      ops.SET_SLOT_DIRECT, 289,-- 22: set_slot_direct(289)
      ops.POP,                 -- 24: pop
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 27: get_slot_direct(289)
      ops.DUP,                 -- 29: dup
      ops.UN_NOT,              -- 30: un_not
      ops.JMP_UNLESS, 38, 38,  -- 31: jmp_unless(38,38)
      ops.POP,                 -- 34: pop
      ops.PUSH_LOCAL_FRAME,    -- 35: push_local_frame
      ops.GET_SLOT_DIRECT, 30, -- 36: get_slot_direct(30)
      ops.PHI,                 -- 38: phi
      ops.SET_SLOT_DIRECT, 289,-- 39: set_slot_direct(289)
      ops.PUSH_LOCAL_FRAME,    -- 41: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 42: get_slot_direct(289)
      ops.PUSH_LITERAL, 290,   -- 44: push_literal(290)
      ops.SET_SLOT_DIRECT, 19, -- 46: set_slot_direct(19)
      ops.PUSH_LOCAL_FRAME,    -- 48: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 49: get_slot_direct(289)
      ops.GET_SLOT_DIRECT, 52, -- 51: get_slot_direct(52)
      ops.DUP,                 -- 53: dup
      ops.UN_NOT,              -- 54: un_not
      ops.JMP_UNLESS, 64, 64,  -- 55: jmp_unless(64,64)
      ops.POP,                 -- 58: pop
      ops.PUSH_LOCAL_FRAME,    -- 59: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 60: get_slot_direct(289)
      ops.GET_SLOT_DIRECT, 291,-- 62: get_slot_direct(291)
      ops.PHI,                 -- 64: phi
      ops.JMP_UNLESS, 95, 95,  -- 65: jmp_unless(95,95)
      ops.PUSH_LOCAL_FRAME,    -- 68: push_local_frame
      ops.DUP,                 -- 69: dup
      ops.GET_SLOT_DIRECT, 288,-- 70: get_slot_direct(288)
      ops.PUSH_LITERAL, 292,   -- 72: push_literal(292)
      ops.PUSH_LOCAL_FRAME,    -- 74: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 75: get_slot_direct(289)
      ops.GET_SLOT_DIRECT, 52, -- 77: get_slot_direct(52)
      ops.BI_ADD,              -- 79: bi_add
      ops.PUSH_LITERAL, 141,   -- 80: push_literal(141)
      ops.BI_ADD,              -- 82: bi_add
      ops.PUSH_LOCAL_FRAME,    -- 83: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 84: get_slot_direct(289)
      ops.GET_SLOT_DIRECT, 291,-- 86: get_slot_direct(291)
      ops.BI_ADD,              -- 88: bi_add
      ops.PUSH_LITERAL, 255,   -- 89: push_literal(255)
      ops.BI_ADD,              -- 91: bi_add
      ops.BI_ADD,              -- 92: bi_add
      ops.SET_SLOT_DIRECT, 288,-- 93: set_slot_direct(288)
      ops.PHI,                 -- 95: phi
      ops.PUSH_LOCAL_FRAME,    -- 96: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 97: get_slot_direct(289)
      ops.PUSH_LOCAL_FRAME,    -- 99: push_local_frame
      ops.GET_SLOT_DIRECT, 288,-- 100: get_slot_direct(288)
      ops.SET_SLOT_DIRECT, 288,-- 102: set_slot_direct(288)
      ops.PUSH_FRAME,          -- 104: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 105: get_slot_direct(14)
      ops.DUP,                 -- 107: dup
      ops.GET_SLOT_DIRECT_CHECK, 6,-- 108: get_slot_direct_check(6)
      ops.SWAP,                -- 110: swap
      ops.PUSH_LOCAL_FRAME,    -- 111: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 112: get_slot_direct(289)
      ops.INVOKE, 1,           -- 114: invoke(1)
      ops.POP,                 -- 116: pop
      ops.PUSH_LITERAL, 0,     -- 117: push_literal(0)
      ops.RETURN               -- 119: return
    }
  },
  ifunc.Function:new{ -- "hasOwnProperty"
    name = jsval.newString("hasOwnProperty"),
    id = 55,
    nargs = 2,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 30, -- 8: set_slot_direct(30)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 350,-- 15: set_slot_direct(350)
      ops.POP,                 -- 17: pop
      ops.PUSH_FRAME,          -- 18: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 19: get_slot_direct(14)
      ops.GET_SLOT_DIRECT, 11, -- 21: get_slot_direct(11)
      ops.GET_SLOT_DIRECT, 89, -- 23: get_slot_direct(89)
      ops.DUP,                 -- 25: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 26: get_slot_direct_check(93)
      ops.SWAP,                -- 28: swap
      ops.PUSH_LOCAL_FRAME,    -- 29: push_local_frame
      ops.GET_SLOT_DIRECT, 30, -- 30: get_slot_direct(30)
      ops.PUSH_LOCAL_FRAME,    -- 32: push_local_frame
      ops.GET_SLOT_DIRECT, 350,-- 33: get_slot_direct(350)
      ops.INVOKE, 2,           -- 35: invoke(2)
      ops.RETURN               -- 37: return
    }
  },
  ifunc.Function:new{ -- "define:"
    name = jsval.newString("define:"),
    id = 56,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 23, -- 8: set_slot_direct(23)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 289,-- 14: set_slot_direct(289)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 17: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 18: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 351,-- 20: get_slot_direct(351)
      ops.PUSH_LOCAL_FRAME,    -- 22: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 23: get_slot_direct(23)
      ops.GET_SLOT_DIRECT, 224,-- 25: get_slot_direct(224)
      ops.GET_SLOT_INDIRECT,   -- 27: get_slot_indirect
      ops.SET_SLOT_DIRECT, 289,-- 28: set_slot_direct(289)
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 31: get_slot_direct(289)
      ops.UN_TYPEOF,           -- 33: un_typeof
      ops.PUSH_LITERAL, 88,    -- 34: push_literal(88)
      ops.BI_EQ,               -- 36: bi_eq
      ops.JMP_UNLESS, 67, 67,  -- 37: jmp_unless(67,67)
      ops.PUSH_FRAME,          -- 40: push_frame
      ops.GET_SLOT_DIRECT, 286,-- 41: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 43: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 44: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 46: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 47: get_slot_direct(23)
      ops.PUSH_LOCAL_FRAME,    -- 49: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 50: get_slot_direct(289)
      ops.GET_SLOT_DIRECT, 352,-- 52: get_slot_direct(352)
      ops.JMP_UNLESS, 61, 63,  -- 54: jmp_unless(61,63)
      ops.PUSH_LITERAL, 353,   -- 57: push_literal(353)
      ops.JMP, 63,             -- 59: jmp(63)
      ops.PUSH_LITERAL, 354,   -- 61: push_literal(354)
      ops.PHI,                 -- 63: phi
      ops.INVOKE, 2,           -- 64: invoke(2)
      ops.POP,                 -- 66: pop
      ops.PHI,                 -- 67: phi
      ops.PUSH_LOCAL_FRAME,    -- 68: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 69: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 351,-- 71: get_slot_direct(351)
      ops.PUSH_LOCAL_FRAME,    -- 73: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 74: get_slot_direct(23)
      ops.GET_SLOT_DIRECT, 224,-- 76: get_slot_direct(224)
      ops.PUSH_LOCAL_FRAME,    -- 78: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 79: get_slot_direct(23)
      ops.SET_SLOT_INDIRECT,   -- 81: set_slot_indirect
      ops.PUSH_LOCAL_FRAME,    -- 82: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 83: get_slot_direct(23)
      ops.PUSH_LITERAL, 32,    -- 85: push_literal(32)
      ops.SET_SLOT_DIRECT, 352,-- 87: set_slot_direct(352)
      ops.PUSH_LOCAL_FRAME,    -- 89: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 90: get_slot_direct(23)
      ops.PUSH_FRAME,          -- 92: push_frame
      ops.GET_SLOT_DIRECT, 333,-- 93: get_slot_direct(333)
      ops.SET_SLOT_DIRECT, 355,-- 95: set_slot_direct(355)
      ops.PUSH_LOCAL_FRAME,    -- 97: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 98: get_slot_direct(23)
      ops.PUSH_LITERAL, 41,    -- 100: push_literal(41)
      ops.SET_SLOT_DIRECT, 356,-- 102: set_slot_direct(356)
      ops.PUSH_LOCAL_FRAME,    -- 104: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 105: get_slot_direct(23)
      ops.PUSH_LITERAL, 41,    -- 107: push_literal(41)
      ops.SET_SLOT_DIRECT, 357,-- 109: set_slot_direct(357)
      ops.PUSH_LOCAL_FRAME,    -- 111: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 112: get_slot_direct(23)
      ops.PUSH_LITERAL, 18,    -- 114: push_literal(18)
      ops.SET_SLOT_DIRECT, 358,-- 116: set_slot_direct(358)
      ops.PUSH_LOCAL_FRAME,    -- 118: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 119: get_slot_direct(23)
      ops.PUSH_FRAME,          -- 121: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 122: get_slot_direct(328)
      ops.SET_SLOT_DIRECT, 328,-- 124: set_slot_direct(328)
      ops.PUSH_LOCAL_FRAME,    -- 126: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 127: get_slot_direct(23)
      ops.RETURN               -- 129: return
    }
  },
  ifunc.Function:new{ -- "find:"
    name = jsval.newString("find:"),
    id = 57,
    nargs = 1,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 23, -- 8: set_slot_direct(23)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 87, -- 14: set_slot_direct(87)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 116,-- 19: set_slot_direct(116)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 22: push_literal(0)
      ops.SET_SLOT_DIRECT, 359,-- 24: set_slot_direct(359)
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 28: get_slot_direct(26)
      ops.SET_SLOT_DIRECT, 87, -- 30: set_slot_direct(87)
      ops.PUSH_LOCAL_FRAME,    -- 32: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 33: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 34: get_slot_direct(23)
      ops.PUSH_LITERAL, 17,    -- 36: push_literal(17)
      ops.BI_EQ,               -- 38: bi_eq
      ops.SET_SLOT_DIRECT, 359,-- 39: set_slot_direct(359)
      ops.JMP_INTO_LOOP, 160, 167,-- 41: jmp_into_loop(160,167)
      ops.PUSH_LOCAL_FRAME,    -- 44: push_local_frame
      ops.PUSH_FRAME,          -- 45: push_frame
      ops.GET_SLOT_DIRECT, 89, -- 46: get_slot_direct(89)
      ops.PUSH_LOCAL_FRAME,    -- 48: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 49: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 51: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 52: get_slot_direct(87)
      ops.GET_SLOT_DIRECT, 351,-- 54: get_slot_direct(351)
      ops.PUSH_LOCAL_FRAME,    -- 56: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 57: get_slot_direct(23)
      ops.INVOKE, 2,           -- 59: invoke(2)
      ops.JMP_UNLESS, 75, 77,  -- 61: jmp_unless(75,77)
      ops.PUSH_LOCAL_FRAME,    -- 64: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 65: get_slot_direct(87)
      ops.GET_SLOT_DIRECT, 351,-- 67: get_slot_direct(351)
      ops.PUSH_LOCAL_FRAME,    -- 69: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 70: get_slot_direct(23)
      ops.GET_SLOT_INDIRECT,   -- 72: get_slot_indirect
      ops.JMP, 77,             -- 73: jmp(77)
      ops.PUSH_LITERAL, 41,    -- 75: push_literal(41)
      ops.PHI,                 -- 77: phi
      ops.SET_SLOT_DIRECT, 116,-- 78: set_slot_direct(116)
      ops.PUSH_LOCAL_FRAME,    -- 80: push_local_frame
      ops.GET_SLOT_DIRECT, 116,-- 81: get_slot_direct(116)
      ops.JMP_UNLESS, 108, 108,-- 83: jmp_unless(108,108)
      ops.PUSH_LOCAL_FRAME,    -- 86: push_local_frame
      ops.GET_SLOT_DIRECT, 359,-- 87: get_slot_direct(359)
      ops.JMP_UNLESS, 103, 103,-- 89: jmp_unless(103,103)
      ops.PUSH_LOCAL_FRAME,    -- 92: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 93: get_slot_direct(87)
      ops.GET_SLOT_DIRECT, 359,-- 95: get_slot_direct(359)
      ops.PUSH_LOCAL_FRAME,    -- 97: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 98: get_slot_direct(23)
      ops.PUSH_LITERAL, 118,   -- 100: push_literal(118)
      ops.SET_SLOT_INDIRECT,   -- 102: set_slot_indirect
      ops.PHI,                 -- 103: phi
      ops.PUSH_LOCAL_FRAME,    -- 104: push_local_frame
      ops.GET_SLOT_DIRECT, 116,-- 105: get_slot_direct(116)
      ops.RETURN,              -- 107: return
      ops.PHI,                 -- 108: phi
      ops.PUSH_LOCAL_FRAME,    -- 109: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 110: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 111: get_slot_direct(87)
      ops.GET_SLOT_DIRECT, 360,-- 113: get_slot_direct(360)
      ops.SET_SLOT_DIRECT, 87, -- 115: set_slot_direct(87)
      ops.PUSH_LOCAL_FRAME,    -- 117: push_local_frame
      ops.PUSH_LITERAL, 118,   -- 118: push_literal(118)
      ops.SET_SLOT_DIRECT, 359,-- 120: set_slot_direct(359)
      ops.PUSH_LOCAL_FRAME,    -- 122: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 123: get_slot_direct(87)
      ops.UN_NOT,              -- 125: un_not
      ops.JMP_UNLESS, 159, 159,-- 126: jmp_unless(159,159)
      ops.PUSH_FRAME,          -- 129: push_frame
      ops.GET_SLOT_DIRECT, 329,-- 130: get_slot_direct(329)
      ops.PUSH_FRAME,          -- 132: push_frame
      ops.GET_SLOT_DIRECT, 89, -- 133: get_slot_direct(89)
      ops.PUSH_LOCAL_FRAME,    -- 135: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 136: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 138: push_frame
      ops.GET_SLOT_DIRECT, 329,-- 139: get_slot_direct(329)
      ops.PUSH_LOCAL_FRAME,    -- 141: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 142: get_slot_direct(23)
      ops.INVOKE, 2,           -- 144: invoke(2)
      ops.JMP_UNLESS, 154, 156,-- 146: jmp_unless(154,156)
      ops.PUSH_LOCAL_FRAME,    -- 149: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 150: get_slot_direct(23)
      ops.JMP, 156,            -- 152: jmp(156)
      ops.PUSH_LITERAL, 361,   -- 154: push_literal(361)
      ops.PHI,                 -- 156: phi
      ops.GET_SLOT_INDIRECT,   -- 157: get_slot_indirect
      ops.RETURN,              -- 158: return
      ops.PHI,                 -- 159: phi
      ops.PHI,                 -- 160: phi
      ops.PUSH_LITERAL, 118,   -- 161: push_literal(118)
      ops.UN_NOT,              -- 163: un_not
      ops.JMP_UNLESS, 44, 167, -- 164: jmp_unless(44,167)
      ops.PHI,                 -- 167: phi
      ops.PUSH_LITERAL, 0,     -- 168: push_literal(0)
      ops.RETURN               -- 170: return
    }
  },
  ifunc.Function:new{ -- "pop:"
    name = jsval.newString("pop:"),
    id = 58,
    nargs = 0,
    max_stack = 2,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 1: get_slot_direct(117)
      ops.PUSH_LOCAL_FRAME,    -- 3: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 4: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 360,-- 6: get_slot_direct(360)
      ops.SET_SLOT_DIRECT, 328,-- 8: set_slot_direct(328)
      ops.PUSH_LITERAL, 0,     -- 10: push_literal(0)
      ops.RETURN               -- 12: return
    }
  },
  ifunc.Function:new{ -- "reserve:"
    name = jsval.newString("reserve:"),
    id = 59,
    nargs = 1,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 23, -- 8: set_slot_direct(23)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 289,-- 14: set_slot_direct(289)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 17: get_slot_direct(23)
      ops.GET_SLOT_DIRECT, 363,-- 19: get_slot_direct(363)
      ops.PUSH_LITERAL, 19,    -- 21: push_literal(19)
      ops.BI_EQ,               -- 23: bi_eq
      ops.UN_NOT,              -- 24: un_not
      ops.DUP,                 -- 25: dup
      ops.UN_NOT,              -- 26: un_not
      ops.JMP_UNLESS, 36, 36,  -- 27: jmp_unless(36,36)
      ops.POP,                 -- 30: pop
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 32: get_slot_direct(23)
      ops.GET_SLOT_DIRECT, 352,-- 34: get_slot_direct(352)
      ops.PHI,                 -- 36: phi
      ops.JMP_UNLESS, 43, 43,  -- 37: jmp_unless(43,43)
      ops.PUSH_LITERAL, 0,     -- 40: push_literal(0)
      ops.RETURN,              -- 42: return
      ops.PHI,                 -- 43: phi
      ops.PUSH_LOCAL_FRAME,    -- 44: push_local_frame
      ops.PUSH_FRAME,          -- 45: push_frame
      ops.GET_SLOT_DIRECT, 89, -- 46: get_slot_direct(89)
      ops.PUSH_LOCAL_FRAME,    -- 48: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 49: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 51: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 52: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 351,-- 54: get_slot_direct(351)
      ops.PUSH_LOCAL_FRAME,    -- 56: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 57: get_slot_direct(23)
      ops.GET_SLOT_DIRECT, 224,-- 59: get_slot_direct(224)
      ops.INVOKE, 2,           -- 61: invoke(2)
      ops.JMP_UNLESS, 79, 81,  -- 63: jmp_unless(79,81)
      ops.PUSH_LOCAL_FRAME,    -- 66: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 67: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 351,-- 69: get_slot_direct(351)
      ops.PUSH_LOCAL_FRAME,    -- 71: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 72: get_slot_direct(23)
      ops.GET_SLOT_DIRECT, 224,-- 74: get_slot_direct(224)
      ops.GET_SLOT_INDIRECT,   -- 76: get_slot_indirect
      ops.JMP, 81,             -- 77: jmp(81)
      ops.PUSH_LITERAL, 41,    -- 79: push_literal(41)
      ops.PHI,                 -- 81: phi
      ops.SET_SLOT_DIRECT, 289,-- 82: set_slot_direct(289)
      ops.PUSH_LOCAL_FRAME,    -- 84: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 85: get_slot_direct(289)
      ops.JMP_UNLESS, 128, 128,-- 87: jmp_unless(128,128)
      ops.PUSH_LOCAL_FRAME,    -- 90: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 91: get_slot_direct(289)
      ops.GET_SLOT_DIRECT, 352,-- 93: get_slot_direct(352)
      ops.JMP_UNLESS, 101, 101,-- 95: jmp_unless(101,101)
      ops.PUSH_LITERAL, 0,     -- 98: push_literal(0)
      ops.RETURN,              -- 100: return
      ops.PHI,                 -- 101: phi
      ops.PUSH_LOCAL_FRAME,    -- 102: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 103: get_slot_direct(289)
      ops.GET_SLOT_DIRECT, 363,-- 105: get_slot_direct(363)
      ops.PUSH_LITERAL, 19,    -- 107: push_literal(19)
      ops.BI_EQ,               -- 109: bi_eq
      ops.JMP_UNLESS, 127, 127,-- 110: jmp_unless(127,127)
      ops.PUSH_FRAME,          -- 113: push_frame
      ops.GET_SLOT_DIRECT, 286,-- 114: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 116: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 117: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 119: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 120: get_slot_direct(23)
      ops.PUSH_LITERAL, 354,   -- 122: push_literal(354)
      ops.INVOKE, 2,           -- 124: invoke(2)
      ops.POP,                 -- 126: pop
      ops.PHI,                 -- 127: phi
      ops.PHI,                 -- 128: phi
      ops.PUSH_LOCAL_FRAME,    -- 129: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 130: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 351,-- 132: get_slot_direct(351)
      ops.PUSH_LOCAL_FRAME,    -- 134: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 135: get_slot_direct(23)
      ops.GET_SLOT_DIRECT, 224,-- 137: get_slot_direct(224)
      ops.PUSH_LOCAL_FRAME,    -- 139: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 140: get_slot_direct(23)
      ops.SET_SLOT_INDIRECT,   -- 142: set_slot_indirect
      ops.PUSH_LOCAL_FRAME,    -- 143: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 144: get_slot_direct(23)
      ops.PUSH_LITERAL, 118,   -- 146: push_literal(118)
      ops.SET_SLOT_DIRECT, 352,-- 148: set_slot_direct(352)
      ops.PUSH_LITERAL, 0,     -- 150: push_literal(0)
      ops.RETURN               -- 152: return
    }
  },
  ifunc.Function:new{ -- "new_scope"
    name = jsval.newString("new_scope"),
    id = 60,
    nargs = 0,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 365,-- 3: set_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 5: push_local_frame
      ops.PUSH_FRAME,          -- 6: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 7: get_slot_direct(328)
      ops.SET_SLOT_DIRECT, 365,-- 9: set_slot_direct(365)
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 12: get_slot_direct(117)
      ops.PUSH_FRAME,          -- 14: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 15: get_slot_direct(14)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT_CHECK, 119,-- 18: get_slot_direct_check(119)
      ops.SWAP,                -- 20: swap
      ops.PUSH_FRAME,          -- 21: push_frame
      ops.GET_SLOT_DIRECT, 334,-- 22: get_slot_direct(334)
      ops.INVOKE, 1,           -- 24: invoke(1)
      ops.SET_SLOT_DIRECT, 328,-- 26: set_slot_direct(328)
      ops.PUSH_FRAME,          -- 28: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 29: get_slot_direct(328)
      ops.NEW_OBJECT,          -- 31: new_object
      ops.SET_SLOT_DIRECT, 351,-- 32: set_slot_direct(351)
      ops.PUSH_FRAME,          -- 34: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 35: get_slot_direct(328)
      ops.NEW_OBJECT,          -- 37: new_object
      ops.SET_SLOT_DIRECT, 359,-- 38: set_slot_direct(359)
      ops.PUSH_FRAME,          -- 40: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 41: get_slot_direct(328)
      ops.PUSH_LOCAL_FRAME,    -- 43: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 44: get_slot_direct(365)
      ops.SET_SLOT_DIRECT, 360,-- 46: set_slot_direct(360)
      ops.PUSH_FRAME,          -- 48: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 49: get_slot_direct(328)
      ops.PUSH_LOCAL_FRAME,    -- 51: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 52: get_slot_direct(365)
      ops.JMP_UNLESS, 67, 69,  -- 54: jmp_unless(67,69)
      ops.PUSH_LOCAL_FRAME,    -- 57: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 58: get_slot_direct(365)
      ops.GET_SLOT_DIRECT, 366,-- 60: get_slot_direct(366)
      ops.PUSH_LITERAL, 31,    -- 62: push_literal(31)
      ops.BI_ADD,              -- 64: bi_add
      ops.JMP, 69,             -- 65: jmp(69)
      ops.PUSH_LITERAL, 18,    -- 67: push_literal(18)
      ops.PHI,                 -- 69: phi
      ops.SET_SLOT_DIRECT, 366,-- 70: set_slot_direct(366)
      ops.PUSH_FRAME,          -- 72: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 73: get_slot_direct(328)
      ops.RETURN               -- 75: return
    }
  },
  ifunc.Function:new{ -- "copy_scope"
    name = jsval.newString("copy_scope"),
    id = 61,
    nargs = 0,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 365,-- 3: set_slot_direct(365)
      ops.PUSH_FRAME,          -- 5: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 6: get_slot_direct(14)
      ops.GET_SLOT_DIRECT, 367,-- 8: get_slot_direct(367)
      ops.UN_NOT,              -- 10: un_not
      ops.JMP_UNLESS, 18, 18,  -- 11: jmp_unless(18,18)
      ops.PUSH_FRAME,          -- 14: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 15: get_slot_direct(328)
      ops.RETURN,              -- 17: return
      ops.PHI,                 -- 18: phi
      ops.PUSH_LOCAL_FRAME,    -- 19: push_local_frame
      ops.PUSH_FRAME,          -- 20: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 21: get_slot_direct(14)
      ops.DUP,                 -- 23: dup
      ops.GET_SLOT_DIRECT_CHECK, 119,-- 24: get_slot_direct_check(119)
      ops.SWAP,                -- 26: swap
      ops.PUSH_FRAME,          -- 27: push_frame
      ops.GET_SLOT_DIRECT, 334,-- 28: get_slot_direct(334)
      ops.INVOKE, 1,           -- 30: invoke(1)
      ops.SET_SLOT_DIRECT, 365,-- 32: set_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 34: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 35: get_slot_direct(365)
      ops.PUSH_FRAME,          -- 37: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 38: get_slot_direct(14)
      ops.DUP,                 -- 40: dup
      ops.GET_SLOT_DIRECT_CHECK, 367,-- 41: get_slot_direct_check(367)
      ops.SWAP,                -- 43: swap
      ops.NEW_OBJECT,          -- 44: new_object
      ops.PUSH_FRAME,          -- 45: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 46: get_slot_direct(328)
      ops.GET_SLOT_DIRECT, 351,-- 48: get_slot_direct(351)
      ops.INVOKE, 2,           -- 50: invoke(2)
      ops.SET_SLOT_DIRECT, 351,-- 52: set_slot_direct(351)
      ops.PUSH_LOCAL_FRAME,    -- 54: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 55: get_slot_direct(365)
      ops.PUSH_FRAME,          -- 57: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 58: get_slot_direct(14)
      ops.DUP,                 -- 60: dup
      ops.GET_SLOT_DIRECT_CHECK, 367,-- 61: get_slot_direct_check(367)
      ops.SWAP,                -- 63: swap
      ops.NEW_OBJECT,          -- 64: new_object
      ops.PUSH_FRAME,          -- 65: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 66: get_slot_direct(328)
      ops.GET_SLOT_DIRECT, 359,-- 68: get_slot_direct(359)
      ops.INVOKE, 2,           -- 70: invoke(2)
      ops.SET_SLOT_DIRECT, 359,-- 72: set_slot_direct(359)
      ops.PUSH_LOCAL_FRAME,    -- 74: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 75: get_slot_direct(365)
      ops.PUSH_FRAME,          -- 77: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 78: get_slot_direct(328)
      ops.GET_SLOT_DIRECT, 360,-- 80: get_slot_direct(360)
      ops.SET_SLOT_DIRECT, 360,-- 82: set_slot_direct(360)
      ops.PUSH_LOCAL_FRAME,    -- 84: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 85: get_slot_direct(365)
      ops.PUSH_FRAME,          -- 87: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 88: get_slot_direct(328)
      ops.GET_SLOT_DIRECT, 366,-- 90: get_slot_direct(366)
      ops.SET_SLOT_DIRECT, 366,-- 92: set_slot_direct(366)
      ops.PUSH_LOCAL_FRAME,    -- 94: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 95: get_slot_direct(365)
      ops.RETURN               -- 97: return
    }
  },
  ifunc.Function:new{ -- "advance"
    name = jsval.newString("advance"),
    id = 62,
    nargs = 1,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 368,-- 8: set_slot_direct(368)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 296,-- 14: set_slot_direct(296)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 116,-- 19: set_slot_direct(116)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 22: push_literal(0)
      ops.SET_SLOT_DIRECT, 289,-- 24: set_slot_direct(289)
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 27: push_literal(0)
      ops.SET_SLOT_DIRECT, 110,-- 29: set_slot_direct(110)
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.GET_SLOT_DIRECT, 368,-- 32: get_slot_direct(368)
      ops.DUP,                 -- 34: dup
      ops.JMP_UNLESS, 49, 49,  -- 35: jmp_unless(49,49)
      ops.POP,                 -- 38: pop
      ops.PUSH_FRAME,          -- 39: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 40: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 42: get_slot_direct(368)
      ops.PUSH_LOCAL_FRAME,    -- 44: push_local_frame
      ops.GET_SLOT_DIRECT, 368,-- 45: get_slot_direct(368)
      ops.BI_EQ,               -- 47: bi_eq
      ops.UN_NOT,              -- 48: un_not
      ops.PHI,                 -- 49: phi
      ops.JMP_UNLESS, 74, 74,  -- 50: jmp_unless(74,74)
      ops.PUSH_FRAME,          -- 53: push_frame
      ops.GET_SLOT_DIRECT, 286,-- 54: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 56: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 57: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 59: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 60: get_slot_direct(330)
      ops.PUSH_LITERAL, 369,   -- 62: push_literal(369)
      ops.PUSH_LOCAL_FRAME,    -- 64: push_local_frame
      ops.GET_SLOT_DIRECT, 368,-- 65: get_slot_direct(368)
      ops.BI_ADD,              -- 67: bi_add
      ops.PUSH_LITERAL, 370,   -- 68: push_literal(370)
      ops.BI_ADD,              -- 70: bi_add
      ops.INVOKE, 2,           -- 71: invoke(2)
      ops.POP,                 -- 73: pop
      ops.PHI,                 -- 74: phi
      ops.PUSH_FRAME,          -- 75: push_frame
      ops.GET_SLOT_DIRECT, 332,-- 76: get_slot_direct(332)
      ops.PUSH_FRAME,          -- 78: push_frame
      ops.GET_SLOT_DIRECT, 331,-- 79: get_slot_direct(331)
      ops.GET_SLOT_DIRECT, 55, -- 81: get_slot_direct(55)
      ops.BI_GTE,              -- 83: bi_gte
      ops.JMP_UNLESS, 101, 101,-- 84: jmp_unless(101,101)
      ops.PUSH_FRAME,          -- 87: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 88: get_slot_direct(117)
      ops.PUSH_FRAME,          -- 90: push_frame
      ops.GET_SLOT_DIRECT, 329,-- 91: get_slot_direct(329)
      ops.PUSH_LITERAL, 371,   -- 93: push_literal(371)
      ops.GET_SLOT_INDIRECT,   -- 95: get_slot_indirect
      ops.SET_SLOT_DIRECT, 330,-- 96: set_slot_direct(330)
      ops.PUSH_LITERAL, 0,     -- 98: push_literal(0)
      ops.RETURN,              -- 100: return
      ops.PHI,                 -- 101: phi
      ops.PUSH_LOCAL_FRAME,    -- 102: push_local_frame
      ops.PUSH_FRAME,          -- 103: push_frame
      ops.GET_SLOT_DIRECT, 331,-- 104: get_slot_direct(331)
      ops.PUSH_FRAME,          -- 106: push_frame
      ops.GET_SLOT_DIRECT, 332,-- 107: get_slot_direct(332)
      ops.GET_SLOT_INDIRECT,   -- 109: get_slot_indirect
      ops.SET_SLOT_DIRECT, 289,-- 110: set_slot_direct(289)
      ops.PUSH_FRAME,          -- 112: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 113: get_slot_direct(117)
      ops.DUP,                 -- 115: dup
      ops.GET_SLOT_DIRECT, 332,-- 116: get_slot_direct(332)
      ops.PUSH_LITERAL, 31,    -- 118: push_literal(31)
      ops.BI_ADD,              -- 120: bi_add
      ops.SET_SLOT_DIRECT, 332,-- 121: set_slot_direct(332)
      ops.PUSH_LOCAL_FRAME,    -- 123: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 124: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 125: get_slot_direct(289)
      ops.GET_SLOT_DIRECT, 224,-- 127: get_slot_direct(224)
      ops.SET_SLOT_DIRECT, 110,-- 129: set_slot_direct(110)
      ops.PUSH_LOCAL_FRAME,    -- 131: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 132: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 133: get_slot_direct(289)
      ops.GET_SLOT_DIRECT, 293,-- 135: get_slot_direct(293)
      ops.SET_SLOT_DIRECT, 296,-- 137: set_slot_direct(296)
      ops.PUSH_LOCAL_FRAME,    -- 139: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 140: get_slot_direct(296)
      ops.PUSH_LITERAL, 19,    -- 142: push_literal(19)
      ops.BI_EQ,               -- 144: bi_eq
      ops.JMP_UNLESS, 165, 266,-- 145: jmp_unless(165,266)
      ops.PUSH_LOCAL_FRAME,    -- 148: push_local_frame
      ops.PUSH_FRAME,          -- 149: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 150: get_slot_direct(328)
      ops.DUP,                 -- 152: dup
      ops.GET_SLOT_DIRECT_CHECK, 362,-- 153: get_slot_direct_check(362)
      ops.SWAP,                -- 155: swap
      ops.PUSH_LOCAL_FRAME,    -- 156: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 157: get_slot_direct(110)
      ops.INVOKE, 1,           -- 159: invoke(1)
      ops.SET_SLOT_DIRECT, 116,-- 161: set_slot_direct(116)
      ops.JMP, 266,            -- 163: jmp(266)
      ops.PUSH_LOCAL_FRAME,    -- 165: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 166: get_slot_direct(296)
      ops.PUSH_LITERAL, 320,   -- 168: push_literal(320)
      ops.BI_EQ,               -- 170: bi_eq
      ops.JMP_UNLESS, 212, 265,-- 171: jmp_unless(212,265)
      ops.PUSH_LOCAL_FRAME,    -- 174: push_local_frame
      ops.PUSH_FRAME,          -- 175: push_frame
      ops.GET_SLOT_DIRECT, 329,-- 176: get_slot_direct(329)
      ops.PUSH_LOCAL_FRAME,    -- 178: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 179: get_slot_direct(110)
      ops.GET_SLOT_INDIRECT,   -- 181: get_slot_indirect
      ops.SET_SLOT_DIRECT, 116,-- 182: set_slot_direct(116)
      ops.PUSH_LOCAL_FRAME,    -- 184: push_local_frame
      ops.GET_SLOT_DIRECT, 116,-- 185: get_slot_direct(116)
      ops.UN_NOT,              -- 187: un_not
      ops.JMP_UNLESS, 209, 209,-- 188: jmp_unless(209,209)
      ops.PUSH_FRAME,          -- 191: push_frame
      ops.GET_SLOT_DIRECT, 286,-- 192: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 194: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 195: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 197: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 198: get_slot_direct(289)
      ops.PUSH_LITERAL, 372,   -- 200: push_literal(372)
      ops.PUSH_LOCAL_FRAME,    -- 202: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 203: get_slot_direct(110)
      ops.BI_ADD,              -- 205: bi_add
      ops.INVOKE, 2,           -- 206: invoke(2)
      ops.POP,                 -- 208: pop
      ops.PHI,                 -- 209: phi
      ops.JMP, 265,            -- 210: jmp(265)
      ops.PUSH_LOCAL_FRAME,    -- 212: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 213: get_slot_direct(296)
      ops.PUSH_LITERAL, 38,    -- 215: push_literal(38)
      ops.BI_EQ,               -- 217: bi_eq
      ops.DUP,                 -- 218: dup
      ops.UN_NOT,              -- 219: un_not
      ops.JMP_UNLESS, 230, 230,-- 220: jmp_unless(230,230)
      ops.POP,                 -- 223: pop
      ops.PUSH_LOCAL_FRAME,    -- 224: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 225: get_slot_direct(296)
      ops.PUSH_LITERAL, 86,    -- 227: push_literal(86)
      ops.BI_EQ,               -- 229: bi_eq
      ops.PHI,                 -- 230: phi
      ops.JMP_UNLESS, 250, 264,-- 231: jmp_unless(250,264)
      ops.PUSH_LOCAL_FRAME,    -- 234: push_local_frame
      ops.PUSH_FRAME,          -- 235: push_frame
      ops.GET_SLOT_DIRECT, 329,-- 236: get_slot_direct(329)
      ops.PUSH_LITERAL, 373,   -- 238: push_literal(373)
      ops.GET_SLOT_INDIRECT,   -- 240: get_slot_indirect
      ops.SET_SLOT_DIRECT, 116,-- 241: set_slot_direct(116)
      ops.PUSH_LOCAL_FRAME,    -- 243: push_local_frame
      ops.PUSH_LITERAL, 374,   -- 244: push_literal(374)
      ops.SET_SLOT_DIRECT, 296,-- 246: set_slot_direct(296)
      ops.JMP, 264,            -- 248: jmp(264)
      ops.PUSH_FRAME,          -- 250: push_frame
      ops.GET_SLOT_DIRECT, 286,-- 251: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 253: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 254: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 256: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 257: get_slot_direct(289)
      ops.PUSH_LITERAL, 375,   -- 259: push_literal(375)
      ops.INVOKE, 2,           -- 261: invoke(2)
      ops.POP,                 -- 263: pop
      ops.PHI,                 -- 264: phi
      ops.PHI,                 -- 265: phi
      ops.PHI,                 -- 266: phi
      ops.PUSH_FRAME,          -- 267: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 268: get_slot_direct(117)
      ops.PUSH_FRAME,          -- 270: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 271: get_slot_direct(14)
      ops.DUP,                 -- 273: dup
      ops.GET_SLOT_DIRECT_CHECK, 119,-- 274: get_slot_direct_check(119)
      ops.SWAP,                -- 276: swap
      ops.PUSH_LOCAL_FRAME,    -- 277: push_local_frame
      ops.GET_SLOT_DIRECT, 116,-- 278: get_slot_direct(116)
      ops.INVOKE, 1,           -- 280: invoke(1)
      ops.SET_SLOT_DIRECT, 330,-- 282: set_slot_direct(330)
      ops.PUSH_FRAME,          -- 284: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 285: get_slot_direct(330)
      ops.PUSH_LOCAL_FRAME,    -- 287: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 288: get_slot_direct(289)
      ops.GET_SLOT_DIRECT, 52, -- 290: get_slot_direct(52)
      ops.SET_SLOT_DIRECT, 52, -- 292: set_slot_direct(52)
      ops.PUSH_FRAME,          -- 294: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 295: get_slot_direct(330)
      ops.PUSH_LOCAL_FRAME,    -- 297: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 298: get_slot_direct(289)
      ops.GET_SLOT_DIRECT, 291,-- 300: get_slot_direct(291)
      ops.SET_SLOT_DIRECT, 291,-- 302: set_slot_direct(291)
      ops.PUSH_FRAME,          -- 304: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 305: get_slot_direct(330)
      ops.PUSH_LOCAL_FRAME,    -- 307: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 308: get_slot_direct(110)
      ops.SET_SLOT_DIRECT, 224,-- 310: set_slot_direct(224)
      ops.PUSH_FRAME,          -- 312: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 313: get_slot_direct(330)
      ops.PUSH_LOCAL_FRAME,    -- 315: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 316: get_slot_direct(296)
      ops.SET_SLOT_DIRECT, 363,-- 318: set_slot_direct(363)
      ops.PUSH_FRAME,          -- 320: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 321: get_slot_direct(330)
      ops.RETURN               -- 323: return
    }
  },
  ifunc.Function:new{ -- "expression"
    name = jsval.newString("expression"),
    id = 63,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 376,-- 8: set_slot_direct(376)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 377,-- 14: set_slot_direct(377)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 289,-- 19: set_slot_direct(289)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.PUSH_FRAME,          -- 22: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 23: get_slot_direct(330)
      ops.SET_SLOT_DIRECT, 289,-- 25: set_slot_direct(289)
      ops.PUSH_FRAME,          -- 27: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 28: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 31: get_slot_direct(26)
      ops.INVOKE, 0,           -- 33: invoke(0)
      ops.POP,                 -- 35: pop
      ops.PUSH_LOCAL_FRAME,    -- 36: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 37: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 38: get_slot_direct(289)
      ops.DUP,                 -- 40: dup
      ops.GET_SLOT_DIRECT_CHECK, 355,-- 41: get_slot_direct_check(355)
      ops.SWAP,                -- 43: swap
      ops.INVOKE, 0,           -- 44: invoke(0)
      ops.SET_SLOT_DIRECT, 377,-- 46: set_slot_direct(377)
      ops.JMP_INTO_LOOP, 81, 96,-- 48: jmp_into_loop(81,96)
      ops.PUSH_LOCAL_FRAME,    -- 51: push_local_frame
      ops.PUSH_FRAME,          -- 52: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 53: get_slot_direct(330)
      ops.SET_SLOT_DIRECT, 289,-- 55: set_slot_direct(289)
      ops.PUSH_FRAME,          -- 57: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 58: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 60: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 61: get_slot_direct(26)
      ops.INVOKE, 0,           -- 63: invoke(0)
      ops.POP,                 -- 65: pop
      ops.PUSH_LOCAL_FRAME,    -- 66: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 67: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 68: get_slot_direct(289)
      ops.DUP,                 -- 70: dup
      ops.GET_SLOT_DIRECT_CHECK, 356,-- 71: get_slot_direct_check(356)
      ops.SWAP,                -- 73: swap
      ops.PUSH_LOCAL_FRAME,    -- 74: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 75: get_slot_direct(377)
      ops.INVOKE, 1,           -- 77: invoke(1)
      ops.SET_SLOT_DIRECT, 377,-- 79: set_slot_direct(377)
      ops.PHI,                 -- 81: phi
      ops.PUSH_LOCAL_FRAME,    -- 82: push_local_frame
      ops.GET_SLOT_DIRECT, 376,-- 83: get_slot_direct(376)
      ops.PUSH_FRAME,          -- 85: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 86: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 358,-- 88: get_slot_direct(358)
      ops.SWAP,                -- 90: swap
      ops.BI_GT,               -- 91: bi_gt
      ops.UN_NOT,              -- 92: un_not
      ops.JMP_UNLESS, 51, 96,  -- 93: jmp_unless(51,96)
      ops.PHI,                 -- 96: phi
      ops.PUSH_LOCAL_FRAME,    -- 97: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 98: get_slot_direct(377)
      ops.RETURN               -- 100: return
    }
  },
  ifunc.Function:new{ -- "statement"
    name = jsval.newString("statement"),
    id = 64,
    nargs = 0,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 23, -- 3: set_slot_direct(23)
      ops.PUSH_LOCAL_FRAME,    -- 5: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 6: push_literal(0)
      ops.SET_SLOT_DIRECT, 110,-- 8: set_slot_direct(110)
      ops.PUSH_LOCAL_FRAME,    -- 10: push_local_frame
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 12: get_slot_direct(330)
      ops.SET_SLOT_DIRECT, 23, -- 14: set_slot_direct(23)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 17: get_slot_direct(23)
      ops.GET_SLOT_DIRECT, 357,-- 19: get_slot_direct(357)
      ops.JMP_UNLESS, 58, 186, -- 21: jmp_unless(58,186)
      ops.PUSH_FRAME,          -- 24: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 25: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 28: get_slot_direct(26)
      ops.INVOKE, 0,           -- 30: invoke(0)
      ops.POP,                 -- 32: pop
      ops.PUSH_FRAME,          -- 33: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 34: get_slot_direct(328)
      ops.DUP,                 -- 36: dup
      ops.GET_SLOT_DIRECT_CHECK, 364,-- 37: get_slot_direct_check(364)
      ops.SWAP,                -- 39: swap
      ops.PUSH_LOCAL_FRAME,    -- 40: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 41: get_slot_direct(23)
      ops.INVOKE, 1,           -- 43: invoke(1)
      ops.POP,                 -- 45: pop
      ops.PUSH_LOCAL_FRAME,    -- 46: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 47: get_slot_direct(23)
      ops.DUP,                 -- 49: dup
      ops.GET_SLOT_DIRECT_CHECK, 357,-- 50: get_slot_direct_check(357)
      ops.SWAP,                -- 52: swap
      ops.INVOKE, 0,           -- 53: invoke(0)
      ops.RETURN,              -- 55: return
      ops.JMP, 186,            -- 56: jmp(186)
      ops.PUSH_LOCAL_FRAME,    -- 58: push_local_frame
      ops.PUSH_FRAME,          -- 59: push_frame
      ops.GET_SLOT_DIRECT, 338,-- 60: get_slot_direct(338)
      ops.PUSH_LOCAL_FRAME,    -- 62: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 63: get_slot_direct(26)
      ops.PUSH_LITERAL, 18,    -- 65: push_literal(18)
      ops.INVOKE, 1,           -- 67: invoke(1)
      ops.SET_SLOT_DIRECT, 110,-- 69: set_slot_direct(110)
      ops.PUSH_LOCAL_FRAME,    -- 71: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 72: get_slot_direct(110)
      ops.GET_SLOT_DIRECT, 347,-- 74: get_slot_direct(347)
      ops.UN_NOT,              -- 76: un_not
      ops.DUP,                 -- 77: dup
      ops.JMP_UNLESS, 117, 117,-- 78: jmp_unless(117,117)
      ops.POP,                 -- 81: pop
      ops.PUSH_LOCAL_FRAME,    -- 82: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 83: get_slot_direct(110)
      ops.GET_SLOT_DIRECT, 368,-- 85: get_slot_direct(368)
      ops.PUSH_LITERAL, 378,   -- 87: push_literal(378)
      ops.BI_EQ,               -- 89: bi_eq
      ops.UN_NOT,              -- 90: un_not
      ops.DUP,                 -- 91: dup
      ops.JMP_UNLESS, 116, 116,-- 92: jmp_unless(116,116)
      ops.POP,                 -- 95: pop
      ops.PUSH_LOCAL_FRAME,    -- 96: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 97: get_slot_direct(110)
      ops.GET_SLOT_DIRECT, 363,-- 99: get_slot_direct(363)
      ops.PUSH_LITERAL, 25,    -- 101: push_literal(25)
      ops.BI_EQ,               -- 103: bi_eq
      ops.DUP,                 -- 104: dup
      ops.JMP_UNLESS, 114, 114,-- 105: jmp_unless(114,114)
      ops.POP,                 -- 108: pop
      ops.PUSH_LOCAL_FRAME,    -- 109: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 110: get_slot_direct(110)
      ops.GET_SLOT_DIRECT, 19, -- 112: get_slot_direct(19)
      ops.PHI,                 -- 114: phi
      ops.UN_NOT,              -- 115: un_not
      ops.PHI,                 -- 116: phi
      ops.PHI,                 -- 117: phi
      ops.JMP_UNLESS, 135, 135,-- 118: jmp_unless(135,135)
      ops.PUSH_FRAME,          -- 121: push_frame
      ops.GET_SLOT_DIRECT, 286,-- 122: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 124: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 125: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 127: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 128: get_slot_direct(110)
      ops.PUSH_LITERAL, 379,   -- 130: push_literal(379)
      ops.INVOKE, 2,           -- 132: invoke(2)
      ops.POP,                 -- 134: pop
      ops.PHI,                 -- 135: phi
      ops.PUSH_LOCAL_FRAME,    -- 136: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 137: get_slot_direct(110)
      ops.GET_SLOT_DIRECT, 363,-- 139: get_slot_direct(363)
      ops.PUSH_LITERAL, 25,    -- 141: push_literal(25)
      ops.BI_EQ,               -- 143: bi_eq
      ops.DUP,                 -- 144: dup
      ops.JMP_UNLESS, 169, 169,-- 145: jmp_unless(169,169)
      ops.POP,                 -- 148: pop
      ops.PUSH_LOCAL_FRAME,    -- 149: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 150: get_slot_direct(110)
      ops.GET_SLOT_DIRECT, 19, -- 152: get_slot_direct(19)
      ops.DUP,                 -- 154: dup
      ops.JMP_UNLESS, 168, 168,-- 155: jmp_unless(168,168)
      ops.POP,                 -- 158: pop
      ops.PUSH_FRAME,          -- 159: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 160: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 162: get_slot_direct(368)
      ops.PUSH_LITERAL, 380,   -- 164: push_literal(380)
      ops.BI_EQ,               -- 166: bi_eq
      ops.UN_NOT,              -- 167: un_not
      ops.PHI,                 -- 168: phi
      ops.PHI,                 -- 169: phi
      ops.UN_NOT,              -- 170: un_not
      ops.JMP_UNLESS, 185, 185,-- 171: jmp_unless(185,185)
      ops.PUSH_FRAME,          -- 174: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 175: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 177: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 178: get_slot_direct(26)
      ops.PUSH_LITERAL, 380,   -- 180: push_literal(380)
      ops.INVOKE, 1,           -- 182: invoke(1)
      ops.POP,                 -- 184: pop
      ops.PHI,                 -- 185: phi
      ops.PHI,                 -- 186: phi
      ops.PUSH_LOCAL_FRAME,    -- 187: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 188: get_slot_direct(110)
      ops.JMP_UNLESS, 202, 204,-- 190: jmp_unless(202,204)
      ops.NEW_ARRAY,           -- 193: new_array
      ops.DUP,                 -- 194: dup
      ops.PUSH_LOCAL_FRAME,    -- 195: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 196: get_slot_direct(110)
      ops.SET_SLOT_DIRECT, 18, -- 198: set_slot_direct(18)
      ops.JMP, 204,            -- 200: jmp(204)
      ops.PUSH_LITERAL, 41,    -- 202: push_literal(41)
      ops.PHI,                 -- 204: phi
      ops.RETURN               -- 205: return
    }
  },
  ifunc.Function:new{ -- "hoist_var"
    name = jsval.newString("hoist_var"),
    id = 65,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 381,-- 8: set_slot_direct(381)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 110,-- 14: set_slot_direct(110)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 365,-- 19: set_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 22: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 24: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.NEW_ARRAY,           -- 27: new_array
      ops.SET_SLOT_DIRECT, 110,-- 28: set_slot_direct(110)
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.NEW_ARRAY,           -- 31: new_array
      ops.SET_SLOT_DIRECT, 365,-- 32: set_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 34: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 35: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 37: set_slot_direct(53)
      ops.JMP_INTO_LOOP, 103, 118,-- 39: jmp_into_loop(103,118)
      ops.PUSH_LOCAL_FRAME,    -- 42: push_local_frame
      ops.GET_SLOT_DIRECT, 381,-- 43: get_slot_direct(381)
      ops.PUSH_LOCAL_FRAME,    -- 45: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 46: get_slot_direct(53)
      ops.GET_SLOT_INDIRECT,   -- 48: get_slot_indirect
      ops.GET_SLOT_DIRECT, 224,-- 49: get_slot_direct(224)
      ops.PUSH_LITERAL, 382,   -- 51: push_literal(382)
      ops.BI_EQ,               -- 53: bi_eq
      ops.JMP_UNLESS, 76, 93,  -- 54: jmp_unless(76,93)
      ops.PUSH_LOCAL_FRAME,    -- 57: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 58: get_slot_direct(110)
      ops.DUP,                 -- 60: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 61: get_slot_direct_check(69)
      ops.SWAP,                -- 63: swap
      ops.PUSH_LOCAL_FRAME,    -- 64: push_local_frame
      ops.GET_SLOT_DIRECT, 381,-- 65: get_slot_direct(381)
      ops.PUSH_LOCAL_FRAME,    -- 67: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 68: get_slot_direct(53)
      ops.GET_SLOT_INDIRECT,   -- 70: get_slot_indirect
      ops.INVOKE, 1,           -- 71: invoke(1)
      ops.POP,                 -- 73: pop
      ops.JMP, 93,             -- 74: jmp(93)
      ops.PUSH_LOCAL_FRAME,    -- 76: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 77: get_slot_direct(365)
      ops.DUP,                 -- 79: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 80: get_slot_direct_check(69)
      ops.SWAP,                -- 82: swap
      ops.PUSH_LOCAL_FRAME,    -- 83: push_local_frame
      ops.GET_SLOT_DIRECT, 381,-- 84: get_slot_direct(381)
      ops.PUSH_LOCAL_FRAME,    -- 86: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 87: get_slot_direct(53)
      ops.GET_SLOT_INDIRECT,   -- 89: get_slot_indirect
      ops.INVOKE, 1,           -- 90: invoke(1)
      ops.POP,                 -- 92: pop
      ops.PHI,                 -- 93: phi
      ops.PUSH_LOCAL_FRAME,    -- 94: push_local_frame
      ops.DUP,                 -- 95: dup
      ops.GET_SLOT_DIRECT, 53, -- 96: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 98: push_literal(31)
      ops.BI_ADD,              -- 100: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 101: set_slot_direct(53)
      ops.PHI,                 -- 103: phi
      ops.PUSH_LOCAL_FRAME,    -- 104: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 105: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 107: push_local_frame
      ops.GET_SLOT_DIRECT, 381,-- 108: get_slot_direct(381)
      ops.GET_SLOT_DIRECT, 55, -- 110: get_slot_direct(55)
      ops.SWAP,                -- 112: swap
      ops.BI_GT,               -- 113: bi_gt
      ops.UN_NOT,              -- 114: un_not
      ops.JMP_UNLESS, 42, 118, -- 115: jmp_unless(42,118)
      ops.PHI,                 -- 118: phi
      ops.PUSH_LOCAL_FRAME,    -- 119: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 120: get_slot_direct(110)
      ops.DUP,                 -- 122: dup
      ops.GET_SLOT_DIRECT_CHECK, 90,-- 123: get_slot_direct_check(90)
      ops.SWAP,                -- 125: swap
      ops.PUSH_LOCAL_FRAME,    -- 126: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 127: get_slot_direct(365)
      ops.INVOKE, 1,           -- 129: invoke(1)
      ops.RETURN               -- 131: return
    }
  },
  ifunc.Function:new{ -- "statements"
    name = jsval.newString("statements"),
    id = 66,
    nargs = 0,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 296,-- 3: set_slot_direct(296)
      ops.PUSH_LOCAL_FRAME,    -- 5: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 6: push_literal(0)
      ops.SET_SLOT_DIRECT, 365,-- 8: set_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 10: push_local_frame
      ops.NEW_ARRAY,           -- 11: new_array
      ops.SET_SLOT_DIRECT, 296,-- 12: set_slot_direct(296)
      ops.JMP_INTO_LOOP, 82, 89,-- 14: jmp_into_loop(82,89)
      ops.PUSH_FRAME,          -- 17: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 18: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 20: get_slot_direct(368)
      ops.PUSH_LITERAL, 245,   -- 22: push_literal(245)
      ops.BI_EQ,               -- 24: bi_eq
      ops.DUP,                 -- 25: dup
      ops.UN_NOT,              -- 26: un_not
      ops.JMP_UNLESS, 39, 39,  -- 27: jmp_unless(39,39)
      ops.POP,                 -- 30: pop
      ops.PUSH_FRAME,          -- 31: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 32: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 34: get_slot_direct(368)
      ops.PUSH_LITERAL, 371,   -- 36: push_literal(371)
      ops.BI_EQ,               -- 38: bi_eq
      ops.PHI,                 -- 39: phi
      ops.JMP_UNLESS, 45, 45,  -- 40: jmp_unless(45,45)
      ops.JMP, 89,             -- 43: jmp(89)
      ops.PHI,                 -- 45: phi
      ops.PUSH_LOCAL_FRAME,    -- 46: push_local_frame
      ops.PUSH_FRAME,          -- 47: push_frame
      ops.GET_SLOT_DIRECT, 339,-- 48: get_slot_direct(339)
      ops.PUSH_LOCAL_FRAME,    -- 50: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 51: get_slot_direct(26)
      ops.INVOKE, 0,           -- 53: invoke(0)
      ops.SET_SLOT_DIRECT, 365,-- 55: set_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 57: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 58: get_slot_direct(365)
      ops.JMP_UNLESS, 81, 81,  -- 60: jmp_unless(81,81)
      ops.PUSH_LOCAL_FRAME,    -- 63: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 64: get_slot_direct(296)
      ops.GET_SLOT_DIRECT, 69, -- 66: get_slot_direct(69)
      ops.DUP,                 -- 68: dup
      ops.GET_SLOT_DIRECT_CHECK, 112,-- 69: get_slot_direct_check(112)
      ops.SWAP,                -- 71: swap
      ops.PUSH_LOCAL_FRAME,    -- 72: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 73: get_slot_direct(296)
      ops.PUSH_LOCAL_FRAME,    -- 75: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 76: get_slot_direct(365)
      ops.INVOKE, 2,           -- 78: invoke(2)
      ops.POP,                 -- 80: pop
      ops.PHI,                 -- 81: phi
      ops.PHI,                 -- 82: phi
      ops.PUSH_LITERAL, 118,   -- 83: push_literal(118)
      ops.UN_NOT,              -- 85: un_not
      ops.JMP_UNLESS, 17, 89,  -- 86: jmp_unless(17,89)
      ops.PHI,                 -- 89: phi
      ops.PUSH_FRAME,          -- 90: push_frame
      ops.GET_SLOT_DIRECT, 340,-- 91: get_slot_direct(340)
      ops.PUSH_LOCAL_FRAME,    -- 93: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 94: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 96: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 97: get_slot_direct(296)
      ops.INVOKE, 1,           -- 99: invoke(1)
      ops.RETURN               -- 101: return
    }
  },
  ifunc.Function:new{ -- "block"
    name = jsval.newString("block"),
    id = 67,
    nargs = 0,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 289,-- 3: set_slot_direct(289)
      ops.PUSH_LOCAL_FRAME,    -- 5: push_local_frame
      ops.PUSH_FRAME,          -- 6: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 7: get_slot_direct(330)
      ops.SET_SLOT_DIRECT, 289,-- 9: set_slot_direct(289)
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 12: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 14: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 15: get_slot_direct(26)
      ops.PUSH_LITERAL, 244,   -- 17: push_literal(244)
      ops.INVOKE, 1,           -- 19: invoke(1)
      ops.POP,                 -- 21: pop
      ops.PUSH_LOCAL_FRAME,    -- 22: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 23: get_slot_direct(289)
      ops.DUP,                 -- 25: dup
      ops.GET_SLOT_DIRECT_CHECK, 357,-- 26: get_slot_direct_check(357)
      ops.SWAP,                -- 28: swap
      ops.INVOKE, 0,           -- 29: invoke(0)
      ops.RETURN               -- 31: return
    }
  },
  ifunc.Function:new{ -- "nud:"
    name = jsval.newString("nud:"),
    id = 68,
    nargs = 0,
    max_stack = 5,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.GET_SLOT_DIRECT, 286,-- 1: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 3: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 4: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 7: get_slot_direct(26)
      ops.PUSH_LITERAL, 383,   -- 9: push_literal(383)
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 12: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 224,-- 14: get_slot_direct(224)
      ops.BI_ADD,              -- 16: bi_add
      ops.INVOKE, 2,           -- 17: invoke(2)
      ops.POP,                 -- 19: pop
      ops.PUSH_LITERAL, 0,     -- 20: push_literal(0)
      ops.RETURN               -- 22: return
    }
  },
  ifunc.Function:new{ -- "led:"
    name = jsval.newString("led:"),
    id = 69,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 377,-- 8: set_slot_direct(377)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.GET_SLOT_DIRECT, 286,-- 12: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 14: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 15: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 17: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 18: get_slot_direct(26)
      ops.PUSH_LITERAL, 384,   -- 20: push_literal(384)
      ops.INVOKE, 2,           -- 22: invoke(2)
      ops.POP,                 -- 24: pop
      ops.PUSH_LITERAL, 0,     -- 25: push_literal(0)
      ops.RETURN               -- 27: return
    }
  },
  ifunc.Function:new{ -- "symbol"
    name = jsval.newString("symbol"),
    id = 70,
    nargs = 2,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 368,-- 8: set_slot_direct(368)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 385,-- 15: set_slot_direct(385)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 19: push_literal(0)
      ops.SET_SLOT_DIRECT, 365,-- 21: set_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.PUSH_FRAME,          -- 24: push_frame
      ops.GET_SLOT_DIRECT, 89, -- 25: get_slot_direct(89)
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 28: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 30: push_frame
      ops.GET_SLOT_DIRECT, 329,-- 31: get_slot_direct(329)
      ops.PUSH_LOCAL_FRAME,    -- 33: push_local_frame
      ops.GET_SLOT_DIRECT, 368,-- 34: get_slot_direct(368)
      ops.INVOKE, 2,           -- 36: invoke(2)
      ops.JMP_UNLESS, 50, 52,  -- 38: jmp_unless(50,52)
      ops.PUSH_FRAME,          -- 41: push_frame
      ops.GET_SLOT_DIRECT, 329,-- 42: get_slot_direct(329)
      ops.PUSH_LOCAL_FRAME,    -- 44: push_local_frame
      ops.GET_SLOT_DIRECT, 368,-- 45: get_slot_direct(368)
      ops.GET_SLOT_INDIRECT,   -- 47: get_slot_indirect
      ops.JMP, 52,             -- 48: jmp(52)
      ops.PUSH_LITERAL, 41,    -- 50: push_literal(41)
      ops.PHI,                 -- 52: phi
      ops.SET_SLOT_DIRECT, 365,-- 53: set_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 55: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 56: push_local_frame
      ops.GET_SLOT_DIRECT, 385,-- 57: get_slot_direct(385)
      ops.DUP,                 -- 59: dup
      ops.UN_NOT,              -- 60: un_not
      ops.JMP_UNLESS, 67, 67,  -- 61: jmp_unless(67,67)
      ops.POP,                 -- 64: pop
      ops.PUSH_LITERAL, 18,    -- 65: push_literal(18)
      ops.PHI,                 -- 67: phi
      ops.SET_SLOT_DIRECT, 385,-- 68: set_slot_direct(385)
      ops.PUSH_LOCAL_FRAME,    -- 70: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 71: get_slot_direct(365)
      ops.JMP_UNLESS, 99, 146, -- 73: jmp_unless(99,146)
      ops.PUSH_LOCAL_FRAME,    -- 76: push_local_frame
      ops.GET_SLOT_DIRECT, 385,-- 77: get_slot_direct(385)
      ops.PUSH_LOCAL_FRAME,    -- 79: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 80: get_slot_direct(365)
      ops.GET_SLOT_DIRECT, 358,-- 82: get_slot_direct(358)
      ops.BI_GTE,              -- 84: bi_gte
      ops.JMP_UNLESS, 96, 96,  -- 85: jmp_unless(96,96)
      ops.PUSH_LOCAL_FRAME,    -- 88: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 89: get_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 91: push_local_frame
      ops.GET_SLOT_DIRECT, 385,-- 92: get_slot_direct(385)
      ops.SET_SLOT_DIRECT, 358,-- 94: set_slot_direct(358)
      ops.PHI,                 -- 96: phi
      ops.JMP, 146,            -- 97: jmp(146)
      ops.PUSH_LOCAL_FRAME,    -- 99: push_local_frame
      ops.PUSH_FRAME,          -- 100: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 101: get_slot_direct(14)
      ops.DUP,                 -- 103: dup
      ops.GET_SLOT_DIRECT_CHECK, 119,-- 104: get_slot_direct_check(119)
      ops.SWAP,                -- 106: swap
      ops.PUSH_FRAME,          -- 107: push_frame
      ops.GET_SLOT_DIRECT, 342,-- 108: get_slot_direct(342)
      ops.INVOKE, 1,           -- 110: invoke(1)
      ops.SET_SLOT_DIRECT, 365,-- 112: set_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 114: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 115: get_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 117: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 118: get_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 120: push_local_frame
      ops.GET_SLOT_DIRECT, 368,-- 121: get_slot_direct(368)
      ops.OVER,                -- 123: over
      ops.SET_SLOT_DIRECT, 224,-- 124: set_slot_direct(224)
      ops.SET_SLOT_DIRECT, 368,-- 126: set_slot_direct(368)
      ops.PUSH_LOCAL_FRAME,    -- 128: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 129: get_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 131: push_local_frame
      ops.GET_SLOT_DIRECT, 385,-- 132: get_slot_direct(385)
      ops.SET_SLOT_DIRECT, 358,-- 134: set_slot_direct(358)
      ops.PUSH_FRAME,          -- 136: push_frame
      ops.GET_SLOT_DIRECT, 329,-- 137: get_slot_direct(329)
      ops.PUSH_LOCAL_FRAME,    -- 139: push_local_frame
      ops.GET_SLOT_DIRECT, 368,-- 140: get_slot_direct(368)
      ops.PUSH_LOCAL_FRAME,    -- 142: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 143: get_slot_direct(365)
      ops.SET_SLOT_INDIRECT,   -- 145: set_slot_indirect
      ops.PHI,                 -- 146: phi
      ops.PUSH_LOCAL_FRAME,    -- 147: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 148: get_slot_direct(365)
      ops.RETURN               -- 150: return
    }
  },
  ifunc.Function:new{ -- "constant"
    name = jsval.newString("constant"),
    id = 71,
    nargs = 2,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 365,-- 8: set_slot_direct(365)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 110,-- 15: set_slot_direct(110)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 19: push_literal(0)
      ops.SET_SLOT_DIRECT, 128,-- 21: set_slot_direct(128)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.PUSH_FRAME,          -- 24: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 25: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 28: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 31: get_slot_direct(365)
      ops.INVOKE, 1,           -- 33: invoke(1)
      ops.SET_SLOT_DIRECT, 128,-- 35: set_slot_direct(128)
      ops.PUSH_LOCAL_FRAME,    -- 37: push_local_frame
      ops.GET_SLOT_DIRECT, 128,-- 38: get_slot_direct(128)
      ops.NEW_FUNCTION, 72,    -- 40: new_function(72)
      ops.SET_SLOT_DIRECT, 355,-- 42: set_slot_direct(355)
      ops.PUSH_LOCAL_FRAME,    -- 44: push_local_frame
      ops.GET_SLOT_DIRECT, 128,-- 45: get_slot_direct(128)
      ops.PUSH_LOCAL_FRAME,    -- 47: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 48: get_slot_direct(110)
      ops.SET_SLOT_DIRECT, 224,-- 50: set_slot_direct(224)
      ops.PUSH_LOCAL_FRAME,    -- 52: push_local_frame
      ops.GET_SLOT_DIRECT, 128,-- 53: get_slot_direct(128)
      ops.RETURN               -- 55: return
    }
  },
  ifunc.Function:new{ -- ".nud"
    name = jsval.newString(".nud"),
    id = 72,
    nargs = 0,
    max_stack = 3,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 1: get_slot_direct(328)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT_CHECK, 364,-- 4: get_slot_direct_check(364)
      ops.SWAP,                -- 6: swap
      ops.PUSH_LOCAL_FRAME,    -- 7: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 8: get_slot_direct(26)
      ops.INVOKE, 1,           -- 10: invoke(1)
      ops.POP,                 -- 12: pop
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 14: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 16: push_frame
      ops.GET_SLOT_DIRECT, 329,-- 17: get_slot_direct(329)
      ops.PUSH_LOCAL_FRAME,    -- 19: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 20: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 368,-- 22: get_slot_direct(368)
      ops.GET_SLOT_INDIRECT,   -- 24: get_slot_indirect
      ops.GET_SLOT_DIRECT, 224,-- 25: get_slot_direct(224)
      ops.SET_SLOT_DIRECT, 224,-- 27: set_slot_direct(224)
      ops.PUSH_LOCAL_FRAME,    -- 29: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 30: get_slot_direct(26)
      ops.PUSH_LITERAL, 374,   -- 32: push_literal(374)
      ops.SET_SLOT_DIRECT, 363,-- 34: set_slot_direct(363)
      ops.PUSH_LOCAL_FRAME,    -- 36: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 37: get_slot_direct(26)
      ops.RETURN               -- 39: return
    }
  },
  ifunc.Function:new{ -- "infix"
    name = jsval.newString("infix"),
    id = 73,
    nargs = 3,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 368,-- 8: set_slot_direct(368)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_FRAME,          -- 13: push_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 385,-- 15: set_slot_direct(385)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT, 136,-- 18: get_slot_direct(136)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.SWAP,                -- 21: swap
      ops.SET_SLOT_DIRECT, 356,-- 22: set_slot_direct(356)
      ops.POP,                 -- 24: pop
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 26: push_literal(0)
      ops.SET_SLOT_DIRECT, 365,-- 28: set_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.PUSH_FRAME,          -- 31: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 32: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 34: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 35: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 37: push_local_frame
      ops.GET_SLOT_DIRECT, 368,-- 38: get_slot_direct(368)
      ops.PUSH_FRAME,          -- 40: push_frame
      ops.GET_SLOT_DIRECT, 385,-- 41: get_slot_direct(385)
      ops.INVOKE, 2,           -- 43: invoke(2)
      ops.SET_SLOT_DIRECT, 365,-- 45: set_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 47: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 48: get_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 50: push_local_frame
      ops.GET_SLOT_DIRECT, 356,-- 51: get_slot_direct(356)
      ops.DUP,                 -- 53: dup
      ops.UN_NOT,              -- 54: un_not
      ops.JMP_UNLESS, 61, 61,  -- 55: jmp_unless(61,61)
      ops.POP,                 -- 58: pop
      ops.NEW_FUNCTION, 74,    -- 59: new_function(74)
      ops.PHI,                 -- 61: phi
      ops.SET_SLOT_DIRECT, 356,-- 62: set_slot_direct(356)
      ops.PUSH_LOCAL_FRAME,    -- 64: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 65: get_slot_direct(365)
      ops.RETURN               -- 67: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 74,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 377,-- 8: set_slot_direct(377)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 12: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 14: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 15: get_slot_direct(377)
      ops.SET_SLOT_DIRECT, 39, -- 17: set_slot_direct(39)
      ops.PUSH_LOCAL_FRAME,    -- 19: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 20: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 22: push_frame
      ops.GET_SLOT_DIRECT, 338,-- 23: get_slot_direct(338)
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 26: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 28: push_frame
      ops.GET_SLOT_DIRECT, 385,-- 29: get_slot_direct(385)
      ops.INVOKE, 1,           -- 31: invoke(1)
      ops.SET_SLOT_DIRECT, 40, -- 33: set_slot_direct(40)
      ops.PUSH_LOCAL_FRAME,    -- 35: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 36: get_slot_direct(26)
      ops.PUSH_LITERAL, 386,   -- 38: push_literal(386)
      ops.SET_SLOT_DIRECT, 363,-- 40: set_slot_direct(363)
      ops.PUSH_LOCAL_FRAME,    -- 42: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 43: get_slot_direct(26)
      ops.RETURN               -- 45: return
    }
  },
  ifunc.Function:new{ -- "infixr"
    name = jsval.newString("infixr"),
    id = 75,
    nargs = 3,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 368,-- 8: set_slot_direct(368)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_FRAME,          -- 13: push_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 385,-- 15: set_slot_direct(385)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT, 136,-- 18: get_slot_direct(136)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.SWAP,                -- 21: swap
      ops.SET_SLOT_DIRECT, 356,-- 22: set_slot_direct(356)
      ops.POP,                 -- 24: pop
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 26: push_literal(0)
      ops.SET_SLOT_DIRECT, 365,-- 28: set_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.PUSH_FRAME,          -- 31: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 32: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 34: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 35: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 37: push_local_frame
      ops.GET_SLOT_DIRECT, 368,-- 38: get_slot_direct(368)
      ops.PUSH_FRAME,          -- 40: push_frame
      ops.GET_SLOT_DIRECT, 385,-- 41: get_slot_direct(385)
      ops.INVOKE, 2,           -- 43: invoke(2)
      ops.SET_SLOT_DIRECT, 365,-- 45: set_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 47: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 48: get_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 50: push_local_frame
      ops.GET_SLOT_DIRECT, 356,-- 51: get_slot_direct(356)
      ops.DUP,                 -- 53: dup
      ops.UN_NOT,              -- 54: un_not
      ops.JMP_UNLESS, 61, 61,  -- 55: jmp_unless(61,61)
      ops.POP,                 -- 58: pop
      ops.NEW_FUNCTION, 76,    -- 59: new_function(76)
      ops.PHI,                 -- 61: phi
      ops.SET_SLOT_DIRECT, 356,-- 62: set_slot_direct(356)
      ops.PUSH_LOCAL_FRAME,    -- 64: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 65: get_slot_direct(365)
      ops.RETURN               -- 67: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 76,
    nargs = 1,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 377,-- 8: set_slot_direct(377)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 12: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 14: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 15: get_slot_direct(377)
      ops.SET_SLOT_DIRECT, 39, -- 17: set_slot_direct(39)
      ops.PUSH_LOCAL_FRAME,    -- 19: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 20: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 22: push_frame
      ops.GET_SLOT_DIRECT, 338,-- 23: get_slot_direct(338)
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 26: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 28: push_frame
      ops.GET_SLOT_DIRECT, 385,-- 29: get_slot_direct(385)
      ops.PUSH_LITERAL, 31,    -- 31: push_literal(31)
      ops.BI_SUB,              -- 33: bi_sub
      ops.INVOKE, 1,           -- 34: invoke(1)
      ops.SET_SLOT_DIRECT, 40, -- 36: set_slot_direct(40)
      ops.PUSH_LOCAL_FRAME,    -- 38: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 39: get_slot_direct(26)
      ops.PUSH_LITERAL, 386,   -- 41: push_literal(386)
      ops.SET_SLOT_DIRECT, 363,-- 43: set_slot_direct(363)
      ops.PUSH_LOCAL_FRAME,    -- 45: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 46: get_slot_direct(26)
      ops.RETURN               -- 48: return
    }
  },
  ifunc.Function:new{ -- "assignment"
    name = jsval.newString("assignment"),
    id = 77,
    nargs = 1,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_FRAME,          -- 6: push_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 368,-- 8: set_slot_direct(368)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.GET_SLOT_DIRECT, 346,-- 12: get_slot_direct(346)
      ops.PUSH_LOCAL_FRAME,    -- 14: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 15: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 17: push_frame
      ops.GET_SLOT_DIRECT, 368,-- 18: get_slot_direct(368)
      ops.PUSH_LITERAL, 135,   -- 20: push_literal(135)
      ops.NEW_FUNCTION, 78,    -- 22: new_function(78)
      ops.INVOKE, 3,           -- 24: invoke(3)
      ops.RETURN               -- 26: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 78,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 377,-- 8: set_slot_direct(377)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 12: get_slot_direct(377)
      ops.GET_SLOT_DIRECT, 368,-- 14: get_slot_direct(368)
      ops.PUSH_LITERAL, 149,   -- 16: push_literal(149)
      ops.BI_EQ,               -- 18: bi_eq
      ops.UN_NOT,              -- 19: un_not
      ops.DUP,                 -- 20: dup
      ops.JMP_UNLESS, 49, 49,  -- 21: jmp_unless(49,49)
      ops.POP,                 -- 24: pop
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 26: get_slot_direct(377)
      ops.GET_SLOT_DIRECT, 368,-- 28: get_slot_direct(368)
      ops.PUSH_LITERAL, 254,   -- 30: push_literal(254)
      ops.BI_EQ,               -- 32: bi_eq
      ops.UN_NOT,              -- 33: un_not
      ops.DUP,                 -- 34: dup
      ops.JMP_UNLESS, 48, 48,  -- 35: jmp_unless(48,48)
      ops.POP,                 -- 38: pop
      ops.PUSH_LOCAL_FRAME,    -- 39: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 40: get_slot_direct(377)
      ops.GET_SLOT_DIRECT, 363,-- 42: get_slot_direct(363)
      ops.PUSH_LITERAL, 19,    -- 44: push_literal(19)
      ops.BI_EQ,               -- 46: bi_eq
      ops.UN_NOT,              -- 47: un_not
      ops.PHI,                 -- 48: phi
      ops.PHI,                 -- 49: phi
      ops.JMP_UNLESS, 67, 67,  -- 50: jmp_unless(67,67)
      ops.PUSH_FRAME,          -- 53: push_frame
      ops.GET_SLOT_DIRECT, 286,-- 54: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 56: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 57: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 59: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 60: get_slot_direct(377)
      ops.PUSH_LITERAL, 387,   -- 62: push_literal(387)
      ops.INVOKE, 2,           -- 64: invoke(2)
      ops.POP,                 -- 66: pop
      ops.PHI,                 -- 67: phi
      ops.PUSH_LOCAL_FRAME,    -- 68: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 69: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 71: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 72: get_slot_direct(377)
      ops.SET_SLOT_DIRECT, 39, -- 74: set_slot_direct(39)
      ops.PUSH_LOCAL_FRAME,    -- 76: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 77: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 79: push_frame
      ops.GET_SLOT_DIRECT, 338,-- 80: get_slot_direct(338)
      ops.PUSH_LOCAL_FRAME,    -- 82: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 83: get_slot_direct(26)
      ops.PUSH_LITERAL, 176,   -- 85: push_literal(176)
      ops.INVOKE, 1,           -- 87: invoke(1)
      ops.SET_SLOT_DIRECT, 40, -- 89: set_slot_direct(40)
      ops.PUSH_LOCAL_FRAME,    -- 91: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 92: get_slot_direct(26)
      ops.PUSH_LITERAL, 118,   -- 94: push_literal(118)
      ops.SET_SLOT_DIRECT, 347,-- 96: set_slot_direct(347)
      ops.PUSH_LOCAL_FRAME,    -- 98: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 99: get_slot_direct(26)
      ops.PUSH_LITERAL, 386,   -- 101: push_literal(386)
      ops.SET_SLOT_DIRECT, 363,-- 103: set_slot_direct(363)
      ops.PUSH_LOCAL_FRAME,    -- 105: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 106: get_slot_direct(26)
      ops.RETURN               -- 108: return
    }
  },
  ifunc.Function:new{ -- "prefix"
    name = jsval.newString("prefix"),
    id = 79,
    nargs = 2,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 368,-- 8: set_slot_direct(368)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 355,-- 15: set_slot_direct(355)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 19: push_literal(0)
      ops.SET_SLOT_DIRECT, 365,-- 21: set_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.PUSH_FRAME,          -- 24: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 25: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 28: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.GET_SLOT_DIRECT, 368,-- 31: get_slot_direct(368)
      ops.INVOKE, 1,           -- 33: invoke(1)
      ops.SET_SLOT_DIRECT, 365,-- 35: set_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 37: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 38: get_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 40: push_local_frame
      ops.GET_SLOT_DIRECT, 355,-- 41: get_slot_direct(355)
      ops.DUP,                 -- 43: dup
      ops.UN_NOT,              -- 44: un_not
      ops.JMP_UNLESS, 51, 51,  -- 45: jmp_unless(51,51)
      ops.POP,                 -- 48: pop
      ops.NEW_FUNCTION, 80,    -- 49: new_function(80)
      ops.PHI,                 -- 51: phi
      ops.SET_SLOT_DIRECT, 355,-- 52: set_slot_direct(355)
      ops.PUSH_LOCAL_FRAME,    -- 54: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 55: get_slot_direct(365)
      ops.RETURN               -- 57: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 80,
    nargs = 0,
    max_stack = 4,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 1: get_slot_direct(328)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT_CHECK, 364,-- 4: get_slot_direct_check(364)
      ops.SWAP,                -- 6: swap
      ops.PUSH_LOCAL_FRAME,    -- 7: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 8: get_slot_direct(26)
      ops.INVOKE, 1,           -- 10: invoke(1)
      ops.POP,                 -- 12: pop
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 14: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 16: push_frame
      ops.GET_SLOT_DIRECT, 338,-- 17: get_slot_direct(338)
      ops.PUSH_LOCAL_FRAME,    -- 19: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 20: get_slot_direct(26)
      ops.PUSH_LITERAL, 388,   -- 22: push_literal(388)
      ops.INVOKE, 1,           -- 24: invoke(1)
      ops.SET_SLOT_DIRECT, 39, -- 26: set_slot_direct(39)
      ops.PUSH_LOCAL_FRAME,    -- 28: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 29: get_slot_direct(26)
      ops.PUSH_LITERAL, 389,   -- 31: push_literal(389)
      ops.SET_SLOT_DIRECT, 363,-- 33: set_slot_direct(363)
      ops.PUSH_LOCAL_FRAME,    -- 35: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 36: get_slot_direct(26)
      ops.RETURN               -- 38: return
    }
  },
  ifunc.Function:new{ -- "stmt"
    name = jsval.newString("stmt"),
    id = 81,
    nargs = 2,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 365,-- 8: set_slot_direct(365)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 109,-- 15: set_slot_direct(109)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 19: push_literal(0)
      ops.SET_SLOT_DIRECT, 128,-- 21: set_slot_direct(128)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.PUSH_FRAME,          -- 24: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 25: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 28: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 31: get_slot_direct(365)
      ops.INVOKE, 1,           -- 33: invoke(1)
      ops.SET_SLOT_DIRECT, 128,-- 35: set_slot_direct(128)
      ops.PUSH_LOCAL_FRAME,    -- 37: push_local_frame
      ops.GET_SLOT_DIRECT, 128,-- 38: get_slot_direct(128)
      ops.PUSH_LOCAL_FRAME,    -- 40: push_local_frame
      ops.GET_SLOT_DIRECT, 109,-- 41: get_slot_direct(109)
      ops.SET_SLOT_DIRECT, 357,-- 43: set_slot_direct(357)
      ops.PUSH_LOCAL_FRAME,    -- 45: push_local_frame
      ops.GET_SLOT_DIRECT, 128,-- 46: get_slot_direct(128)
      ops.RETURN               -- 48: return
    }
  },
  ifunc.Function:new{ -- ".nud"
    name = jsval.newString(".nud"),
    id = 82,
    nargs = 0,
    max_stack = 3,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 1: get_slot_direct(328)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT_CHECK, 364,-- 4: get_slot_direct_check(364)
      ops.SWAP,                -- 6: swap
      ops.PUSH_LOCAL_FRAME,    -- 7: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 8: get_slot_direct(26)
      ops.INVOKE, 1,           -- 10: invoke(1)
      ops.POP,                 -- 12: pop
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 14: get_slot_direct(26)
      ops.PUSH_LITERAL, 26,    -- 16: push_literal(26)
      ops.SET_SLOT_DIRECT, 363,-- 18: set_slot_direct(363)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 21: get_slot_direct(26)
      ops.RETURN               -- 23: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 83,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 377,-- 8: set_slot_direct(377)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 12: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 14: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 15: get_slot_direct(377)
      ops.SET_SLOT_DIRECT, 39, -- 17: set_slot_direct(39)
      ops.PUSH_LOCAL_FRAME,    -- 19: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 20: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 22: push_frame
      ops.GET_SLOT_DIRECT, 338,-- 23: get_slot_direct(338)
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 26: get_slot_direct(26)
      ops.PUSH_LITERAL, 18,    -- 28: push_literal(18)
      ops.INVOKE, 1,           -- 30: invoke(1)
      ops.SET_SLOT_DIRECT, 40, -- 32: set_slot_direct(40)
      ops.PUSH_FRAME,          -- 34: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 35: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 37: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 38: get_slot_direct(26)
      ops.PUSH_LITERAL, 241,   -- 40: push_literal(241)
      ops.INVOKE, 1,           -- 42: invoke(1)
      ops.POP,                 -- 44: pop
      ops.PUSH_LOCAL_FRAME,    -- 45: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 46: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 48: push_frame
      ops.GET_SLOT_DIRECT, 338,-- 49: get_slot_direct(338)
      ops.PUSH_LOCAL_FRAME,    -- 51: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 52: get_slot_direct(26)
      ops.PUSH_LITERAL, 18,    -- 54: push_literal(18)
      ops.INVOKE, 1,           -- 56: invoke(1)
      ops.SET_SLOT_DIRECT, 399,-- 58: set_slot_direct(399)
      ops.PUSH_LOCAL_FRAME,    -- 60: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 61: get_slot_direct(26)
      ops.PUSH_LITERAL, 400,   -- 63: push_literal(400)
      ops.SET_SLOT_DIRECT, 363,-- 65: set_slot_direct(363)
      ops.PUSH_LOCAL_FRAME,    -- 67: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 68: get_slot_direct(26)
      ops.RETURN               -- 70: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 84,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 377,-- 8: set_slot_direct(377)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 12: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 14: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 15: get_slot_direct(377)
      ops.SET_SLOT_DIRECT, 39, -- 17: set_slot_direct(39)
      ops.PUSH_FRAME,          -- 19: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 20: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 363,-- 22: get_slot_direct(363)
      ops.PUSH_LITERAL, 19,    -- 24: push_literal(19)
      ops.BI_EQ,               -- 26: bi_eq
      ops.UN_NOT,              -- 27: un_not
      ops.JMP_UNLESS, 45, 45,  -- 28: jmp_unless(45,45)
      ops.PUSH_FRAME,          -- 31: push_frame
      ops.GET_SLOT_DIRECT, 286,-- 32: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 34: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 35: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 37: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 38: get_slot_direct(330)
      ops.PUSH_LITERAL, 416,   -- 40: push_literal(416)
      ops.INVOKE, 2,           -- 42: invoke(2)
      ops.POP,                 -- 44: pop
      ops.PHI,                 -- 45: phi
      ops.PUSH_FRAME,          -- 46: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 47: get_slot_direct(330)
      ops.PUSH_LITERAL, 374,   -- 49: push_literal(374)
      ops.SET_SLOT_DIRECT, 363,-- 51: set_slot_direct(363)
      ops.PUSH_LOCAL_FRAME,    -- 53: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 54: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 56: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 57: get_slot_direct(330)
      ops.SET_SLOT_DIRECT, 40, -- 59: set_slot_direct(40)
      ops.PUSH_LOCAL_FRAME,    -- 61: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 62: get_slot_direct(26)
      ops.PUSH_LITERAL, 386,   -- 64: push_literal(386)
      ops.SET_SLOT_DIRECT, 363,-- 66: set_slot_direct(363)
      ops.PUSH_FRAME,          -- 68: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 69: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 71: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 72: get_slot_direct(26)
      ops.INVOKE, 0,           -- 74: invoke(0)
      ops.POP,                 -- 76: pop
      ops.PUSH_LOCAL_FRAME,    -- 77: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 78: get_slot_direct(26)
      ops.RETURN               -- 80: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 85,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 377,-- 8: set_slot_direct(377)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 12: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 14: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 15: get_slot_direct(377)
      ops.SET_SLOT_DIRECT, 39, -- 17: set_slot_direct(39)
      ops.PUSH_LOCAL_FRAME,    -- 19: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 20: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 22: push_frame
      ops.GET_SLOT_DIRECT, 338,-- 23: get_slot_direct(338)
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 26: get_slot_direct(26)
      ops.PUSH_LITERAL, 18,    -- 28: push_literal(18)
      ops.INVOKE, 1,           -- 30: invoke(1)
      ops.SET_SLOT_DIRECT, 40, -- 32: set_slot_direct(40)
      ops.PUSH_LOCAL_FRAME,    -- 34: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 35: get_slot_direct(26)
      ops.PUSH_LITERAL, 386,   -- 37: push_literal(386)
      ops.SET_SLOT_DIRECT, 363,-- 39: set_slot_direct(363)
      ops.PUSH_FRAME,          -- 41: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 42: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 44: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 45: get_slot_direct(26)
      ops.PUSH_LITERAL, 255,   -- 47: push_literal(255)
      ops.INVOKE, 1,           -- 49: invoke(1)
      ops.POP,                 -- 51: pop
      ops.PUSH_LOCAL_FRAME,    -- 52: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 53: get_slot_direct(26)
      ops.RETURN               -- 55: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 86,
    nargs = 1,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 377,-- 8: set_slot_direct(377)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 296,-- 14: set_slot_direct(296)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.NEW_ARRAY,           -- 17: new_array
      ops.SET_SLOT_DIRECT, 296,-- 18: set_slot_direct(296)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 21: get_slot_direct(377)
      ops.GET_SLOT_DIRECT, 368,-- 23: get_slot_direct(368)
      ops.PUSH_LITERAL, 149,   -- 25: push_literal(149)
      ops.BI_EQ,               -- 27: bi_eq
      ops.DUP,                 -- 28: dup
      ops.UN_NOT,              -- 29: un_not
      ops.JMP_UNLESS, 42, 42,  -- 30: jmp_unless(42,42)
      ops.POP,                 -- 33: pop
      ops.PUSH_LOCAL_FRAME,    -- 34: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 35: get_slot_direct(377)
      ops.GET_SLOT_DIRECT, 368,-- 37: get_slot_direct(368)
      ops.PUSH_LITERAL, 254,   -- 39: push_literal(254)
      ops.BI_EQ,               -- 41: bi_eq
      ops.PHI,                 -- 42: phi
      ops.JMP_UNLESS, 83, 208, -- 43: jmp_unless(83,208)
      ops.PUSH_LOCAL_FRAME,    -- 46: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 47: get_slot_direct(26)
      ops.PUSH_LITERAL, 400,   -- 49: push_literal(400)
      ops.SET_SLOT_DIRECT, 363,-- 51: set_slot_direct(363)
      ops.PUSH_LOCAL_FRAME,    -- 53: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 54: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 56: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 57: get_slot_direct(377)
      ops.GET_SLOT_DIRECT, 39, -- 59: get_slot_direct(39)
      ops.SET_SLOT_DIRECT, 39, -- 61: set_slot_direct(39)
      ops.PUSH_LOCAL_FRAME,    -- 63: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 64: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 66: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 67: get_slot_direct(377)
      ops.GET_SLOT_DIRECT, 40, -- 69: get_slot_direct(40)
      ops.SET_SLOT_DIRECT, 40, -- 71: set_slot_direct(40)
      ops.PUSH_LOCAL_FRAME,    -- 73: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 74: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 76: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 77: get_slot_direct(296)
      ops.SET_SLOT_DIRECT, 399,-- 79: set_slot_direct(399)
      ops.JMP, 208,            -- 81: jmp(208)
      ops.PUSH_LOCAL_FRAME,    -- 83: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 84: get_slot_direct(26)
      ops.PUSH_LITERAL, 386,   -- 86: push_literal(386)
      ops.SET_SLOT_DIRECT, 363,-- 88: set_slot_direct(363)
      ops.PUSH_LOCAL_FRAME,    -- 90: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 91: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 93: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 94: get_slot_direct(377)
      ops.SET_SLOT_DIRECT, 39, -- 96: set_slot_direct(39)
      ops.PUSH_LOCAL_FRAME,    -- 98: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 99: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 101: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 102: get_slot_direct(296)
      ops.SET_SLOT_DIRECT, 40, -- 104: set_slot_direct(40)
      ops.PUSH_LOCAL_FRAME,    -- 106: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 107: get_slot_direct(377)
      ops.GET_SLOT_DIRECT, 363,-- 109: get_slot_direct(363)
      ops.PUSH_LITERAL, 25,    -- 111: push_literal(25)
      ops.BI_EQ,               -- 113: bi_eq
      ops.UN_NOT,              -- 114: un_not
      ops.DUP,                 -- 115: dup
      ops.JMP_UNLESS, 189, 189,-- 116: jmp_unless(189,189)
      ops.POP,                 -- 119: pop
      ops.PUSH_LOCAL_FRAME,    -- 120: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 121: get_slot_direct(377)
      ops.GET_SLOT_DIRECT, 363,-- 123: get_slot_direct(363)
      ops.PUSH_LITERAL, 19,    -- 125: push_literal(19)
      ops.BI_EQ,               -- 127: bi_eq
      ops.UN_NOT,              -- 128: un_not
      ops.DUP,                 -- 129: dup
      ops.JMP_UNLESS, 188, 188,-- 130: jmp_unless(188,188)
      ops.POP,                 -- 133: pop
      ops.PUSH_LOCAL_FRAME,    -- 134: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 135: get_slot_direct(377)
      ops.GET_SLOT_DIRECT, 368,-- 137: get_slot_direct(368)
      ops.PUSH_LITERAL, 378,   -- 139: push_literal(378)
      ops.BI_EQ,               -- 141: bi_eq
      ops.UN_NOT,              -- 142: un_not
      ops.DUP,                 -- 143: dup
      ops.JMP_UNLESS, 187, 187,-- 144: jmp_unless(187,187)
      ops.POP,                 -- 147: pop
      ops.PUSH_LOCAL_FRAME,    -- 148: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 149: get_slot_direct(377)
      ops.GET_SLOT_DIRECT, 368,-- 151: get_slot_direct(368)
      ops.PUSH_LITERAL, 403,   -- 153: push_literal(403)
      ops.BI_EQ,               -- 155: bi_eq
      ops.UN_NOT,              -- 156: un_not
      ops.DUP,                 -- 157: dup
      ops.JMP_UNLESS, 186, 186,-- 158: jmp_unless(186,186)
      ops.POP,                 -- 161: pop
      ops.PUSH_LOCAL_FRAME,    -- 162: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 163: get_slot_direct(377)
      ops.GET_SLOT_DIRECT, 368,-- 165: get_slot_direct(368)
      ops.PUSH_LITERAL, 401,   -- 167: push_literal(401)
      ops.BI_EQ,               -- 169: bi_eq
      ops.UN_NOT,              -- 170: un_not
      ops.DUP,                 -- 171: dup
      ops.JMP_UNLESS, 185, 185,-- 172: jmp_unless(185,185)
      ops.POP,                 -- 175: pop
      ops.PUSH_LOCAL_FRAME,    -- 176: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 177: get_slot_direct(377)
      ops.GET_SLOT_DIRECT, 368,-- 179: get_slot_direct(368)
      ops.PUSH_LITERAL, 397,   -- 181: push_literal(397)
      ops.BI_EQ,               -- 183: bi_eq
      ops.UN_NOT,              -- 184: un_not
      ops.PHI,                 -- 185: phi
      ops.PHI,                 -- 186: phi
      ops.PHI,                 -- 187: phi
      ops.PHI,                 -- 188: phi
      ops.PHI,                 -- 189: phi
      ops.JMP_UNLESS, 207, 207,-- 190: jmp_unless(207,207)
      ops.PUSH_FRAME,          -- 193: push_frame
      ops.GET_SLOT_DIRECT, 286,-- 194: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 196: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 197: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 199: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 200: get_slot_direct(377)
      ops.PUSH_LITERAL, 418,   -- 202: push_literal(418)
      ops.INVOKE, 2,           -- 204: invoke(2)
      ops.POP,                 -- 206: pop
      ops.PHI,                 -- 207: phi
      ops.PHI,                 -- 208: phi
      ops.PUSH_FRAME,          -- 209: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 210: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 212: get_slot_direct(368)
      ops.PUSH_LITERAL, 390,   -- 214: push_literal(390)
      ops.BI_EQ,               -- 216: bi_eq
      ops.UN_NOT,              -- 217: un_not
      ops.JMP_UNLESS, 278, 278,-- 218: jmp_unless(278,278)
      ops.JMP_INTO_LOOP, 270, 277,-- 221: jmp_into_loop(270,277)
      ops.PUSH_LOCAL_FRAME,    -- 224: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 225: get_slot_direct(296)
      ops.DUP,                 -- 227: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 228: get_slot_direct_check(69)
      ops.SWAP,                -- 230: swap
      ops.PUSH_FRAME,          -- 231: push_frame
      ops.GET_SLOT_DIRECT, 338,-- 232: get_slot_direct(338)
      ops.PUSH_LOCAL_FRAME,    -- 234: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 235: get_slot_direct(26)
      ops.PUSH_LITERAL, 18,    -- 237: push_literal(18)
      ops.INVOKE, 1,           -- 239: invoke(1)
      ops.INVOKE, 1,           -- 241: invoke(1)
      ops.POP,                 -- 243: pop
      ops.PUSH_FRAME,          -- 244: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 245: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 247: get_slot_direct(368)
      ops.PUSH_LITERAL, 76,    -- 249: push_literal(76)
      ops.BI_EQ,               -- 251: bi_eq
      ops.UN_NOT,              -- 252: un_not
      ops.JMP_UNLESS, 258, 258,-- 253: jmp_unless(258,258)
      ops.JMP, 277,            -- 256: jmp(277)
      ops.PHI,                 -- 258: phi
      ops.PUSH_FRAME,          -- 259: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 260: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 262: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 263: get_slot_direct(26)
      ops.PUSH_LITERAL, 76,    -- 265: push_literal(76)
      ops.INVOKE, 1,           -- 267: invoke(1)
      ops.POP,                 -- 269: pop
      ops.PHI,                 -- 270: phi
      ops.PUSH_LITERAL, 118,   -- 271: push_literal(118)
      ops.UN_NOT,              -- 273: un_not
      ops.JMP_UNLESS, 224, 277,-- 274: jmp_unless(224,277)
      ops.PHI,                 -- 277: phi
      ops.PHI,                 -- 278: phi
      ops.PUSH_FRAME,          -- 279: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 280: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 282: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 283: get_slot_direct(26)
      ops.PUSH_LITERAL, 390,   -- 285: push_literal(390)
      ops.INVOKE, 1,           -- 287: invoke(1)
      ops.POP,                 -- 289: pop
      ops.PUSH_LOCAL_FRAME,    -- 290: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 291: get_slot_direct(26)
      ops.RETURN               -- 293: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 87,
    nargs = 0,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 87, -- 3: set_slot_direct(87)
      ops.PUSH_LOCAL_FRAME,    -- 5: push_local_frame
      ops.PUSH_FRAME,          -- 6: push_frame
      ops.GET_SLOT_DIRECT, 338,-- 7: get_slot_direct(338)
      ops.PUSH_LOCAL_FRAME,    -- 9: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 10: get_slot_direct(26)
      ops.PUSH_LITERAL, 18,    -- 12: push_literal(18)
      ops.INVOKE, 1,           -- 14: invoke(1)
      ops.SET_SLOT_DIRECT, 87, -- 16: set_slot_direct(87)
      ops.PUSH_FRAME,          -- 18: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 19: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 22: get_slot_direct(26)
      ops.PUSH_LITERAL, 390,   -- 24: push_literal(390)
      ops.INVOKE, 1,           -- 26: invoke(1)
      ops.POP,                 -- 28: pop
      ops.PUSH_LOCAL_FRAME,    -- 29: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 30: get_slot_direct(87)
      ops.RETURN               -- 32: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 88,
    nargs = 0,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 296,-- 3: set_slot_direct(296)
      ops.PUSH_LOCAL_FRAME,    -- 5: push_local_frame
      ops.NEW_ARRAY,           -- 6: new_array
      ops.SET_SLOT_DIRECT, 296,-- 7: set_slot_direct(296)
      ops.PUSH_FRAME,          -- 9: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 10: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 363,-- 12: get_slot_direct(363)
      ops.PUSH_LITERAL, 19,    -- 14: push_literal(19)
      ops.BI_EQ,               -- 16: bi_eq
      ops.JMP_UNLESS, 62, 69,  -- 17: jmp_unless(62,69)
      ops.PUSH_FRAME,          -- 20: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 21: get_slot_direct(328)
      ops.DUP,                 -- 23: dup
      ops.GET_SLOT_DIRECT_CHECK, 278,-- 24: get_slot_direct_check(278)
      ops.SWAP,                -- 26: swap
      ops.PUSH_FRAME,          -- 27: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 28: get_slot_direct(330)
      ops.INVOKE, 1,           -- 30: invoke(1)
      ops.POP,                 -- 32: pop
      ops.PUSH_LOCAL_FRAME,    -- 33: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 34: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 36: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 37: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 224,-- 39: get_slot_direct(224)
      ops.SET_SLOT_DIRECT, 19, -- 41: set_slot_direct(19)
      ops.PUSH_LOCAL_FRAME,    -- 43: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 44: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 46: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 47: get_slot_direct(328)
      ops.SET_SLOT_DIRECT, 328,-- 49: set_slot_direct(328)
      ops.PUSH_FRAME,          -- 51: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 52: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 54: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 55: get_slot_direct(26)
      ops.INVOKE, 0,           -- 57: invoke(0)
      ops.POP,                 -- 59: pop
      ops.JMP, 69,             -- 60: jmp(69)
      ops.PUSH_LOCAL_FRAME,    -- 62: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 63: get_slot_direct(26)
      ops.PUSH_LITERAL, 41,    -- 65: push_literal(41)
      ops.SET_SLOT_DIRECT, 19, -- 67: set_slot_direct(19)
      ops.PHI,                 -- 69: phi
      ops.PUSH_FRAME,          -- 70: push_frame
      ops.GET_SLOT_DIRECT, 335,-- 71: get_slot_direct(335)
      ops.PUSH_LOCAL_FRAME,    -- 73: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 74: get_slot_direct(26)
      ops.INVOKE, 0,           -- 76: invoke(0)
      ops.POP,                 -- 78: pop
      ops.PUSH_FRAME,          -- 79: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 80: get_slot_direct(328)
      ops.DUP,                 -- 82: dup
      ops.GET_SLOT_DIRECT_CHECK, 278,-- 83: get_slot_direct_check(278)
      ops.SWAP,                -- 85: swap
      ops.NEW_OBJECT,          -- 86: new_object
      ops.DUP,                 -- 87: dup
      ops.PUSH_LITERAL, 17,    -- 88: push_literal(17)
      ops.SET_SLOT_DIRECT, 224,-- 90: set_slot_direct(224)
      ops.DUP,                 -- 92: dup
      ops.PUSH_LITERAL, 19,    -- 93: push_literal(19)
      ops.SET_SLOT_DIRECT, 363,-- 95: set_slot_direct(363)
      ops.INVOKE, 1,           -- 97: invoke(1)
      ops.POP,                 -- 99: pop
      ops.PUSH_FRAME,          -- 100: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 101: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 103: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 104: get_slot_direct(26)
      ops.PUSH_LITERAL, 378,   -- 106: push_literal(378)
      ops.INVOKE, 1,           -- 108: invoke(1)
      ops.POP,                 -- 110: pop
      ops.PUSH_FRAME,          -- 111: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 112: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 114: get_slot_direct(368)
      ops.PUSH_LITERAL, 390,   -- 116: push_literal(390)
      ops.BI_EQ,               -- 118: bi_eq
      ops.UN_NOT,              -- 119: un_not
      ops.JMP_UNLESS, 222, 222,-- 120: jmp_unless(222,222)
      ops.JMP_INTO_LOOP, 214, 221,-- 123: jmp_into_loop(214,221)
      ops.PUSH_FRAME,          -- 126: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 127: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 363,-- 129: get_slot_direct(363)
      ops.PUSH_LITERAL, 19,    -- 131: push_literal(19)
      ops.BI_EQ,               -- 133: bi_eq
      ops.UN_NOT,              -- 134: un_not
      ops.JMP_UNLESS, 152, 152,-- 135: jmp_unless(152,152)
      ops.PUSH_FRAME,          -- 138: push_frame
      ops.GET_SLOT_DIRECT, 286,-- 139: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 141: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 142: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 144: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 145: get_slot_direct(330)
      ops.PUSH_LITERAL, 421,   -- 147: push_literal(421)
      ops.INVOKE, 2,           -- 149: invoke(2)
      ops.POP,                 -- 151: pop
      ops.PHI,                 -- 152: phi
      ops.PUSH_FRAME,          -- 153: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 154: get_slot_direct(328)
      ops.DUP,                 -- 156: dup
      ops.GET_SLOT_DIRECT_CHECK, 278,-- 157: get_slot_direct_check(278)
      ops.SWAP,                -- 159: swap
      ops.PUSH_FRAME,          -- 160: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 161: get_slot_direct(330)
      ops.INVOKE, 1,           -- 163: invoke(1)
      ops.POP,                 -- 165: pop
      ops.PUSH_LOCAL_FRAME,    -- 166: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 167: get_slot_direct(296)
      ops.DUP,                 -- 169: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 170: get_slot_direct_check(69)
      ops.SWAP,                -- 172: swap
      ops.PUSH_FRAME,          -- 173: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 174: get_slot_direct(330)
      ops.INVOKE, 1,           -- 176: invoke(1)
      ops.POP,                 -- 178: pop
      ops.PUSH_FRAME,          -- 179: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 180: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 182: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 183: get_slot_direct(26)
      ops.INVOKE, 0,           -- 185: invoke(0)
      ops.POP,                 -- 187: pop
      ops.PUSH_FRAME,          -- 188: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 189: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 191: get_slot_direct(368)
      ops.PUSH_LITERAL, 76,    -- 193: push_literal(76)
      ops.BI_EQ,               -- 195: bi_eq
      ops.UN_NOT,              -- 196: un_not
      ops.JMP_UNLESS, 202, 202,-- 197: jmp_unless(202,202)
      ops.JMP, 221,            -- 200: jmp(221)
      ops.PHI,                 -- 202: phi
      ops.PUSH_FRAME,          -- 203: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 204: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 206: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 207: get_slot_direct(26)
      ops.PUSH_LITERAL, 76,    -- 209: push_literal(76)
      ops.INVOKE, 1,           -- 211: invoke(1)
      ops.POP,                 -- 213: pop
      ops.PHI,                 -- 214: phi
      ops.PUSH_LITERAL, 118,   -- 215: push_literal(118)
      ops.UN_NOT,              -- 217: un_not
      ops.JMP_UNLESS, 126, 221,-- 218: jmp_unless(126,221)
      ops.PHI,                 -- 221: phi
      ops.PHI,                 -- 222: phi
      ops.PUSH_LOCAL_FRAME,    -- 223: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 224: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 226: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 227: get_slot_direct(296)
      ops.SET_SLOT_DIRECT, 39, -- 229: set_slot_direct(39)
      ops.PUSH_FRAME,          -- 231: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 232: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 234: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 235: get_slot_direct(26)
      ops.PUSH_LITERAL, 390,   -- 237: push_literal(390)
      ops.INVOKE, 1,           -- 239: invoke(1)
      ops.POP,                 -- 241: pop
      ops.PUSH_FRAME,          -- 242: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 243: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 245: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 246: get_slot_direct(26)
      ops.PUSH_LITERAL, 244,   -- 248: push_literal(244)
      ops.INVOKE, 1,           -- 250: invoke(1)
      ops.POP,                 -- 252: pop
      ops.PUSH_FRAME,          -- 253: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 254: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 363,-- 256: get_slot_direct(363)
      ops.PUSH_LITERAL, 374,   -- 258: push_literal(374)
      ops.BI_EQ,               -- 260: bi_eq
      ops.DUP,                 -- 261: dup
      ops.JMP_UNLESS, 274, 274,-- 262: jmp_unless(274,274)
      ops.POP,                 -- 265: pop
      ops.PUSH_FRAME,          -- 266: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 267: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 224,-- 269: get_slot_direct(224)
      ops.PUSH_LITERAL, 422,   -- 271: push_literal(422)
      ops.BI_EQ,               -- 273: bi_eq
      ops.PHI,                 -- 274: phi
      ops.JMP_UNLESS, 298, 298,-- 275: jmp_unless(298,298)
      ops.PUSH_FRAME,          -- 278: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 279: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 281: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 282: get_slot_direct(26)
      ops.INVOKE, 0,           -- 284: invoke(0)
      ops.POP,                 -- 286: pop
      ops.PUSH_FRAME,          -- 287: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 288: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 290: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 291: get_slot_direct(26)
      ops.PUSH_LITERAL, 380,   -- 293: push_literal(380)
      ops.INVOKE, 1,           -- 295: invoke(1)
      ops.POP,                 -- 297: pop
      ops.PHI,                 -- 298: phi
      ops.PUSH_LOCAL_FRAME,    -- 299: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 300: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 302: push_frame
      ops.GET_SLOT_DIRECT, 341,-- 303: get_slot_direct(341)
      ops.PUSH_LOCAL_FRAME,    -- 305: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 306: get_slot_direct(26)
      ops.INVOKE, 0,           -- 308: invoke(0)
      ops.SET_SLOT_DIRECT, 40, -- 310: set_slot_direct(40)
      ops.PUSH_FRAME,          -- 312: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 313: get_slot_direct(328)
      ops.GET_SLOT_DIRECT, 359,-- 315: get_slot_direct(359)
      ops.PUSH_LITERAL, 17,    -- 317: push_literal(17)
      ops.GET_SLOT_INDIRECT,   -- 319: get_slot_indirect
      ops.JMP_UNLESS, 330, 330,-- 320: jmp_unless(330,330)
      ops.PUSH_LOCAL_FRAME,    -- 323: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 324: get_slot_direct(26)
      ops.PUSH_LITERAL, 118,   -- 326: push_literal(118)
      ops.SET_SLOT_DIRECT, 423,-- 328: set_slot_direct(423)
      ops.PHI,                 -- 330: phi
      ops.PUSH_FRAME,          -- 331: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 332: get_slot_direct(328)
      ops.DUP,                 -- 334: dup
      ops.GET_SLOT_DIRECT_CHECK, 71,-- 335: get_slot_direct_check(71)
      ops.SWAP,                -- 337: swap
      ops.INVOKE, 0,           -- 338: invoke(0)
      ops.POP,                 -- 340: pop
      ops.PUSH_FRAME,          -- 341: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 342: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 344: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 345: get_slot_direct(26)
      ops.PUSH_LITERAL, 245,   -- 347: push_literal(245)
      ops.INVOKE, 1,           -- 349: invoke(1)
      ops.POP,                 -- 351: pop
      ops.PUSH_LOCAL_FRAME,    -- 352: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 353: get_slot_direct(26)
      ops.PUSH_LITERAL, 25,    -- 355: push_literal(25)
      ops.SET_SLOT_DIRECT, 363,-- 357: set_slot_direct(363)
      ops.PUSH_LOCAL_FRAME,    -- 359: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 360: get_slot_direct(26)
      ops.RETURN               -- 362: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 89,
    nargs = 0,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 296,-- 3: set_slot_direct(296)
      ops.PUSH_LOCAL_FRAME,    -- 5: push_local_frame
      ops.NEW_ARRAY,           -- 6: new_array
      ops.SET_SLOT_DIRECT, 296,-- 7: set_slot_direct(296)
      ops.PUSH_FRAME,          -- 9: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 10: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 12: get_slot_direct(368)
      ops.PUSH_LITERAL, 255,   -- 14: push_literal(255)
      ops.BI_EQ,               -- 16: bi_eq
      ops.UN_NOT,              -- 17: un_not
      ops.JMP_UNLESS, 78, 78,  -- 18: jmp_unless(78,78)
      ops.JMP_INTO_LOOP, 70, 77,-- 21: jmp_into_loop(70,77)
      ops.PUSH_LOCAL_FRAME,    -- 24: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 25: get_slot_direct(296)
      ops.DUP,                 -- 27: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 28: get_slot_direct_check(69)
      ops.SWAP,                -- 30: swap
      ops.PUSH_FRAME,          -- 31: push_frame
      ops.GET_SLOT_DIRECT, 338,-- 32: get_slot_direct(338)
      ops.PUSH_LOCAL_FRAME,    -- 34: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 35: get_slot_direct(26)
      ops.PUSH_LITERAL, 18,    -- 37: push_literal(18)
      ops.INVOKE, 1,           -- 39: invoke(1)
      ops.INVOKE, 1,           -- 41: invoke(1)
      ops.POP,                 -- 43: pop
      ops.PUSH_FRAME,          -- 44: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 45: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 47: get_slot_direct(368)
      ops.PUSH_LITERAL, 76,    -- 49: push_literal(76)
      ops.BI_EQ,               -- 51: bi_eq
      ops.UN_NOT,              -- 52: un_not
      ops.JMP_UNLESS, 58, 58,  -- 53: jmp_unless(58,58)
      ops.JMP, 77,             -- 56: jmp(77)
      ops.PHI,                 -- 58: phi
      ops.PUSH_FRAME,          -- 59: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 60: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 62: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 63: get_slot_direct(26)
      ops.PUSH_LITERAL, 76,    -- 65: push_literal(76)
      ops.INVOKE, 1,           -- 67: invoke(1)
      ops.POP,                 -- 69: pop
      ops.PHI,                 -- 70: phi
      ops.PUSH_LITERAL, 118,   -- 71: push_literal(118)
      ops.UN_NOT,              -- 73: un_not
      ops.JMP_UNLESS, 24, 77,  -- 74: jmp_unless(24,77)
      ops.PHI,                 -- 77: phi
      ops.PHI,                 -- 78: phi
      ops.PUSH_FRAME,          -- 79: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 80: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 82: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 83: get_slot_direct(26)
      ops.PUSH_LITERAL, 255,   -- 85: push_literal(255)
      ops.INVOKE, 1,           -- 87: invoke(1)
      ops.POP,                 -- 89: pop
      ops.PUSH_LOCAL_FRAME,    -- 90: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 91: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 93: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 94: get_slot_direct(296)
      ops.SET_SLOT_DIRECT, 39, -- 96: set_slot_direct(39)
      ops.PUSH_LOCAL_FRAME,    -- 98: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 99: get_slot_direct(26)
      ops.PUSH_LITERAL, 389,   -- 101: push_literal(389)
      ops.SET_SLOT_DIRECT, 363,-- 103: set_slot_direct(363)
      ops.PUSH_LOCAL_FRAME,    -- 105: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 106: get_slot_direct(26)
      ops.RETURN               -- 108: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 90,
    nargs = 0,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 296,-- 3: set_slot_direct(296)
      ops.PUSH_LOCAL_FRAME,    -- 5: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 6: push_literal(0)
      ops.SET_SLOT_DIRECT, 23, -- 8: set_slot_direct(23)
      ops.PUSH_LOCAL_FRAME,    -- 10: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 11: push_literal(0)
      ops.SET_SLOT_DIRECT, 110,-- 13: set_slot_direct(110)
      ops.PUSH_LOCAL_FRAME,    -- 15: push_local_frame
      ops.NEW_ARRAY,           -- 16: new_array
      ops.SET_SLOT_DIRECT, 296,-- 17: set_slot_direct(296)
      ops.PUSH_FRAME,          -- 19: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 20: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 22: get_slot_direct(368)
      ops.PUSH_LITERAL, 245,   -- 24: push_literal(245)
      ops.BI_EQ,               -- 26: bi_eq
      ops.UN_NOT,              -- 27: un_not
      ops.JMP_UNLESS, 172, 172,-- 28: jmp_unless(172,172)
      ops.JMP_INTO_LOOP, 164, 171,-- 31: jmp_into_loop(164,171)
      ops.PUSH_LOCAL_FRAME,    -- 34: push_local_frame
      ops.PUSH_FRAME,          -- 35: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 36: get_slot_direct(330)
      ops.SET_SLOT_DIRECT, 23, -- 38: set_slot_direct(23)
      ops.PUSH_LOCAL_FRAME,    -- 40: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 41: get_slot_direct(23)
      ops.GET_SLOT_DIRECT, 363,-- 43: get_slot_direct(363)
      ops.PUSH_LITERAL, 19,    -- 45: push_literal(19)
      ops.BI_EQ,               -- 47: bi_eq
      ops.UN_NOT,              -- 48: un_not
      ops.DUP,                 -- 49: dup
      ops.JMP_UNLESS, 63, 63,  -- 50: jmp_unless(63,63)
      ops.POP,                 -- 53: pop
      ops.PUSH_LOCAL_FRAME,    -- 54: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 55: get_slot_direct(23)
      ops.GET_SLOT_DIRECT, 363,-- 57: get_slot_direct(363)
      ops.PUSH_LITERAL, 374,   -- 59: push_literal(374)
      ops.BI_EQ,               -- 61: bi_eq
      ops.UN_NOT,              -- 62: un_not
      ops.PHI,                 -- 63: phi
      ops.JMP_UNLESS, 81, 81,  -- 64: jmp_unless(81,81)
      ops.PUSH_FRAME,          -- 67: push_frame
      ops.GET_SLOT_DIRECT, 286,-- 68: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 70: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 71: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 73: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 74: get_slot_direct(330)
      ops.PUSH_LITERAL, 424,   -- 76: push_literal(424)
      ops.INVOKE, 2,           -- 78: invoke(2)
      ops.POP,                 -- 80: pop
      ops.PHI,                 -- 81: phi
      ops.PUSH_FRAME,          -- 82: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 83: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 85: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 86: get_slot_direct(26)
      ops.INVOKE, 0,           -- 88: invoke(0)
      ops.POP,                 -- 90: pop
      ops.PUSH_FRAME,          -- 91: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 92: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 94: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 95: get_slot_direct(26)
      ops.PUSH_LITERAL, 241,   -- 97: push_literal(241)
      ops.INVOKE, 1,           -- 99: invoke(1)
      ops.POP,                 -- 101: pop
      ops.PUSH_LOCAL_FRAME,    -- 102: push_local_frame
      ops.PUSH_FRAME,          -- 103: push_frame
      ops.GET_SLOT_DIRECT, 338,-- 104: get_slot_direct(338)
      ops.PUSH_LOCAL_FRAME,    -- 106: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 107: get_slot_direct(26)
      ops.PUSH_LITERAL, 18,    -- 109: push_literal(18)
      ops.INVOKE, 1,           -- 111: invoke(1)
      ops.SET_SLOT_DIRECT, 110,-- 113: set_slot_direct(110)
      ops.PUSH_LOCAL_FRAME,    -- 115: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 116: get_slot_direct(110)
      ops.PUSH_LOCAL_FRAME,    -- 118: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 119: get_slot_direct(23)
      ops.GET_SLOT_DIRECT, 224,-- 121: get_slot_direct(224)
      ops.SET_SLOT_DIRECT, 258,-- 123: set_slot_direct(258)
      ops.PUSH_LOCAL_FRAME,    -- 125: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 126: get_slot_direct(296)
      ops.DUP,                 -- 128: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 129: get_slot_direct_check(69)
      ops.SWAP,                -- 131: swap
      ops.PUSH_LOCAL_FRAME,    -- 132: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 133: get_slot_direct(110)
      ops.INVOKE, 1,           -- 135: invoke(1)
      ops.POP,                 -- 137: pop
      ops.PUSH_FRAME,          -- 138: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 139: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 141: get_slot_direct(368)
      ops.PUSH_LITERAL, 76,    -- 143: push_literal(76)
      ops.BI_EQ,               -- 145: bi_eq
      ops.UN_NOT,              -- 146: un_not
      ops.JMP_UNLESS, 152, 152,-- 147: jmp_unless(152,152)
      ops.JMP, 171,            -- 150: jmp(171)
      ops.PHI,                 -- 152: phi
      ops.PUSH_FRAME,          -- 153: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 154: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 156: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 157: get_slot_direct(26)
      ops.PUSH_LITERAL, 76,    -- 159: push_literal(76)
      ops.INVOKE, 1,           -- 161: invoke(1)
      ops.POP,                 -- 163: pop
      ops.PHI,                 -- 164: phi
      ops.PUSH_LITERAL, 118,   -- 165: push_literal(118)
      ops.UN_NOT,              -- 167: un_not
      ops.JMP_UNLESS, 34, 171, -- 168: jmp_unless(34,171)
      ops.PHI,                 -- 171: phi
      ops.PHI,                 -- 172: phi
      ops.PUSH_FRAME,          -- 173: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 174: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 176: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 177: get_slot_direct(26)
      ops.PUSH_LITERAL, 245,   -- 179: push_literal(245)
      ops.INVOKE, 1,           -- 181: invoke(1)
      ops.POP,                 -- 183: pop
      ops.PUSH_LOCAL_FRAME,    -- 184: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 185: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 187: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 188: get_slot_direct(296)
      ops.SET_SLOT_DIRECT, 39, -- 190: set_slot_direct(39)
      ops.PUSH_LOCAL_FRAME,    -- 192: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 193: get_slot_direct(26)
      ops.PUSH_LITERAL, 389,   -- 195: push_literal(389)
      ops.SET_SLOT_DIRECT, 363,-- 197: set_slot_direct(363)
      ops.PUSH_LOCAL_FRAME,    -- 199: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 200: get_slot_direct(26)
      ops.RETURN               -- 202: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 91,
    nargs = 0,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 296,-- 3: set_slot_direct(296)
      ops.PUSH_LOCAL_FRAME,    -- 5: push_local_frame
      ops.PUSH_FRAME,          -- 6: push_frame
      ops.GET_SLOT_DIRECT, 341,-- 7: get_slot_direct(341)
      ops.PUSH_LOCAL_FRAME,    -- 9: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 10: get_slot_direct(26)
      ops.INVOKE, 0,           -- 12: invoke(0)
      ops.SET_SLOT_DIRECT, 296,-- 14: set_slot_direct(296)
      ops.PUSH_FRAME,          -- 16: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 17: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 19: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 20: get_slot_direct(26)
      ops.PUSH_LITERAL, 245,   -- 22: push_literal(245)
      ops.INVOKE, 1,           -- 24: invoke(1)
      ops.POP,                 -- 26: pop
      ops.NEW_ARRAY,           -- 27: new_array
      ops.DUP,                 -- 28: dup
      ops.NEW_OBJECT,          -- 29: new_object
      ops.DUP,                 -- 30: dup
      ops.PUSH_LITERAL, 91,    -- 31: push_literal(91)
      ops.SET_SLOT_DIRECT, 224,-- 33: set_slot_direct(224)
      ops.DUP,                 -- 35: dup
      ops.PUSH_LITERAL, 339,   -- 36: push_literal(339)
      ops.SET_SLOT_DIRECT, 363,-- 38: set_slot_direct(363)
      ops.DUP,                 -- 40: dup
      ops.PUSH_LOCAL_FRAME,    -- 41: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 42: get_slot_direct(296)
      ops.SET_SLOT_DIRECT, 39, -- 44: set_slot_direct(39)
      ops.SET_SLOT_DIRECT, 18, -- 46: set_slot_direct(18)
      ops.RETURN               -- 48: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 92,
    nargs = 0,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 296,-- 3: set_slot_direct(296)
      ops.PUSH_LOCAL_FRAME,    -- 5: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 6: push_literal(0)
      ops.SET_SLOT_DIRECT, 23, -- 8: set_slot_direct(23)
      ops.PUSH_LOCAL_FRAME,    -- 10: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 11: push_literal(0)
      ops.SET_SLOT_DIRECT, 289,-- 13: set_slot_direct(289)
      ops.PUSH_LOCAL_FRAME,    -- 15: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 16: push_literal(0)
      ops.SET_SLOT_DIRECT, 110,-- 18: set_slot_direct(110)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.NEW_ARRAY,           -- 21: new_array
      ops.SET_SLOT_DIRECT, 296,-- 22: set_slot_direct(296)
      ops.JMP_INTO_LOOP, 213, 220,-- 24: jmp_into_loop(213,220)
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.PUSH_FRAME,          -- 28: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 29: get_slot_direct(330)
      ops.SET_SLOT_DIRECT, 23, -- 31: set_slot_direct(23)
      ops.PUSH_LOCAL_FRAME,    -- 33: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 34: get_slot_direct(23)
      ops.GET_SLOT_DIRECT, 363,-- 36: get_slot_direct(363)
      ops.PUSH_LITERAL, 19,    -- 38: push_literal(19)
      ops.BI_EQ,               -- 40: bi_eq
      ops.UN_NOT,              -- 41: un_not
      ops.JMP_UNLESS, 59, 59,  -- 42: jmp_unless(59,59)
      ops.PUSH_FRAME,          -- 45: push_frame
      ops.GET_SLOT_DIRECT, 286,-- 46: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 48: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 49: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 51: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 52: get_slot_direct(23)
      ops.PUSH_LITERAL, 425,   -- 54: push_literal(425)
      ops.INVOKE, 2,           -- 56: invoke(2)
      ops.POP,                 -- 58: pop
      ops.PHI,                 -- 59: phi
      ops.PUSH_FRAME,          -- 60: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 61: get_slot_direct(328)
      ops.DUP,                 -- 63: dup
      ops.GET_SLOT_DIRECT_CHECK, 278,-- 64: get_slot_direct_check(278)
      ops.SWAP,                -- 66: swap
      ops.PUSH_LOCAL_FRAME,    -- 67: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 68: get_slot_direct(23)
      ops.INVOKE, 1,           -- 70: invoke(1)
      ops.POP,                 -- 72: pop
      ops.PUSH_LOCAL_FRAME,    -- 73: push_local_frame
      ops.NEW_OBJECT,          -- 74: new_object
      ops.DUP,                 -- 75: dup
      ops.PUSH_LITERAL, 382,   -- 76: push_literal(382)
      ops.SET_SLOT_DIRECT, 224,-- 78: set_slot_direct(224)
      ops.DUP,                 -- 80: dup
      ops.PUSH_LITERAL, 339,   -- 81: push_literal(339)
      ops.SET_SLOT_DIRECT, 363,-- 83: set_slot_direct(363)
      ops.DUP,                 -- 85: dup
      ops.PUSH_LOCAL_FRAME,    -- 86: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 87: get_slot_direct(23)
      ops.SET_SLOT_DIRECT, 39, -- 89: set_slot_direct(39)
      ops.SET_SLOT_DIRECT, 110,-- 91: set_slot_direct(110)
      ops.PUSH_LOCAL_FRAME,    -- 93: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 94: get_slot_direct(296)
      ops.DUP,                 -- 96: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 97: get_slot_direct_check(69)
      ops.SWAP,                -- 99: swap
      ops.PUSH_LOCAL_FRAME,    -- 100: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 101: get_slot_direct(110)
      ops.INVOKE, 1,           -- 103: invoke(1)
      ops.POP,                 -- 105: pop
      ops.PUSH_FRAME,          -- 106: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 107: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 109: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 110: get_slot_direct(26)
      ops.INVOKE, 0,           -- 112: invoke(0)
      ops.POP,                 -- 114: pop
      ops.PUSH_FRAME,          -- 115: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 116: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 118: get_slot_direct(368)
      ops.PUSH_LITERAL, 392,   -- 120: push_literal(392)
      ops.BI_EQ,               -- 122: bi_eq
      ops.JMP_UNLESS, 186, 186,-- 123: jmp_unless(186,186)
      ops.PUSH_LOCAL_FRAME,    -- 126: push_local_frame
      ops.PUSH_FRAME,          -- 127: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 128: get_slot_direct(330)
      ops.SET_SLOT_DIRECT, 289,-- 130: set_slot_direct(289)
      ops.PUSH_FRAME,          -- 132: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 133: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 135: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 136: get_slot_direct(26)
      ops.PUSH_LITERAL, 392,   -- 138: push_literal(392)
      ops.INVOKE, 1,           -- 140: invoke(1)
      ops.POP,                 -- 142: pop
      ops.PUSH_LOCAL_FRAME,    -- 143: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 144: get_slot_direct(289)
      ops.PUSH_LOCAL_FRAME,    -- 146: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 147: get_slot_direct(23)
      ops.SET_SLOT_DIRECT, 39, -- 149: set_slot_direct(39)
      ops.PUSH_LOCAL_FRAME,    -- 151: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 152: get_slot_direct(289)
      ops.PUSH_FRAME,          -- 154: push_frame
      ops.GET_SLOT_DIRECT, 338,-- 155: get_slot_direct(338)
      ops.PUSH_LOCAL_FRAME,    -- 157: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 158: get_slot_direct(26)
      ops.PUSH_LITERAL, 18,    -- 160: push_literal(18)
      ops.INVOKE, 1,           -- 162: invoke(1)
      ops.SET_SLOT_DIRECT, 40, -- 164: set_slot_direct(40)
      ops.PUSH_LOCAL_FRAME,    -- 166: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 167: get_slot_direct(289)
      ops.PUSH_LITERAL, 386,   -- 169: push_literal(386)
      ops.SET_SLOT_DIRECT, 363,-- 171: set_slot_direct(363)
      ops.PUSH_LOCAL_FRAME,    -- 173: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 174: get_slot_direct(296)
      ops.DUP,                 -- 176: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 177: get_slot_direct_check(69)
      ops.SWAP,                -- 179: swap
      ops.PUSH_LOCAL_FRAME,    -- 180: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 181: get_slot_direct(289)
      ops.INVOKE, 1,           -- 183: invoke(1)
      ops.POP,                 -- 185: pop
      ops.PHI,                 -- 186: phi
      ops.PUSH_FRAME,          -- 187: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 188: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 190: get_slot_direct(368)
      ops.PUSH_LITERAL, 76,    -- 192: push_literal(76)
      ops.BI_EQ,               -- 194: bi_eq
      ops.UN_NOT,              -- 195: un_not
      ops.JMP_UNLESS, 201, 201,-- 196: jmp_unless(201,201)
      ops.JMP, 220,            -- 199: jmp(220)
      ops.PHI,                 -- 201: phi
      ops.PUSH_FRAME,          -- 202: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 203: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 205: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 206: get_slot_direct(26)
      ops.PUSH_LITERAL, 76,    -- 208: push_literal(76)
      ops.INVOKE, 1,           -- 210: invoke(1)
      ops.POP,                 -- 212: pop
      ops.PHI,                 -- 213: phi
      ops.PUSH_LITERAL, 118,   -- 214: push_literal(118)
      ops.UN_NOT,              -- 216: un_not
      ops.JMP_UNLESS, 27, 220, -- 217: jmp_unless(27,220)
      ops.PHI,                 -- 220: phi
      ops.PUSH_FRAME,          -- 221: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 222: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 224: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 225: get_slot_direct(26)
      ops.PUSH_LITERAL, 380,   -- 227: push_literal(380)
      ops.INVOKE, 1,           -- 229: invoke(1)
      ops.POP,                 -- 231: pop
      ops.PUSH_LOCAL_FRAME,    -- 232: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 233: get_slot_direct(296)
      ops.RETURN               -- 235: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 93,
    nargs = 0,
    max_stack = 5,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 1: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 3: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 4: get_slot_direct(26)
      ops.PUSH_LITERAL, 378,   -- 6: push_literal(378)
      ops.INVOKE, 1,           -- 8: invoke(1)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 12: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 14: push_frame
      ops.GET_SLOT_DIRECT, 338,-- 15: get_slot_direct(338)
      ops.PUSH_LOCAL_FRAME,    -- 17: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 18: get_slot_direct(26)
      ops.PUSH_LITERAL, 18,    -- 20: push_literal(18)
      ops.INVOKE, 1,           -- 22: invoke(1)
      ops.SET_SLOT_DIRECT, 39, -- 24: set_slot_direct(39)
      ops.PUSH_FRAME,          -- 26: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 27: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 29: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 30: get_slot_direct(26)
      ops.PUSH_LITERAL, 390,   -- 32: push_literal(390)
      ops.INVOKE, 1,           -- 34: invoke(1)
      ops.POP,                 -- 36: pop
      ops.PUSH_LOCAL_FRAME,    -- 37: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 38: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 40: push_frame
      ops.GET_SLOT_DIRECT, 91, -- 41: get_slot_direct(91)
      ops.PUSH_LOCAL_FRAME,    -- 43: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 44: get_slot_direct(26)
      ops.INVOKE, 0,           -- 46: invoke(0)
      ops.PUSH_LITERAL, 18,    -- 48: push_literal(18)
      ops.GET_SLOT_INDIRECT,   -- 50: get_slot_indirect
      ops.SET_SLOT_DIRECT, 40, -- 51: set_slot_direct(40)
      ops.PUSH_FRAME,          -- 53: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 54: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 56: get_slot_direct(368)
      ops.PUSH_LITERAL, 391,   -- 58: push_literal(391)
      ops.BI_EQ,               -- 60: bi_eq
      ops.JMP_UNLESS, 142, 149,-- 61: jmp_unless(142,149)
      ops.PUSH_FRAME,          -- 64: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 65: get_slot_direct(328)
      ops.DUP,                 -- 67: dup
      ops.GET_SLOT_DIRECT_CHECK, 364,-- 68: get_slot_direct_check(364)
      ops.SWAP,                -- 70: swap
      ops.PUSH_FRAME,          -- 71: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 72: get_slot_direct(330)
      ops.INVOKE, 1,           -- 74: invoke(1)
      ops.POP,                 -- 76: pop
      ops.PUSH_FRAME,          -- 77: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 78: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 80: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 81: get_slot_direct(26)
      ops.PUSH_LITERAL, 391,   -- 83: push_literal(391)
      ops.INVOKE, 1,           -- 85: invoke(1)
      ops.POP,                 -- 87: pop
      ops.PUSH_LOCAL_FRAME,    -- 88: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 89: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 91: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 92: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 94: get_slot_direct(368)
      ops.PUSH_LITERAL, 426,   -- 96: push_literal(426)
      ops.BI_EQ,               -- 98: bi_eq
      ops.JMP_UNLESS, 126, 137,-- 99: jmp_unless(126,137)
      ops.NEW_OBJECT,          -- 102: new_object
      ops.DUP,                 -- 103: dup
      ops.PUSH_LITERAL, 91,    -- 104: push_literal(91)
      ops.SET_SLOT_DIRECT, 224,-- 106: set_slot_direct(224)
      ops.DUP,                 -- 108: dup
      ops.PUSH_LITERAL, 339,   -- 109: push_literal(339)
      ops.SET_SLOT_DIRECT, 363,-- 111: set_slot_direct(363)
      ops.DUP,                 -- 113: dup
      ops.PUSH_FRAME,          -- 114: push_frame
      ops.GET_SLOT_DIRECT, 339,-- 115: get_slot_direct(339)
      ops.PUSH_LOCAL_FRAME,    -- 117: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 118: get_slot_direct(26)
      ops.INVOKE, 0,           -- 120: invoke(0)
      ops.SET_SLOT_DIRECT, 39, -- 122: set_slot_direct(39)
      ops.JMP, 137,            -- 124: jmp(137)
      ops.PUSH_FRAME,          -- 126: push_frame
      ops.GET_SLOT_DIRECT, 91, -- 127: get_slot_direct(91)
      ops.PUSH_LOCAL_FRAME,    -- 129: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 130: get_slot_direct(26)
      ops.INVOKE, 0,           -- 132: invoke(0)
      ops.PUSH_LITERAL, 18,    -- 134: push_literal(18)
      ops.GET_SLOT_INDIRECT,   -- 136: get_slot_indirect
      ops.PHI,                 -- 137: phi
      ops.SET_SLOT_DIRECT, 399,-- 138: set_slot_direct(399)
      ops.JMP, 149,            -- 140: jmp(149)
      ops.PUSH_LOCAL_FRAME,    -- 142: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 143: get_slot_direct(26)
      ops.PUSH_LITERAL, 41,    -- 145: push_literal(41)
      ops.SET_SLOT_DIRECT, 399,-- 147: set_slot_direct(399)
      ops.PHI,                 -- 149: phi
      ops.PUSH_LOCAL_FRAME,    -- 150: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 151: get_slot_direct(26)
      ops.PUSH_LITERAL, 339,   -- 153: push_literal(339)
      ops.SET_SLOT_DIRECT, 363,-- 155: set_slot_direct(363)
      ops.NEW_ARRAY,           -- 157: new_array
      ops.DUP,                 -- 158: dup
      ops.PUSH_LOCAL_FRAME,    -- 159: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 160: get_slot_direct(26)
      ops.SET_SLOT_DIRECT, 18, -- 162: set_slot_direct(18)
      ops.RETURN               -- 164: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 94,
    nargs = 0,
    max_stack = 4,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 1: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 3: get_slot_direct(368)
      ops.PUSH_LITERAL, 380,   -- 5: push_literal(380)
      ops.BI_EQ,               -- 7: bi_eq
      ops.UN_NOT,              -- 8: un_not
      ops.JMP_UNLESS, 29, 36,  -- 9: jmp_unless(29,36)
      ops.PUSH_LOCAL_FRAME,    -- 12: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 13: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 15: push_frame
      ops.GET_SLOT_DIRECT, 338,-- 16: get_slot_direct(338)
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 19: get_slot_direct(26)
      ops.PUSH_LITERAL, 18,    -- 21: push_literal(18)
      ops.INVOKE, 1,           -- 23: invoke(1)
      ops.SET_SLOT_DIRECT, 39, -- 25: set_slot_direct(39)
      ops.JMP, 36,             -- 27: jmp(36)
      ops.PUSH_LOCAL_FRAME,    -- 29: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 30: get_slot_direct(26)
      ops.PUSH_LITERAL, 41,    -- 32: push_literal(41)
      ops.SET_SLOT_DIRECT, 39, -- 34: set_slot_direct(39)
      ops.PHI,                 -- 36: phi
      ops.PUSH_FRAME,          -- 37: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 38: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 40: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 41: get_slot_direct(26)
      ops.PUSH_LITERAL, 380,   -- 43: push_literal(380)
      ops.INVOKE, 1,           -- 45: invoke(1)
      ops.POP,                 -- 47: pop
      ops.PUSH_FRAME,          -- 48: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 49: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 51: get_slot_direct(368)
      ops.PUSH_LITERAL, 245,   -- 53: push_literal(245)
      ops.BI_EQ,               -- 55: bi_eq
      ops.UN_NOT,              -- 56: un_not
      ops.JMP_UNLESS, 74, 74,  -- 57: jmp_unless(74,74)
      ops.PUSH_FRAME,          -- 60: push_frame
      ops.GET_SLOT_DIRECT, 286,-- 61: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 63: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 64: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 66: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 67: get_slot_direct(330)
      ops.PUSH_LITERAL, 428,   -- 69: push_literal(428)
      ops.INVOKE, 2,           -- 71: invoke(2)
      ops.POP,                 -- 73: pop
      ops.PHI,                 -- 74: phi
      ops.PUSH_LOCAL_FRAME,    -- 75: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 76: get_slot_direct(26)
      ops.PUSH_LITERAL, 339,   -- 78: push_literal(339)
      ops.SET_SLOT_DIRECT, 363,-- 80: set_slot_direct(363)
      ops.NEW_ARRAY,           -- 82: new_array
      ops.DUP,                 -- 83: dup
      ops.PUSH_LOCAL_FRAME,    -- 84: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 85: get_slot_direct(26)
      ops.SET_SLOT_DIRECT, 18, -- 87: set_slot_direct(18)
      ops.RETURN               -- 89: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 95,
    nargs = 0,
    max_stack = 4,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 1: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 3: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 4: get_slot_direct(26)
      ops.PUSH_LITERAL, 380,   -- 6: push_literal(380)
      ops.INVOKE, 1,           -- 8: invoke(1)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 12: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 14: get_slot_direct(368)
      ops.PUSH_LITERAL, 245,   -- 16: push_literal(245)
      ops.BI_EQ,               -- 18: bi_eq
      ops.UN_NOT,              -- 19: un_not
      ops.JMP_UNLESS, 37, 37,  -- 20: jmp_unless(37,37)
      ops.PUSH_FRAME,          -- 23: push_frame
      ops.GET_SLOT_DIRECT, 286,-- 24: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 27: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 29: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 30: get_slot_direct(330)
      ops.PUSH_LITERAL, 428,   -- 32: push_literal(428)
      ops.INVOKE, 2,           -- 34: invoke(2)
      ops.POP,                 -- 36: pop
      ops.PHI,                 -- 37: phi
      ops.PUSH_LOCAL_FRAME,    -- 38: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 39: get_slot_direct(26)
      ops.PUSH_LITERAL, 339,   -- 41: push_literal(339)
      ops.SET_SLOT_DIRECT, 363,-- 43: set_slot_direct(363)
      ops.NEW_ARRAY,           -- 45: new_array
      ops.DUP,                 -- 46: dup
      ops.PUSH_LOCAL_FRAME,    -- 47: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 48: get_slot_direct(26)
      ops.SET_SLOT_DIRECT, 18, -- 50: set_slot_direct(18)
      ops.RETURN               -- 52: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 96,
    nargs = 0,
    max_stack = 4,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 1: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 3: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 4: get_slot_direct(26)
      ops.PUSH_LITERAL, 378,   -- 6: push_literal(378)
      ops.INVOKE, 1,           -- 8: invoke(1)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 12: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 14: push_frame
      ops.GET_SLOT_DIRECT, 338,-- 15: get_slot_direct(338)
      ops.PUSH_LOCAL_FRAME,    -- 17: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 18: get_slot_direct(26)
      ops.PUSH_LITERAL, 18,    -- 20: push_literal(18)
      ops.INVOKE, 1,           -- 22: invoke(1)
      ops.SET_SLOT_DIRECT, 39, -- 24: set_slot_direct(39)
      ops.PUSH_FRAME,          -- 26: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 27: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 29: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 30: get_slot_direct(26)
      ops.PUSH_LITERAL, 390,   -- 32: push_literal(390)
      ops.INVOKE, 1,           -- 34: invoke(1)
      ops.POP,                 -- 36: pop
      ops.PUSH_LOCAL_FRAME,    -- 37: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 38: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 40: push_frame
      ops.GET_SLOT_DIRECT, 91, -- 41: get_slot_direct(91)
      ops.PUSH_LOCAL_FRAME,    -- 43: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 44: get_slot_direct(26)
      ops.INVOKE, 0,           -- 46: invoke(0)
      ops.PUSH_LITERAL, 18,    -- 48: push_literal(18)
      ops.GET_SLOT_INDIRECT,   -- 50: get_slot_indirect
      ops.SET_SLOT_DIRECT, 40, -- 51: set_slot_direct(40)
      ops.PUSH_LOCAL_FRAME,    -- 53: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 54: get_slot_direct(26)
      ops.PUSH_LITERAL, 339,   -- 56: push_literal(339)
      ops.SET_SLOT_DIRECT, 363,-- 58: set_slot_direct(363)
      ops.NEW_ARRAY,           -- 60: new_array
      ops.DUP,                 -- 61: dup
      ops.PUSH_LOCAL_FRAME,    -- 62: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 63: get_slot_direct(26)
      ops.SET_SLOT_DIRECT, 18, -- 65: set_slot_direct(18)
      ops.RETURN               -- 67: return
    }
  },
  ifunc.Function:new{ -- "parse"
    name = jsval.newString("parse"),
    id = 97,
    nargs = 3,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_FRAME,          -- 6: push_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 430,-- 8: set_slot_direct(430)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_FRAME,          -- 13: push_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 431,-- 15: set_slot_direct(431)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT, 136,-- 18: get_slot_direct(136)
      ops.PUSH_FRAME,          -- 20: push_frame
      ops.SWAP,                -- 21: swap
      ops.SET_SLOT_DIRECT, 432,-- 22: set_slot_direct(432)
      ops.POP,                 -- 24: pop
      ops.PUSH_FRAME,          -- 25: push_frame
      ops.PUSH_LITERAL, 0,     -- 26: push_literal(0)
      ops.SET_SLOT_DIRECT, 433,-- 28: set_slot_direct(433)
      ops.PUSH_FRAME,          -- 30: push_frame
      ops.PUSH_FRAME,          -- 31: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 32: get_slot_direct(328)
      ops.SET_SLOT_DIRECT, 433,-- 34: set_slot_direct(433)
      ops.PUSH_FRAME,          -- 36: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 37: get_slot_direct(14)
      ops.DUP,                 -- 39: dup
      ops.GET_SLOT_DIRECT_CHECK, 434,-- 40: get_slot_direct_check(434)
      ops.SWAP,                -- 42: swap
      ops.PUSH_LOCAL_FRAME,    -- 43: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 44: get_slot_direct(26)
      ops.NEW_FUNCTION, 98,    -- 46: new_function(98)
      ops.PUSH_LITERAL, 41,    -- 48: push_literal(41)
      ops.NEW_FUNCTION, 99,    -- 50: new_function(99)
      ops.INVOKE, 4,           -- 52: invoke(4)
      ops.RETURN               -- 54: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 98,
    nargs = 0,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 365,-- 3: set_slot_direct(365)
      ops.PUSH_FRAME,          -- 5: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 6: get_slot_direct(117)
      ops.GET_SLOT_DIRECT, 117,-- 8: get_slot_direct(117)
      ops.PUSH_FRAME,          -- 10: push_frame
      ops.GET_SLOT_DIRECT, 432,-- 11: get_slot_direct(432)
      ops.SET_SLOT_DIRECT, 284,-- 13: set_slot_direct(284)
      ops.PUSH_FRAME,          -- 15: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 16: get_slot_direct(117)
      ops.GET_SLOT_DIRECT, 117,-- 18: get_slot_direct(117)
      ops.PUSH_FRAME,          -- 20: push_frame
      ops.GET_SLOT_DIRECT, 279,-- 21: get_slot_direct(279)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 24: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 26: push_frame
      ops.GET_SLOT_DIRECT, 430,-- 27: get_slot_direct(430)
      ops.PUSH_LITERAL, 435,   -- 29: push_literal(435)
      ops.PUSH_LITERAL, 436,   -- 31: push_literal(436)
      ops.INVOKE, 3,           -- 33: invoke(3)
      ops.SET_SLOT_DIRECT, 331,-- 35: set_slot_direct(331)
      ops.PUSH_FRAME,          -- 37: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 38: get_slot_direct(117)
      ops.GET_SLOT_DIRECT, 117,-- 40: get_slot_direct(117)
      ops.PUSH_LITERAL, 18,    -- 42: push_literal(18)
      ops.SET_SLOT_DIRECT, 332,-- 44: set_slot_direct(332)
      ops.PUSH_FRAME,          -- 46: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 47: get_slot_direct(117)
      ops.GET_SLOT_DIRECT, 117,-- 49: get_slot_direct(117)
      ops.PUSH_LITERAL, 41,    -- 51: push_literal(41)
      ops.SET_SLOT_DIRECT, 328,-- 53: set_slot_direct(328)
      ops.PUSH_FRAME,          -- 55: push_frame
      ops.GET_SLOT_DIRECT, 335,-- 56: get_slot_direct(335)
      ops.PUSH_LOCAL_FRAME,    -- 58: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 59: get_slot_direct(26)
      ops.INVOKE, 0,           -- 61: invoke(0)
      ops.POP,                 -- 63: pop
      ops.PUSH_FRAME,          -- 64: push_frame
      ops.GET_SLOT_DIRECT, 431,-- 65: get_slot_direct(431)
      ops.JMP_UNLESS, 158, 158,-- 67: jmp_unless(158,158)
      ops.PUSH_LOCAL_FRAME,    -- 70: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 71: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 73: set_slot_direct(53)
      ops.PUSH_FRAME,          -- 75: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 76: get_slot_direct(117)
      ops.PUSH_FRAME,          -- 78: push_frame
      ops.GET_SLOT_DIRECT, 279,-- 79: get_slot_direct(279)
      ops.PUSH_LOCAL_FRAME,    -- 81: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 82: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 84: push_frame
      ops.GET_SLOT_DIRECT, 431,-- 85: get_slot_direct(431)
      ops.INVOKE, 1,           -- 87: invoke(1)
      ops.SET_SLOT_DIRECT, 431,-- 89: set_slot_direct(431)
      ops.PUSH_LOCAL_FRAME,    -- 91: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 92: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 94: set_slot_direct(53)
      ops.JMP_INTO_LOOP, 142, 157,-- 96: jmp_into_loop(142,157)
      ops.PUSH_FRAME,          -- 99: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 100: get_slot_direct(328)
      ops.DUP,                 -- 102: dup
      ops.GET_SLOT_DIRECT_CHECK, 278,-- 103: get_slot_direct_check(278)
      ops.SWAP,                -- 105: swap
      ops.PUSH_FRAME,          -- 106: push_frame
      ops.GET_SLOT_DIRECT, 431,-- 107: get_slot_direct(431)
      ops.PUSH_LOCAL_FRAME,    -- 109: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 110: get_slot_direct(53)
      ops.GET_SLOT_INDIRECT,   -- 112: get_slot_indirect
      ops.INVOKE, 1,           -- 113: invoke(1)
      ops.POP,                 -- 115: pop
      ops.PUSH_FRAME,          -- 116: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 117: get_slot_direct(328)
      ops.GET_SLOT_DIRECT, 359,-- 119: get_slot_direct(359)
      ops.PUSH_FRAME,          -- 121: push_frame
      ops.GET_SLOT_DIRECT, 431,-- 122: get_slot_direct(431)
      ops.PUSH_LOCAL_FRAME,    -- 124: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 125: get_slot_direct(53)
      ops.GET_SLOT_INDIRECT,   -- 127: get_slot_indirect
      ops.GET_SLOT_DIRECT, 224,-- 128: get_slot_direct(224)
      ops.PUSH_LITERAL, 118,   -- 130: push_literal(118)
      ops.SET_SLOT_INDIRECT,   -- 132: set_slot_indirect
      ops.PUSH_LOCAL_FRAME,    -- 133: push_local_frame
      ops.DUP,                 -- 134: dup
      ops.GET_SLOT_DIRECT, 53, -- 135: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 137: push_literal(31)
      ops.BI_ADD,              -- 139: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 140: set_slot_direct(53)
      ops.PHI,                 -- 142: phi
      ops.PUSH_LOCAL_FRAME,    -- 143: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 144: get_slot_direct(53)
      ops.PUSH_FRAME,          -- 146: push_frame
      ops.GET_SLOT_DIRECT, 431,-- 147: get_slot_direct(431)
      ops.GET_SLOT_DIRECT, 55, -- 149: get_slot_direct(55)
      ops.SWAP,                -- 151: swap
      ops.BI_GT,               -- 152: bi_gt
      ops.UN_NOT,              -- 153: un_not
      ops.JMP_UNLESS, 99, 157, -- 154: jmp_unless(99,157)
      ops.PHI,                 -- 157: phi
      ops.PHI,                 -- 158: phi
      ops.PUSH_FRAME,          -- 159: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 160: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 162: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 163: get_slot_direct(26)
      ops.INVOKE, 0,           -- 165: invoke(0)
      ops.POP,                 -- 167: pop
      ops.PUSH_LOCAL_FRAME,    -- 168: push_local_frame
      ops.PUSH_FRAME,          -- 169: push_frame
      ops.GET_SLOT_DIRECT, 341,-- 170: get_slot_direct(341)
      ops.PUSH_LOCAL_FRAME,    -- 172: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 173: get_slot_direct(26)
      ops.INVOKE, 0,           -- 175: invoke(0)
      ops.SET_SLOT_DIRECT, 365,-- 177: set_slot_direct(365)
      ops.PUSH_FRAME,          -- 179: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 180: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 182: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 183: get_slot_direct(26)
      ops.PUSH_LITERAL, 371,   -- 185: push_literal(371)
      ops.INVOKE, 1,           -- 187: invoke(1)
      ops.POP,                 -- 189: pop
      ops.PUSH_FRAME,          -- 190: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 191: get_slot_direct(328)
      ops.DUP,                 -- 193: dup
      ops.GET_SLOT_DIRECT_CHECK, 71,-- 194: get_slot_direct_check(71)
      ops.SWAP,                -- 196: swap
      ops.INVOKE, 0,           -- 197: invoke(0)
      ops.POP,                 -- 199: pop
      ops.PUSH_LOCAL_FRAME,    -- 200: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 201: get_slot_direct(365)
      ops.RETURN               -- 203: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 99,
    nargs = 0,
    max_stack = 2,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 1: get_slot_direct(117)
      ops.GET_SLOT_DIRECT, 117,-- 3: get_slot_direct(117)
      ops.PUSH_FRAME,          -- 5: push_frame
      ops.GET_SLOT_DIRECT, 433,-- 6: get_slot_direct(433)
      ops.SET_SLOT_DIRECT, 328,-- 8: set_slot_direct(328)
      ops.PUSH_LITERAL, 0,     -- 10: push_literal(0)
      ops.RETURN               -- 12: return
    }
  },
  ifunc.Function:new{ -- "parse_repl"
    name = jsval.newString("parse_repl"),
    id = 100,
    nargs = 4,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_FRAME,          -- 6: push_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_FRAME,          -- 13: push_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 430,-- 15: set_slot_direct(430)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT, 136,-- 18: get_slot_direct(136)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.SWAP,                -- 21: swap
      ops.SET_SLOT_DIRECT, 431,-- 22: set_slot_direct(431)
      ops.DUP,                 -- 24: dup
      ops.GET_SLOT_DIRECT, 159,-- 25: get_slot_direct(159)
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.SWAP,                -- 28: swap
      ops.SET_SLOT_DIRECT, 432,-- 29: set_slot_direct(432)
      ops.POP,                 -- 31: pop
      ops.PUSH_FRAME,          -- 32: push_frame
      ops.PUSH_LITERAL, 0,     -- 33: push_literal(0)
      ops.SET_SLOT_DIRECT, 437,-- 35: set_slot_direct(437)
      ops.PUSH_FRAME,          -- 37: push_frame
      ops.PUSH_LITERAL, 0,     -- 38: push_literal(0)
      ops.SET_SLOT_DIRECT, 438,-- 40: set_slot_direct(438)
      ops.PUSH_FRAME,          -- 42: push_frame
      ops.PUSH_LITERAL, 0,     -- 43: push_literal(0)
      ops.SET_SLOT_DIRECT, 433,-- 45: set_slot_direct(433)
      ops.PUSH_FRAME,          -- 47: push_frame
      ops.PUSH_LITERAL, 0,     -- 48: push_literal(0)
      ops.SET_SLOT_DIRECT, 439,-- 50: set_slot_direct(439)
      ops.PUSH_FRAME,          -- 52: push_frame
      ops.PUSH_LITERAL, 0,     -- 53: push_literal(0)
      ops.SET_SLOT_DIRECT, 440,-- 55: set_slot_direct(440)
      ops.PUSH_FRAME,          -- 57: push_frame
      ops.PUSH_LITERAL, 0,     -- 58: push_literal(0)
      ops.SET_SLOT_DIRECT, 441,-- 60: set_slot_direct(441)
      ops.PUSH_FRAME,          -- 62: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 63: get_slot_direct(117)
      ops.PUSH_LOCAL_FRAME,    -- 65: push_local_frame
      ops.GET_SLOT_DIRECT, 432,-- 66: get_slot_direct(432)
      ops.SET_SLOT_DIRECT, 284,-- 68: set_slot_direct(284)
      ops.PUSH_FRAME,          -- 70: push_frame
      ops.PUSH_LITERAL, 435,   -- 71: push_literal(435)
      ops.SET_SLOT_DIRECT, 437,-- 73: set_slot_direct(437)
      ops.PUSH_FRAME,          -- 75: push_frame
      ops.PUSH_LITERAL, 436,   -- 76: push_literal(436)
      ops.SET_SLOT_DIRECT, 438,-- 78: set_slot_direct(438)
      ops.PUSH_FRAME,          -- 80: push_frame
      ops.PUSH_FRAME,          -- 81: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 82: get_slot_direct(328)
      ops.SET_SLOT_DIRECT, 433,-- 84: set_slot_direct(433)
      ops.PUSH_FRAME,          -- 86: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 87: get_slot_direct(230)
      ops.JMP_UNLESS, 104, 213,-- 89: jmp_unless(104,213)
      ops.PUSH_FRAME,          -- 92: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 93: get_slot_direct(117)
      ops.PUSH_FRAME,          -- 95: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 96: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 328,-- 98: get_slot_direct(328)
      ops.SET_SLOT_DIRECT, 328,-- 100: set_slot_direct(328)
      ops.JMP, 213,            -- 102: jmp(213)
      ops.PUSH_FRAME,          -- 104: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 105: get_slot_direct(117)
      ops.PUSH_LITERAL, 41,    -- 107: push_literal(41)
      ops.SET_SLOT_DIRECT, 328,-- 109: set_slot_direct(328)
      ops.PUSH_FRAME,          -- 111: push_frame
      ops.GET_SLOT_DIRECT, 335,-- 112: get_slot_direct(335)
      ops.PUSH_LOCAL_FRAME,    -- 114: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 115: get_slot_direct(26)
      ops.INVOKE, 0,           -- 117: invoke(0)
      ops.POP,                 -- 119: pop
      ops.PUSH_LOCAL_FRAME,    -- 120: push_local_frame
      ops.GET_SLOT_DIRECT, 431,-- 121: get_slot_direct(431)
      ops.JMP_UNLESS, 212, 212,-- 123: jmp_unless(212,212)
      ops.PUSH_LOCAL_FRAME,    -- 126: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 127: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 129: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 131: push_local_frame
      ops.PUSH_FRAME,          -- 132: push_frame
      ops.GET_SLOT_DIRECT, 279,-- 133: get_slot_direct(279)
      ops.PUSH_LOCAL_FRAME,    -- 135: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 136: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 138: push_local_frame
      ops.GET_SLOT_DIRECT, 431,-- 139: get_slot_direct(431)
      ops.INVOKE, 1,           -- 141: invoke(1)
      ops.SET_SLOT_DIRECT, 431,-- 143: set_slot_direct(431)
      ops.PUSH_LOCAL_FRAME,    -- 145: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 146: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 148: set_slot_direct(53)
      ops.JMP_INTO_LOOP, 196, 211,-- 150: jmp_into_loop(196,211)
      ops.PUSH_FRAME,          -- 153: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 154: get_slot_direct(328)
      ops.DUP,                 -- 156: dup
      ops.GET_SLOT_DIRECT_CHECK, 278,-- 157: get_slot_direct_check(278)
      ops.SWAP,                -- 159: swap
      ops.PUSH_LOCAL_FRAME,    -- 160: push_local_frame
      ops.GET_SLOT_DIRECT, 431,-- 161: get_slot_direct(431)
      ops.PUSH_LOCAL_FRAME,    -- 163: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 164: get_slot_direct(53)
      ops.GET_SLOT_INDIRECT,   -- 166: get_slot_indirect
      ops.INVOKE, 1,           -- 167: invoke(1)
      ops.POP,                 -- 169: pop
      ops.PUSH_FRAME,          -- 170: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 171: get_slot_direct(328)
      ops.GET_SLOT_DIRECT, 359,-- 173: get_slot_direct(359)
      ops.PUSH_LOCAL_FRAME,    -- 175: push_local_frame
      ops.GET_SLOT_DIRECT, 431,-- 176: get_slot_direct(431)
      ops.PUSH_LOCAL_FRAME,    -- 178: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 179: get_slot_direct(53)
      ops.GET_SLOT_INDIRECT,   -- 181: get_slot_indirect
      ops.GET_SLOT_DIRECT, 224,-- 182: get_slot_direct(224)
      ops.PUSH_LITERAL, 118,   -- 184: push_literal(118)
      ops.SET_SLOT_INDIRECT,   -- 186: set_slot_indirect
      ops.PUSH_LOCAL_FRAME,    -- 187: push_local_frame
      ops.DUP,                 -- 188: dup
      ops.GET_SLOT_DIRECT, 53, -- 189: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 191: push_literal(31)
      ops.BI_ADD,              -- 193: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 194: set_slot_direct(53)
      ops.PHI,                 -- 196: phi
      ops.PUSH_LOCAL_FRAME,    -- 197: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 198: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 200: push_local_frame
      ops.GET_SLOT_DIRECT, 431,-- 201: get_slot_direct(431)
      ops.GET_SLOT_DIRECT, 55, -- 203: get_slot_direct(55)
      ops.SWAP,                -- 205: swap
      ops.BI_GT,               -- 206: bi_gt
      ops.UN_NOT,              -- 207: un_not
      ops.JMP_UNLESS, 153, 211,-- 208: jmp_unless(153,211)
      ops.PHI,                 -- 211: phi
      ops.PHI,                 -- 212: phi
      ops.PHI,                 -- 213: phi
      ops.PUSH_FRAME,          -- 214: push_frame
      ops.NEW_OBJECT,          -- 215: new_object
      ops.DUP,                 -- 216: dup
      ops.PUSH_FRAME,          -- 217: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 218: get_slot_direct(328)
      ops.SET_SLOT_DIRECT, 328,-- 220: set_slot_direct(328)
      ops.SET_SLOT_DIRECT, 439,-- 222: set_slot_direct(439)
      ops.PUSH_FRAME,          -- 224: push_frame
      ops.PUSH_FRAME,          -- 225: push_frame
      ops.GET_SLOT_DIRECT, 279,-- 226: get_slot_direct(279)
      ops.PUSH_LOCAL_FRAME,    -- 228: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 229: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 231: push_frame
      ops.GET_SLOT_DIRECT, 430,-- 232: get_slot_direct(430)
      ops.PUSH_FRAME,          -- 234: push_frame
      ops.GET_SLOT_DIRECT, 437,-- 235: get_slot_direct(437)
      ops.PUSH_FRAME,          -- 237: push_frame
      ops.GET_SLOT_DIRECT, 438,-- 238: get_slot_direct(438)
      ops.INVOKE, 3,           -- 240: invoke(3)
      ops.SET_SLOT_DIRECT, 440,-- 242: set_slot_direct(440)
      ops.PUSH_FRAME,          -- 244: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 245: get_slot_direct(14)
      ops.DUP,                 -- 247: dup
      ops.GET_SLOT_DIRECT_CHECK, 434,-- 248: get_slot_direct_check(434)
      ops.SWAP,                -- 250: swap
      ops.PUSH_LOCAL_FRAME,    -- 251: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 252: get_slot_direct(26)
      ops.NEW_FUNCTION, 101,   -- 254: new_function(101)
      ops.NEW_FUNCTION, 102,   -- 256: new_function(102)
      ops.INVOKE, 3,           -- 258: invoke(3)
      ops.POP,                 -- 260: pop
      ops.PUSH_FRAME,          -- 261: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 262: get_slot_direct(14)
      ops.DUP,                 -- 264: dup
      ops.GET_SLOT_DIRECT_CHECK, 434,-- 265: get_slot_direct_check(434)
      ops.SWAP,                -- 267: swap
      ops.PUSH_LOCAL_FRAME,    -- 268: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 269: get_slot_direct(26)
      ops.NEW_FUNCTION, 103,   -- 271: new_function(103)
      ops.PUSH_LITERAL, 41,    -- 273: push_literal(41)
      ops.NEW_FUNCTION, 104,   -- 275: new_function(104)
      ops.INVOKE, 4,           -- 277: invoke(4)
      ops.RETURN               -- 279: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 101,
    nargs = 0,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 87, -- 3: set_slot_direct(87)
      ops.PUSH_FRAME,          -- 5: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 6: get_slot_direct(117)
      ops.GET_SLOT_DIRECT, 117,-- 8: get_slot_direct(117)
      ops.PUSH_FRAME,          -- 10: push_frame
      ops.GET_SLOT_DIRECT, 336,-- 11: get_slot_direct(336)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 14: get_slot_direct(26)
      ops.INVOKE, 0,           -- 16: invoke(0)
      ops.SET_SLOT_DIRECT, 328,-- 18: set_slot_direct(328)
      ops.PUSH_FRAME,          -- 20: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 21: get_slot_direct(117)
      ops.GET_SLOT_DIRECT, 117,-- 23: get_slot_direct(117)
      ops.PUSH_FRAME,          -- 25: push_frame
      ops.GET_SLOT_DIRECT, 440,-- 26: get_slot_direct(440)
      ops.SET_SLOT_DIRECT, 331,-- 28: set_slot_direct(331)
      ops.PUSH_FRAME,          -- 30: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 31: get_slot_direct(117)
      ops.GET_SLOT_DIRECT, 117,-- 33: get_slot_direct(117)
      ops.PUSH_LITERAL, 18,    -- 35: push_literal(18)
      ops.SET_SLOT_DIRECT, 332,-- 37: set_slot_direct(332)
      ops.PUSH_FRAME,          -- 39: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 40: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 42: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 43: get_slot_direct(26)
      ops.INVOKE, 0,           -- 45: invoke(0)
      ops.POP,                 -- 47: pop
      ops.PUSH_LOCAL_FRAME,    -- 48: push_local_frame
      ops.PUSH_FRAME,          -- 49: push_frame
      ops.GET_SLOT_DIRECT, 338,-- 50: get_slot_direct(338)
      ops.PUSH_LOCAL_FRAME,    -- 52: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 53: get_slot_direct(26)
      ops.PUSH_LITERAL, 18,    -- 55: push_literal(18)
      ops.INVOKE, 1,           -- 57: invoke(1)
      ops.SET_SLOT_DIRECT, 87, -- 59: set_slot_direct(87)
      ops.PUSH_FRAME,          -- 61: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 62: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 64: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 65: get_slot_direct(26)
      ops.PUSH_LITERAL, 371,   -- 67: push_literal(371)
      ops.INVOKE, 1,           -- 69: invoke(1)
      ops.POP,                 -- 71: pop
      ops.PUSH_FRAME,          -- 72: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 73: get_slot_direct(117)
      ops.NEW_ARRAY,           -- 75: new_array
      ops.DUP,                 -- 76: dup
      ops.NEW_OBJECT,          -- 77: new_object
      ops.DUP,                 -- 78: dup
      ops.PUSH_LITERAL, 427,   -- 79: push_literal(427)
      ops.SET_SLOT_DIRECT, 224,-- 81: set_slot_direct(224)
      ops.DUP,                 -- 83: dup
      ops.PUSH_LITERAL, 339,   -- 84: push_literal(339)
      ops.SET_SLOT_DIRECT, 363,-- 86: set_slot_direct(363)
      ops.DUP,                 -- 88: dup
      ops.PUSH_LOCAL_FRAME,    -- 89: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 90: get_slot_direct(87)
      ops.SET_SLOT_DIRECT, 39, -- 92: set_slot_direct(39)
      ops.SET_SLOT_DIRECT, 18, -- 94: set_slot_direct(18)
      ops.SET_SLOT_DIRECT, 441,-- 96: set_slot_direct(441)
      ops.PUSH_FRAME,          -- 98: push_frame
      ops.GET_SLOT_DIRECT, 439,-- 99: get_slot_direct(439)
      ops.PUSH_FRAME,          -- 101: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 102: get_slot_direct(328)
      ops.SET_SLOT_DIRECT, 328,-- 104: set_slot_direct(328)
      ops.PUSH_LITERAL, 0,     -- 106: push_literal(0)
      ops.RETURN               -- 108: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 102,
    nargs = 1,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 442,-- 8: set_slot_direct(442)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 12: get_slot_direct(117)
      ops.GET_SLOT_DIRECT, 117,-- 14: get_slot_direct(117)
      ops.PUSH_FRAME,          -- 16: push_frame
      ops.GET_SLOT_DIRECT, 439,-- 17: get_slot_direct(439)
      ops.GET_SLOT_DIRECT, 328,-- 19: get_slot_direct(328)
      ops.SET_SLOT_DIRECT, 328,-- 21: set_slot_direct(328)
      ops.PUSH_FRAME,          -- 23: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 24: get_slot_direct(117)
      ops.PUSH_FRAME,          -- 26: push_frame
      ops.GET_SLOT_DIRECT, 279,-- 27: get_slot_direct(279)
      ops.PUSH_LOCAL_FRAME,    -- 29: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 30: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 32: push_frame
      ops.GET_SLOT_DIRECT, 430,-- 33: get_slot_direct(430)
      ops.PUSH_FRAME,          -- 35: push_frame
      ops.GET_SLOT_DIRECT, 437,-- 36: get_slot_direct(437)
      ops.PUSH_FRAME,          -- 38: push_frame
      ops.GET_SLOT_DIRECT, 438,-- 39: get_slot_direct(438)
      ops.INVOKE, 3,           -- 41: invoke(3)
      ops.SET_SLOT_DIRECT, 440,-- 43: set_slot_direct(440)
      ops.PUSH_LITERAL, 0,     -- 45: push_literal(0)
      ops.RETURN               -- 47: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 103,
    nargs = 0,
    max_stack = 3,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.GET_SLOT_DIRECT, 441,-- 1: get_slot_direct(441)
      ops.UN_NOT,              -- 3: un_not
      ops.JMP_UNLESS, 93, 93,  -- 4: jmp_unless(93,93)
      ops.PUSH_LOCAL_FRAME,    -- 7: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 8: push_literal(0)
      ops.SET_SLOT_DIRECT, 365,-- 10: set_slot_direct(365)
      ops.PUSH_FRAME,          -- 12: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 13: get_slot_direct(117)
      ops.GET_SLOT_DIRECT, 117,-- 15: get_slot_direct(117)
      ops.PUSH_FRAME,          -- 17: push_frame
      ops.GET_SLOT_DIRECT, 336,-- 18: get_slot_direct(336)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 21: get_slot_direct(26)
      ops.INVOKE, 0,           -- 23: invoke(0)
      ops.SET_SLOT_DIRECT, 328,-- 25: set_slot_direct(328)
      ops.PUSH_FRAME,          -- 27: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 28: get_slot_direct(117)
      ops.GET_SLOT_DIRECT, 117,-- 30: get_slot_direct(117)
      ops.PUSH_FRAME,          -- 32: push_frame
      ops.GET_SLOT_DIRECT, 440,-- 33: get_slot_direct(440)
      ops.SET_SLOT_DIRECT, 331,-- 35: set_slot_direct(331)
      ops.PUSH_FRAME,          -- 37: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 38: get_slot_direct(117)
      ops.GET_SLOT_DIRECT, 117,-- 40: get_slot_direct(117)
      ops.PUSH_LITERAL, 18,    -- 42: push_literal(18)
      ops.SET_SLOT_DIRECT, 332,-- 44: set_slot_direct(332)
      ops.PUSH_FRAME,          -- 46: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 47: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 49: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 50: get_slot_direct(26)
      ops.INVOKE, 0,           -- 52: invoke(0)
      ops.POP,                 -- 54: pop
      ops.PUSH_LOCAL_FRAME,    -- 55: push_local_frame
      ops.PUSH_FRAME,          -- 56: push_frame
      ops.GET_SLOT_DIRECT, 341,-- 57: get_slot_direct(341)
      ops.PUSH_LOCAL_FRAME,    -- 59: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 60: get_slot_direct(26)
      ops.INVOKE, 0,           -- 62: invoke(0)
      ops.SET_SLOT_DIRECT, 365,-- 64: set_slot_direct(365)
      ops.PUSH_FRAME,          -- 66: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 67: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 69: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 70: get_slot_direct(26)
      ops.PUSH_LITERAL, 371,   -- 72: push_literal(371)
      ops.INVOKE, 1,           -- 74: invoke(1)
      ops.POP,                 -- 76: pop
      ops.PUSH_FRAME,          -- 77: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 78: get_slot_direct(117)
      ops.PUSH_LOCAL_FRAME,    -- 80: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 81: get_slot_direct(365)
      ops.SET_SLOT_DIRECT, 441,-- 83: set_slot_direct(441)
      ops.PUSH_FRAME,          -- 85: push_frame
      ops.GET_SLOT_DIRECT, 439,-- 86: get_slot_direct(439)
      ops.PUSH_FRAME,          -- 88: push_frame
      ops.GET_SLOT_DIRECT, 328,-- 89: get_slot_direct(328)
      ops.SET_SLOT_DIRECT, 328,-- 91: set_slot_direct(328)
      ops.PHI,                 -- 93: phi
      ops.NEW_OBJECT,          -- 94: new_object
      ops.DUP,                 -- 95: dup
      ops.PUSH_FRAME,          -- 96: push_frame
      ops.GET_SLOT_DIRECT, 439,-- 97: get_slot_direct(439)
      ops.SET_SLOT_DIRECT, 230,-- 99: set_slot_direct(230)
      ops.DUP,                 -- 101: dup
      ops.PUSH_FRAME,          -- 102: push_frame
      ops.GET_SLOT_DIRECT, 441,-- 103: get_slot_direct(441)
      ops.SET_SLOT_DIRECT, 441,-- 105: set_slot_direct(441)
      ops.RETURN               -- 107: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 104,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 442,-- 8: set_slot_direct(442)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 12: get_slot_direct(117)
      ops.GET_SLOT_DIRECT, 117,-- 14: get_slot_direct(117)
      ops.PUSH_FRAME,          -- 16: push_frame
      ops.GET_SLOT_DIRECT, 433,-- 17: get_slot_direct(433)
      ops.SET_SLOT_DIRECT, 328,-- 19: set_slot_direct(328)
      ops.PUSH_LITERAL, 0,     -- 21: push_literal(0)
      ops.RETURN               -- 23: return
    }
  },
  ifunc.Function:new{ -- "make_parse_json"
    name = jsval.newString("make_parse_json"),
    id = 105,
    nargs = 2,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 448,-- 8: set_slot_direct(448)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_FRAME,          -- 13: push_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 279,-- 15: set_slot_direct(279)
      ops.POP,                 -- 17: pop
      ops.PUSH_FRAME,          -- 18: push_frame
      ops.PUSH_LITERAL, 0,     -- 19: push_literal(0)
      ops.SET_SLOT_DIRECT, 329,-- 21: set_slot_direct(329)
      ops.PUSH_FRAME,          -- 23: push_frame
      ops.PUSH_LITERAL, 0,     -- 24: push_literal(0)
      ops.SET_SLOT_DIRECT, 330,-- 26: set_slot_direct(330)
      ops.PUSH_FRAME,          -- 28: push_frame
      ops.PUSH_LITERAL, 0,     -- 29: push_literal(0)
      ops.SET_SLOT_DIRECT, 331,-- 31: set_slot_direct(331)
      ops.PUSH_FRAME,          -- 33: push_frame
      ops.PUSH_LITERAL, 0,     -- 34: push_literal(0)
      ops.SET_SLOT_DIRECT, 332,-- 36: set_slot_direct(332)
      ops.PUSH_LOCAL_FRAME,    -- 38: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 39: push_literal(0)
      ops.SET_SLOT_DIRECT, 333,-- 41: set_slot_direct(333)
      ops.PUSH_FRAME,          -- 43: push_frame
      ops.PUSH_LITERAL, 0,     -- 44: push_literal(0)
      ops.SET_SLOT_DIRECT, 286,-- 46: set_slot_direct(286)
      ops.PUSH_FRAME,          -- 48: push_frame
      ops.PUSH_LITERAL, 0,     -- 49: push_literal(0)
      ops.SET_SLOT_DIRECT, 89, -- 51: set_slot_direct(89)
      ops.PUSH_FRAME,          -- 53: push_frame
      ops.PUSH_LITERAL, 0,     -- 54: push_literal(0)
      ops.SET_SLOT_DIRECT, 337,-- 56: set_slot_direct(337)
      ops.PUSH_FRAME,          -- 58: push_frame
      ops.PUSH_LITERAL, 0,     -- 59: push_literal(0)
      ops.SET_SLOT_DIRECT, 338,-- 61: set_slot_direct(338)
      ops.PUSH_FRAME,          -- 63: push_frame
      ops.PUSH_LITERAL, 0,     -- 64: push_literal(0)
      ops.SET_SLOT_DIRECT, 342,-- 66: set_slot_direct(342)
      ops.PUSH_FRAME,          -- 68: push_frame
      ops.PUSH_LITERAL, 0,     -- 69: push_literal(0)
      ops.SET_SLOT_DIRECT, 343,-- 71: set_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 73: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 74: push_literal(0)
      ops.SET_SLOT_DIRECT, 344,-- 76: set_slot_direct(344)
      ops.PUSH_LOCAL_FRAME,    -- 78: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 79: push_literal(0)
      ops.SET_SLOT_DIRECT, 282,-- 81: set_slot_direct(282)
      ops.PUSH_LOCAL_FRAME,    -- 83: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 84: push_literal(0)
      ops.SET_SLOT_DIRECT, 446,-- 86: set_slot_direct(446)
      ops.PUSH_FRAME,          -- 88: push_frame
      ops.NEW_OBJECT,          -- 89: new_object
      ops.SET_SLOT_DIRECT, 329,-- 90: set_slot_direct(329)
      ops.PUSH_LOCAL_FRAME,    -- 92: push_local_frame
      ops.NEW_FUNCTION, 106,   -- 93: new_function(106)
      ops.SET_SLOT_DIRECT, 333,-- 95: set_slot_direct(333)
      ops.PUSH_FRAME,          -- 97: push_frame
      ops.NEW_FUNCTION, 107,   -- 98: new_function(107)
      ops.SET_SLOT_DIRECT, 286,-- 100: set_slot_direct(286)
      ops.PUSH_FRAME,          -- 102: push_frame
      ops.NEW_FUNCTION, 108,   -- 103: new_function(108)
      ops.SET_SLOT_DIRECT, 89, -- 105: set_slot_direct(89)
      ops.PUSH_FRAME,          -- 107: push_frame
      ops.NEW_FUNCTION, 109,   -- 108: new_function(109)
      ops.SET_SLOT_DIRECT, 337,-- 110: set_slot_direct(337)
      ops.PUSH_FRAME,          -- 112: push_frame
      ops.NEW_FUNCTION, 110,   -- 113: new_function(110)
      ops.SET_SLOT_DIRECT, 338,-- 115: set_slot_direct(338)
      ops.PUSH_FRAME,          -- 117: push_frame
      ops.NEW_OBJECT,          -- 118: new_object
      ops.DUP,                 -- 119: dup
      ops.NEW_FUNCTION, 111,   -- 120: new_function(111)
      ops.SET_SLOT_DIRECT, 355,-- 122: set_slot_direct(355)
      ops.DUP,                 -- 124: dup
      ops.NEW_FUNCTION, 112,   -- 125: new_function(112)
      ops.SET_SLOT_DIRECT, 356,-- 127: set_slot_direct(356)
      ops.SET_SLOT_DIRECT, 342,-- 129: set_slot_direct(342)
      ops.PUSH_FRAME,          -- 131: push_frame
      ops.NEW_FUNCTION, 113,   -- 132: new_function(113)
      ops.SET_SLOT_DIRECT, 343,-- 134: set_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 136: push_local_frame
      ops.NEW_FUNCTION, 114,   -- 137: new_function(114)
      ops.SET_SLOT_DIRECT, 344,-- 139: set_slot_direct(344)
      ops.PUSH_LOCAL_FRAME,    -- 141: push_local_frame
      ops.NEW_FUNCTION, 116,   -- 142: new_function(116)
      ops.SET_SLOT_DIRECT, 282,-- 144: set_slot_direct(282)
      ops.PUSH_FRAME,          -- 146: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 147: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 149: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 150: get_slot_direct(26)
      ops.PUSH_LITERAL, 371,   -- 152: push_literal(371)
      ops.INVOKE, 1,           -- 154: invoke(1)
      ops.POP,                 -- 156: pop
      ops.PUSH_FRAME,          -- 157: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 158: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 160: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 161: get_slot_direct(26)
      ops.PUSH_LITERAL, 241,   -- 163: push_literal(241)
      ops.INVOKE, 1,           -- 165: invoke(1)
      ops.POP,                 -- 167: pop
      ops.PUSH_FRAME,          -- 168: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 169: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 171: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 172: get_slot_direct(26)
      ops.PUSH_LITERAL, 255,   -- 174: push_literal(255)
      ops.INVOKE, 1,           -- 176: invoke(1)
      ops.POP,                 -- 178: pop
      ops.PUSH_FRAME,          -- 179: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 180: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 182: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 183: get_slot_direct(26)
      ops.PUSH_LITERAL, 245,   -- 185: push_literal(245)
      ops.INVOKE, 1,           -- 187: invoke(1)
      ops.POP,                 -- 189: pop
      ops.PUSH_FRAME,          -- 190: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 191: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 193: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 194: get_slot_direct(26)
      ops.PUSH_LITERAL, 76,    -- 196: push_literal(76)
      ops.INVOKE, 1,           -- 198: invoke(1)
      ops.POP,                 -- 200: pop
      ops.PUSH_LOCAL_FRAME,    -- 201: push_local_frame
      ops.GET_SLOT_DIRECT, 344,-- 202: get_slot_direct(344)
      ops.PUSH_LOCAL_FRAME,    -- 204: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 205: get_slot_direct(26)
      ops.PUSH_LITERAL, 122,   -- 207: push_literal(122)
      ops.PUSH_LITERAL, 118,   -- 209: push_literal(118)
      ops.INVOKE, 2,           -- 211: invoke(2)
      ops.POP,                 -- 213: pop
      ops.PUSH_LOCAL_FRAME,    -- 214: push_local_frame
      ops.GET_SLOT_DIRECT, 344,-- 215: get_slot_direct(344)
      ops.PUSH_LOCAL_FRAME,    -- 217: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 218: get_slot_direct(26)
      ops.PUSH_LITERAL, 123,   -- 220: push_literal(123)
      ops.PUSH_LITERAL, 32,    -- 222: push_literal(32)
      ops.INVOKE, 2,           -- 224: invoke(2)
      ops.POP,                 -- 226: pop
      ops.PUSH_LOCAL_FRAME,    -- 227: push_local_frame
      ops.GET_SLOT_DIRECT, 344,-- 228: get_slot_direct(344)
      ops.PUSH_LOCAL_FRAME,    -- 230: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 231: get_slot_direct(26)
      ops.PUSH_LITERAL, 252,   -- 233: push_literal(252)
      ops.PUSH_LITERAL, 41,    -- 235: push_literal(41)
      ops.INVOKE, 2,           -- 237: invoke(2)
      ops.POP,                 -- 239: pop
      ops.PUSH_FRAME,          -- 240: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 241: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 243: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 244: get_slot_direct(26)
      ops.PUSH_LITERAL, 373,   -- 246: push_literal(373)
      ops.INVOKE, 1,           -- 248: invoke(1)
      ops.PUSH_LOCAL_FRAME,    -- 250: push_local_frame
      ops.GET_SLOT_DIRECT, 333,-- 251: get_slot_direct(333)
      ops.SET_SLOT_DIRECT, 355,-- 253: set_slot_direct(355)
      ops.PUSH_LOCAL_FRAME,    -- 255: push_local_frame
      ops.GET_SLOT_DIRECT, 282,-- 256: get_slot_direct(282)
      ops.PUSH_LOCAL_FRAME,    -- 258: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 259: get_slot_direct(26)
      ops.PUSH_LITERAL, 141,   -- 261: push_literal(141)
      ops.INVOKE, 1,           -- 263: invoke(1)
      ops.POP,                 -- 265: pop
      ops.PUSH_LOCAL_FRAME,    -- 266: push_local_frame
      ops.GET_SLOT_DIRECT, 282,-- 267: get_slot_direct(282)
      ops.PUSH_LOCAL_FRAME,    -- 269: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 270: get_slot_direct(26)
      ops.PUSH_LITERAL, 254,   -- 272: push_literal(254)
      ops.NEW_FUNCTION, 118,   -- 274: new_function(118)
      ops.INVOKE, 2,           -- 276: invoke(2)
      ops.POP,                 -- 278: pop
      ops.PUSH_LOCAL_FRAME,    -- 279: push_local_frame
      ops.GET_SLOT_DIRECT, 282,-- 280: get_slot_direct(282)
      ops.PUSH_LOCAL_FRAME,    -- 282: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 283: get_slot_direct(26)
      ops.PUSH_LITERAL, 244,   -- 285: push_literal(244)
      ops.NEW_FUNCTION, 119,   -- 287: new_function(119)
      ops.INVOKE, 2,           -- 289: invoke(2)
      ops.POP,                 -- 291: pop
      ops.PUSH_LOCAL_FRAME,    -- 292: push_local_frame
      ops.NEW_FUNCTION, 120,   -- 293: new_function(120)
      ops.SET_SLOT_DIRECT, 446,-- 295: set_slot_direct(446)
      ops.PUSH_LOCAL_FRAME,    -- 297: push_local_frame
      ops.GET_SLOT_DIRECT, 446,-- 298: get_slot_direct(446)
      ops.PUSH_LITERAL, 446,   -- 300: push_literal(446)
      ops.SET_SLOT_DIRECT, 321,-- 302: set_slot_direct(321)
      ops.PUSH_LOCAL_FRAME,    -- 304: push_local_frame
      ops.GET_SLOT_DIRECT, 446,-- 305: get_slot_direct(446)
      ops.PUSH_FRAME,          -- 307: push_frame
      ops.GET_SLOT_DIRECT, 449,-- 308: get_slot_direct(449)
      ops.SET_SLOT_DIRECT, 323,-- 310: set_slot_direct(323)
      ops.PUSH_LOCAL_FRAME,    -- 312: push_local_frame
      ops.GET_SLOT_DIRECT, 446,-- 313: get_slot_direct(446)
      ops.NEW_ARRAY,           -- 315: new_array
      ops.DUP,                 -- 316: dup
      ops.PUSH_LITERAL, 279,   -- 317: push_literal(279)
      ops.SET_SLOT_DIRECT, 18, -- 319: set_slot_direct(18)
      ops.SET_SLOT_DIRECT, 444,-- 321: set_slot_direct(444)
      ops.PUSH_LOCAL_FRAME,    -- 323: push_local_frame
      ops.GET_SLOT_DIRECT, 446,-- 324: get_slot_direct(446)
      ops.PUSH_LOCAL_FRAME,    -- 326: push_local_frame
      ops.GET_SLOT_DIRECT, 448,-- 327: get_slot_direct(448)
      ops.SET_SLOT_DIRECT, 324,-- 329: set_slot_direct(324)
      ops.PUSH_LOCAL_FRAME,    -- 331: push_local_frame
      ops.GET_SLOT_DIRECT, 446,-- 332: get_slot_direct(446)
      ops.RETURN               -- 334: return
    }
  },
  ifunc.Function:new{ -- "itself"
    name = jsval.newString("itself"),
    id = 106,
    nargs = 0,
    max_stack = 1,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1: get_slot_direct(26)
      ops.RETURN               -- 3: return
    }
  },
  ifunc.Function:new{ -- "error"
    name = jsval.newString("error"),
    id = 107,
    nargs = 3,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 30, -- 8: set_slot_direct(30)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 288,-- 15: set_slot_direct(288)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT, 136,-- 18: get_slot_direct(136)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.SWAP,                -- 21: swap
      ops.SET_SLOT_DIRECT, 289,-- 22: set_slot_direct(289)
      ops.POP,                 -- 24: pop
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 27: get_slot_direct(289)
      ops.DUP,                 -- 29: dup
      ops.UN_NOT,              -- 30: un_not
      ops.JMP_UNLESS, 38, 38,  -- 31: jmp_unless(38,38)
      ops.POP,                 -- 34: pop
      ops.PUSH_LOCAL_FRAME,    -- 35: push_local_frame
      ops.GET_SLOT_DIRECT, 30, -- 36: get_slot_direct(30)
      ops.PHI,                 -- 38: phi
      ops.SET_SLOT_DIRECT, 289,-- 39: set_slot_direct(289)
      ops.PUSH_LOCAL_FRAME,    -- 41: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 42: get_slot_direct(289)
      ops.PUSH_LITERAL, 290,   -- 44: push_literal(290)
      ops.SET_SLOT_DIRECT, 19, -- 46: set_slot_direct(19)
      ops.PUSH_LOCAL_FRAME,    -- 48: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 49: get_slot_direct(289)
      ops.GET_SLOT_DIRECT, 52, -- 51: get_slot_direct(52)
      ops.DUP,                 -- 53: dup
      ops.UN_NOT,              -- 54: un_not
      ops.JMP_UNLESS, 64, 64,  -- 55: jmp_unless(64,64)
      ops.POP,                 -- 58: pop
      ops.PUSH_LOCAL_FRAME,    -- 59: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 60: get_slot_direct(289)
      ops.GET_SLOT_DIRECT, 291,-- 62: get_slot_direct(291)
      ops.PHI,                 -- 64: phi
      ops.JMP_UNLESS, 95, 95,  -- 65: jmp_unless(95,95)
      ops.PUSH_LOCAL_FRAME,    -- 68: push_local_frame
      ops.DUP,                 -- 69: dup
      ops.GET_SLOT_DIRECT, 288,-- 70: get_slot_direct(288)
      ops.PUSH_LITERAL, 292,   -- 72: push_literal(292)
      ops.PUSH_LOCAL_FRAME,    -- 74: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 75: get_slot_direct(289)
      ops.GET_SLOT_DIRECT, 52, -- 77: get_slot_direct(52)
      ops.BI_ADD,              -- 79: bi_add
      ops.PUSH_LITERAL, 141,   -- 80: push_literal(141)
      ops.BI_ADD,              -- 82: bi_add
      ops.PUSH_LOCAL_FRAME,    -- 83: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 84: get_slot_direct(289)
      ops.GET_SLOT_DIRECT, 291,-- 86: get_slot_direct(291)
      ops.BI_ADD,              -- 88: bi_add
      ops.PUSH_LITERAL, 255,   -- 89: push_literal(255)
      ops.BI_ADD,              -- 91: bi_add
      ops.BI_ADD,              -- 92: bi_add
      ops.SET_SLOT_DIRECT, 288,-- 93: set_slot_direct(288)
      ops.PHI,                 -- 95: phi
      ops.PUSH_LOCAL_FRAME,    -- 96: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 97: get_slot_direct(289)
      ops.PUSH_LOCAL_FRAME,    -- 99: push_local_frame
      ops.GET_SLOT_DIRECT, 288,-- 100: get_slot_direct(288)
      ops.SET_SLOT_DIRECT, 288,-- 102: set_slot_direct(288)
      ops.PUSH_FRAME,          -- 104: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 105: get_slot_direct(14)
      ops.DUP,                 -- 107: dup
      ops.GET_SLOT_DIRECT_CHECK, 6,-- 108: get_slot_direct_check(6)
      ops.SWAP,                -- 110: swap
      ops.PUSH_LOCAL_FRAME,    -- 111: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 112: get_slot_direct(289)
      ops.INVOKE, 1,           -- 114: invoke(1)
      ops.POP,                 -- 116: pop
      ops.PUSH_LITERAL, 0,     -- 117: push_literal(0)
      ops.RETURN               -- 119: return
    }
  },
  ifunc.Function:new{ -- "hasOwnProperty"
    name = jsval.newString("hasOwnProperty"),
    id = 108,
    nargs = 2,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 30, -- 8: set_slot_direct(30)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 350,-- 15: set_slot_direct(350)
      ops.POP,                 -- 17: pop
      ops.PUSH_FRAME,          -- 18: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 19: get_slot_direct(14)
      ops.GET_SLOT_DIRECT, 11, -- 21: get_slot_direct(11)
      ops.GET_SLOT_DIRECT, 89, -- 23: get_slot_direct(89)
      ops.DUP,                 -- 25: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 26: get_slot_direct_check(93)
      ops.SWAP,                -- 28: swap
      ops.PUSH_LOCAL_FRAME,    -- 29: push_local_frame
      ops.GET_SLOT_DIRECT, 30, -- 30: get_slot_direct(30)
      ops.PUSH_LOCAL_FRAME,    -- 32: push_local_frame
      ops.GET_SLOT_DIRECT, 350,-- 33: get_slot_direct(350)
      ops.INVOKE, 2,           -- 35: invoke(2)
      ops.RETURN               -- 37: return
    }
  },
  ifunc.Function:new{ -- "advance"
    name = jsval.newString("advance"),
    id = 109,
    nargs = 1,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 368,-- 8: set_slot_direct(368)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 296,-- 14: set_slot_direct(296)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 116,-- 19: set_slot_direct(116)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 22: push_literal(0)
      ops.SET_SLOT_DIRECT, 289,-- 24: set_slot_direct(289)
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 27: push_literal(0)
      ops.SET_SLOT_DIRECT, 110,-- 29: set_slot_direct(110)
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.GET_SLOT_DIRECT, 368,-- 32: get_slot_direct(368)
      ops.DUP,                 -- 34: dup
      ops.JMP_UNLESS, 49, 49,  -- 35: jmp_unless(49,49)
      ops.POP,                 -- 38: pop
      ops.PUSH_FRAME,          -- 39: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 40: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 42: get_slot_direct(368)
      ops.PUSH_LOCAL_FRAME,    -- 44: push_local_frame
      ops.GET_SLOT_DIRECT, 368,-- 45: get_slot_direct(368)
      ops.BI_EQ,               -- 47: bi_eq
      ops.UN_NOT,              -- 48: un_not
      ops.PHI,                 -- 49: phi
      ops.JMP_UNLESS, 74, 74,  -- 50: jmp_unless(74,74)
      ops.PUSH_FRAME,          -- 53: push_frame
      ops.GET_SLOT_DIRECT, 286,-- 54: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 56: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 57: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 59: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 60: get_slot_direct(330)
      ops.PUSH_LITERAL, 369,   -- 62: push_literal(369)
      ops.PUSH_LOCAL_FRAME,    -- 64: push_local_frame
      ops.GET_SLOT_DIRECT, 368,-- 65: get_slot_direct(368)
      ops.BI_ADD,              -- 67: bi_add
      ops.PUSH_LITERAL, 370,   -- 68: push_literal(370)
      ops.BI_ADD,              -- 70: bi_add
      ops.INVOKE, 2,           -- 71: invoke(2)
      ops.POP,                 -- 73: pop
      ops.PHI,                 -- 74: phi
      ops.PUSH_FRAME,          -- 75: push_frame
      ops.GET_SLOT_DIRECT, 332,-- 76: get_slot_direct(332)
      ops.PUSH_FRAME,          -- 78: push_frame
      ops.GET_SLOT_DIRECT, 331,-- 79: get_slot_direct(331)
      ops.GET_SLOT_DIRECT, 55, -- 81: get_slot_direct(55)
      ops.BI_GTE,              -- 83: bi_gte
      ops.JMP_UNLESS, 101, 101,-- 84: jmp_unless(101,101)
      ops.PUSH_FRAME,          -- 87: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 88: get_slot_direct(117)
      ops.PUSH_FRAME,          -- 90: push_frame
      ops.GET_SLOT_DIRECT, 329,-- 91: get_slot_direct(329)
      ops.PUSH_LITERAL, 371,   -- 93: push_literal(371)
      ops.GET_SLOT_INDIRECT,   -- 95: get_slot_indirect
      ops.SET_SLOT_DIRECT, 330,-- 96: set_slot_direct(330)
      ops.PUSH_LITERAL, 0,     -- 98: push_literal(0)
      ops.RETURN,              -- 100: return
      ops.PHI,                 -- 101: phi
      ops.PUSH_LOCAL_FRAME,    -- 102: push_local_frame
      ops.PUSH_FRAME,          -- 103: push_frame
      ops.GET_SLOT_DIRECT, 331,-- 104: get_slot_direct(331)
      ops.PUSH_FRAME,          -- 106: push_frame
      ops.GET_SLOT_DIRECT, 332,-- 107: get_slot_direct(332)
      ops.GET_SLOT_INDIRECT,   -- 109: get_slot_indirect
      ops.SET_SLOT_DIRECT, 289,-- 110: set_slot_direct(289)
      ops.PUSH_FRAME,          -- 112: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 113: get_slot_direct(117)
      ops.DUP,                 -- 115: dup
      ops.GET_SLOT_DIRECT, 332,-- 116: get_slot_direct(332)
      ops.PUSH_LITERAL, 31,    -- 118: push_literal(31)
      ops.BI_ADD,              -- 120: bi_add
      ops.SET_SLOT_DIRECT, 332,-- 121: set_slot_direct(332)
      ops.PUSH_LOCAL_FRAME,    -- 123: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 124: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 125: get_slot_direct(289)
      ops.GET_SLOT_DIRECT, 224,-- 127: get_slot_direct(224)
      ops.SET_SLOT_DIRECT, 110,-- 129: set_slot_direct(110)
      ops.PUSH_LOCAL_FRAME,    -- 131: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 132: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 133: get_slot_direct(289)
      ops.GET_SLOT_DIRECT, 293,-- 135: get_slot_direct(293)
      ops.SET_SLOT_DIRECT, 296,-- 137: set_slot_direct(296)
      ops.PUSH_LOCAL_FRAME,    -- 139: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 140: get_slot_direct(296)
      ops.PUSH_LITERAL, 19,    -- 142: push_literal(19)
      ops.BI_EQ,               -- 144: bi_eq
      ops.DUP,                 -- 145: dup
      ops.JMP_UNLESS, 164, 164,-- 146: jmp_unless(164,164)
      ops.POP,                 -- 149: pop
      ops.PUSH_FRAME,          -- 150: push_frame
      ops.GET_SLOT_DIRECT, 89, -- 151: get_slot_direct(89)
      ops.PUSH_LOCAL_FRAME,    -- 153: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 154: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 156: push_frame
      ops.GET_SLOT_DIRECT, 329,-- 157: get_slot_direct(329)
      ops.PUSH_LOCAL_FRAME,    -- 159: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 160: get_slot_direct(110)
      ops.INVOKE, 2,           -- 162: invoke(2)
      ops.PHI,                 -- 164: phi
      ops.JMP_UNLESS, 180, 281,-- 165: jmp_unless(180,281)
      ops.PUSH_LOCAL_FRAME,    -- 168: push_local_frame
      ops.PUSH_FRAME,          -- 169: push_frame
      ops.GET_SLOT_DIRECT, 329,-- 170: get_slot_direct(329)
      ops.PUSH_LOCAL_FRAME,    -- 172: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 173: get_slot_direct(110)
      ops.GET_SLOT_INDIRECT,   -- 175: get_slot_indirect
      ops.SET_SLOT_DIRECT, 116,-- 176: set_slot_direct(116)
      ops.JMP, 281,            -- 178: jmp(281)
      ops.PUSH_LOCAL_FRAME,    -- 180: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 181: get_slot_direct(296)
      ops.PUSH_LITERAL, 320,   -- 183: push_literal(320)
      ops.BI_EQ,               -- 185: bi_eq
      ops.JMP_UNLESS, 227, 280,-- 186: jmp_unless(227,280)
      ops.PUSH_LOCAL_FRAME,    -- 189: push_local_frame
      ops.PUSH_FRAME,          -- 190: push_frame
      ops.GET_SLOT_DIRECT, 329,-- 191: get_slot_direct(329)
      ops.PUSH_LOCAL_FRAME,    -- 193: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 194: get_slot_direct(110)
      ops.GET_SLOT_INDIRECT,   -- 196: get_slot_indirect
      ops.SET_SLOT_DIRECT, 116,-- 197: set_slot_direct(116)
      ops.PUSH_LOCAL_FRAME,    -- 199: push_local_frame
      ops.GET_SLOT_DIRECT, 116,-- 200: get_slot_direct(116)
      ops.UN_NOT,              -- 202: un_not
      ops.JMP_UNLESS, 224, 224,-- 203: jmp_unless(224,224)
      ops.PUSH_FRAME,          -- 206: push_frame
      ops.GET_SLOT_DIRECT, 286,-- 207: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 209: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 210: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 212: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 213: get_slot_direct(289)
      ops.PUSH_LITERAL, 372,   -- 215: push_literal(372)
      ops.PUSH_LOCAL_FRAME,    -- 217: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 218: get_slot_direct(110)
      ops.BI_ADD,              -- 220: bi_add
      ops.INVOKE, 2,           -- 221: invoke(2)
      ops.POP,                 -- 223: pop
      ops.PHI,                 -- 224: phi
      ops.JMP, 280,            -- 225: jmp(280)
      ops.PUSH_LOCAL_FRAME,    -- 227: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 228: get_slot_direct(296)
      ops.PUSH_LITERAL, 38,    -- 230: push_literal(38)
      ops.BI_EQ,               -- 232: bi_eq
      ops.DUP,                 -- 233: dup
      ops.UN_NOT,              -- 234: un_not
      ops.JMP_UNLESS, 245, 245,-- 235: jmp_unless(245,245)
      ops.POP,                 -- 238: pop
      ops.PUSH_LOCAL_FRAME,    -- 239: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 240: get_slot_direct(296)
      ops.PUSH_LITERAL, 86,    -- 242: push_literal(86)
      ops.BI_EQ,               -- 244: bi_eq
      ops.PHI,                 -- 245: phi
      ops.JMP_UNLESS, 265, 279,-- 246: jmp_unless(265,279)
      ops.PUSH_LOCAL_FRAME,    -- 249: push_local_frame
      ops.PUSH_FRAME,          -- 250: push_frame
      ops.GET_SLOT_DIRECT, 329,-- 251: get_slot_direct(329)
      ops.PUSH_LITERAL, 373,   -- 253: push_literal(373)
      ops.GET_SLOT_INDIRECT,   -- 255: get_slot_indirect
      ops.SET_SLOT_DIRECT, 116,-- 256: set_slot_direct(116)
      ops.PUSH_LOCAL_FRAME,    -- 258: push_local_frame
      ops.PUSH_LITERAL, 374,   -- 259: push_literal(374)
      ops.SET_SLOT_DIRECT, 296,-- 261: set_slot_direct(296)
      ops.JMP, 279,            -- 263: jmp(279)
      ops.PUSH_FRAME,          -- 265: push_frame
      ops.GET_SLOT_DIRECT, 286,-- 266: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 268: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 269: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 271: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 272: get_slot_direct(289)
      ops.PUSH_LITERAL, 375,   -- 274: push_literal(375)
      ops.INVOKE, 2,           -- 276: invoke(2)
      ops.POP,                 -- 278: pop
      ops.PHI,                 -- 279: phi
      ops.PHI,                 -- 280: phi
      ops.PHI,                 -- 281: phi
      ops.PUSH_FRAME,          -- 282: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 283: get_slot_direct(117)
      ops.PUSH_FRAME,          -- 285: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 286: get_slot_direct(14)
      ops.DUP,                 -- 288: dup
      ops.GET_SLOT_DIRECT_CHECK, 119,-- 289: get_slot_direct_check(119)
      ops.SWAP,                -- 291: swap
      ops.PUSH_LOCAL_FRAME,    -- 292: push_local_frame
      ops.GET_SLOT_DIRECT, 116,-- 293: get_slot_direct(116)
      ops.INVOKE, 1,           -- 295: invoke(1)
      ops.SET_SLOT_DIRECT, 330,-- 297: set_slot_direct(330)
      ops.PUSH_FRAME,          -- 299: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 300: get_slot_direct(330)
      ops.PUSH_LOCAL_FRAME,    -- 302: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 303: get_slot_direct(289)
      ops.GET_SLOT_DIRECT, 52, -- 305: get_slot_direct(52)
      ops.SET_SLOT_DIRECT, 52, -- 307: set_slot_direct(52)
      ops.PUSH_FRAME,          -- 309: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 310: get_slot_direct(330)
      ops.PUSH_LOCAL_FRAME,    -- 312: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 313: get_slot_direct(289)
      ops.GET_SLOT_DIRECT, 291,-- 315: get_slot_direct(291)
      ops.SET_SLOT_DIRECT, 291,-- 317: set_slot_direct(291)
      ops.PUSH_FRAME,          -- 319: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 320: get_slot_direct(330)
      ops.PUSH_LOCAL_FRAME,    -- 322: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 323: get_slot_direct(110)
      ops.SET_SLOT_DIRECT, 224,-- 325: set_slot_direct(224)
      ops.PUSH_FRAME,          -- 327: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 328: get_slot_direct(330)
      ops.PUSH_LOCAL_FRAME,    -- 330: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 331: get_slot_direct(296)
      ops.SET_SLOT_DIRECT, 363,-- 333: set_slot_direct(363)
      ops.PUSH_FRAME,          -- 335: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 336: get_slot_direct(330)
      ops.RETURN               -- 338: return
    }
  },
  ifunc.Function:new{ -- "expression"
    name = jsval.newString("expression"),
    id = 110,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 376,-- 8: set_slot_direct(376)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 377,-- 14: set_slot_direct(377)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 289,-- 19: set_slot_direct(289)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.PUSH_FRAME,          -- 22: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 23: get_slot_direct(330)
      ops.SET_SLOT_DIRECT, 289,-- 25: set_slot_direct(289)
      ops.PUSH_FRAME,          -- 27: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 28: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 31: get_slot_direct(26)
      ops.INVOKE, 0,           -- 33: invoke(0)
      ops.POP,                 -- 35: pop
      ops.PUSH_LOCAL_FRAME,    -- 36: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 37: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 38: get_slot_direct(289)
      ops.DUP,                 -- 40: dup
      ops.GET_SLOT_DIRECT_CHECK, 355,-- 41: get_slot_direct_check(355)
      ops.SWAP,                -- 43: swap
      ops.INVOKE, 0,           -- 44: invoke(0)
      ops.SET_SLOT_DIRECT, 377,-- 46: set_slot_direct(377)
      ops.JMP_INTO_LOOP, 81, 96,-- 48: jmp_into_loop(81,96)
      ops.PUSH_LOCAL_FRAME,    -- 51: push_local_frame
      ops.PUSH_FRAME,          -- 52: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 53: get_slot_direct(330)
      ops.SET_SLOT_DIRECT, 289,-- 55: set_slot_direct(289)
      ops.PUSH_FRAME,          -- 57: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 58: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 60: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 61: get_slot_direct(26)
      ops.INVOKE, 0,           -- 63: invoke(0)
      ops.POP,                 -- 65: pop
      ops.PUSH_LOCAL_FRAME,    -- 66: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 67: push_local_frame
      ops.GET_SLOT_DIRECT, 289,-- 68: get_slot_direct(289)
      ops.DUP,                 -- 70: dup
      ops.GET_SLOT_DIRECT_CHECK, 356,-- 71: get_slot_direct_check(356)
      ops.SWAP,                -- 73: swap
      ops.PUSH_LOCAL_FRAME,    -- 74: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 75: get_slot_direct(377)
      ops.INVOKE, 1,           -- 77: invoke(1)
      ops.SET_SLOT_DIRECT, 377,-- 79: set_slot_direct(377)
      ops.PHI,                 -- 81: phi
      ops.PUSH_LOCAL_FRAME,    -- 82: push_local_frame
      ops.GET_SLOT_DIRECT, 376,-- 83: get_slot_direct(376)
      ops.PUSH_FRAME,          -- 85: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 86: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 358,-- 88: get_slot_direct(358)
      ops.SWAP,                -- 90: swap
      ops.BI_GT,               -- 91: bi_gt
      ops.UN_NOT,              -- 92: un_not
      ops.JMP_UNLESS, 51, 96,  -- 93: jmp_unless(51,96)
      ops.PHI,                 -- 96: phi
      ops.PUSH_LOCAL_FRAME,    -- 97: push_local_frame
      ops.GET_SLOT_DIRECT, 377,-- 98: get_slot_direct(377)
      ops.RETURN               -- 100: return
    }
  },
  ifunc.Function:new{ -- "nud:"
    name = jsval.newString("nud:"),
    id = 111,
    nargs = 0,
    max_stack = 5,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.GET_SLOT_DIRECT, 286,-- 1: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 3: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 4: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 7: get_slot_direct(26)
      ops.PUSH_LITERAL, 383,   -- 9: push_literal(383)
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 12: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 224,-- 14: get_slot_direct(224)
      ops.BI_ADD,              -- 16: bi_add
      ops.INVOKE, 2,           -- 17: invoke(2)
      ops.POP,                 -- 19: pop
      ops.PUSH_LITERAL, 0,     -- 20: push_literal(0)
      ops.RETURN               -- 22: return
    }
  },
  ifunc.Function:new{ -- "led:"
    name = jsval.newString("led:"),
    id = 112,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 377,-- 8: set_slot_direct(377)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.GET_SLOT_DIRECT, 286,-- 12: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 14: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 15: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 17: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 18: get_slot_direct(26)
      ops.PUSH_LITERAL, 384,   -- 20: push_literal(384)
      ops.INVOKE, 2,           -- 22: invoke(2)
      ops.POP,                 -- 24: pop
      ops.PUSH_LITERAL, 0,     -- 25: push_literal(0)
      ops.RETURN               -- 27: return
    }
  },
  ifunc.Function:new{ -- "symbol"
    name = jsval.newString("symbol"),
    id = 113,
    nargs = 2,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 368,-- 8: set_slot_direct(368)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 385,-- 15: set_slot_direct(385)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 19: push_literal(0)
      ops.SET_SLOT_DIRECT, 365,-- 21: set_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.PUSH_FRAME,          -- 24: push_frame
      ops.GET_SLOT_DIRECT, 89, -- 25: get_slot_direct(89)
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 28: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 30: push_frame
      ops.GET_SLOT_DIRECT, 329,-- 31: get_slot_direct(329)
      ops.PUSH_LOCAL_FRAME,    -- 33: push_local_frame
      ops.GET_SLOT_DIRECT, 368,-- 34: get_slot_direct(368)
      ops.INVOKE, 2,           -- 36: invoke(2)
      ops.JMP_UNLESS, 50, 52,  -- 38: jmp_unless(50,52)
      ops.PUSH_FRAME,          -- 41: push_frame
      ops.GET_SLOT_DIRECT, 329,-- 42: get_slot_direct(329)
      ops.PUSH_LOCAL_FRAME,    -- 44: push_local_frame
      ops.GET_SLOT_DIRECT, 368,-- 45: get_slot_direct(368)
      ops.GET_SLOT_INDIRECT,   -- 47: get_slot_indirect
      ops.JMP, 52,             -- 48: jmp(52)
      ops.PUSH_LITERAL, 41,    -- 50: push_literal(41)
      ops.PHI,                 -- 52: phi
      ops.SET_SLOT_DIRECT, 365,-- 53: set_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 55: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 56: push_local_frame
      ops.GET_SLOT_DIRECT, 385,-- 57: get_slot_direct(385)
      ops.DUP,                 -- 59: dup
      ops.UN_NOT,              -- 60: un_not
      ops.JMP_UNLESS, 67, 67,  -- 61: jmp_unless(67,67)
      ops.POP,                 -- 64: pop
      ops.PUSH_LITERAL, 18,    -- 65: push_literal(18)
      ops.PHI,                 -- 67: phi
      ops.SET_SLOT_DIRECT, 385,-- 68: set_slot_direct(385)
      ops.PUSH_LOCAL_FRAME,    -- 70: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 71: get_slot_direct(365)
      ops.JMP_UNLESS, 99, 146, -- 73: jmp_unless(99,146)
      ops.PUSH_LOCAL_FRAME,    -- 76: push_local_frame
      ops.GET_SLOT_DIRECT, 385,-- 77: get_slot_direct(385)
      ops.PUSH_LOCAL_FRAME,    -- 79: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 80: get_slot_direct(365)
      ops.GET_SLOT_DIRECT, 358,-- 82: get_slot_direct(358)
      ops.BI_GTE,              -- 84: bi_gte
      ops.JMP_UNLESS, 96, 96,  -- 85: jmp_unless(96,96)
      ops.PUSH_LOCAL_FRAME,    -- 88: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 89: get_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 91: push_local_frame
      ops.GET_SLOT_DIRECT, 385,-- 92: get_slot_direct(385)
      ops.SET_SLOT_DIRECT, 358,-- 94: set_slot_direct(358)
      ops.PHI,                 -- 96: phi
      ops.JMP, 146,            -- 97: jmp(146)
      ops.PUSH_LOCAL_FRAME,    -- 99: push_local_frame
      ops.PUSH_FRAME,          -- 100: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 101: get_slot_direct(14)
      ops.DUP,                 -- 103: dup
      ops.GET_SLOT_DIRECT_CHECK, 119,-- 104: get_slot_direct_check(119)
      ops.SWAP,                -- 106: swap
      ops.PUSH_FRAME,          -- 107: push_frame
      ops.GET_SLOT_DIRECT, 342,-- 108: get_slot_direct(342)
      ops.INVOKE, 1,           -- 110: invoke(1)
      ops.SET_SLOT_DIRECT, 365,-- 112: set_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 114: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 115: get_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 117: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 118: get_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 120: push_local_frame
      ops.GET_SLOT_DIRECT, 368,-- 121: get_slot_direct(368)
      ops.OVER,                -- 123: over
      ops.SET_SLOT_DIRECT, 224,-- 124: set_slot_direct(224)
      ops.SET_SLOT_DIRECT, 368,-- 126: set_slot_direct(368)
      ops.PUSH_LOCAL_FRAME,    -- 128: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 129: get_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 131: push_local_frame
      ops.GET_SLOT_DIRECT, 385,-- 132: get_slot_direct(385)
      ops.SET_SLOT_DIRECT, 358,-- 134: set_slot_direct(358)
      ops.PUSH_FRAME,          -- 136: push_frame
      ops.GET_SLOT_DIRECT, 329,-- 137: get_slot_direct(329)
      ops.PUSH_LOCAL_FRAME,    -- 139: push_local_frame
      ops.GET_SLOT_DIRECT, 368,-- 140: get_slot_direct(368)
      ops.PUSH_LOCAL_FRAME,    -- 142: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 143: get_slot_direct(365)
      ops.SET_SLOT_INDIRECT,   -- 145: set_slot_indirect
      ops.PHI,                 -- 146: phi
      ops.PUSH_LOCAL_FRAME,    -- 147: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 148: get_slot_direct(365)
      ops.RETURN               -- 150: return
    }
  },
  ifunc.Function:new{ -- "constant"
    name = jsval.newString("constant"),
    id = 114,
    nargs = 2,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 365,-- 8: set_slot_direct(365)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 110,-- 15: set_slot_direct(110)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 19: push_literal(0)
      ops.SET_SLOT_DIRECT, 128,-- 21: set_slot_direct(128)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.PUSH_FRAME,          -- 24: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 25: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 28: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 31: get_slot_direct(365)
      ops.INVOKE, 1,           -- 33: invoke(1)
      ops.SET_SLOT_DIRECT, 128,-- 35: set_slot_direct(128)
      ops.PUSH_LOCAL_FRAME,    -- 37: push_local_frame
      ops.GET_SLOT_DIRECT, 128,-- 38: get_slot_direct(128)
      ops.NEW_FUNCTION, 115,   -- 40: new_function(115)
      ops.SET_SLOT_DIRECT, 355,-- 42: set_slot_direct(355)
      ops.PUSH_LOCAL_FRAME,    -- 44: push_local_frame
      ops.GET_SLOT_DIRECT, 128,-- 45: get_slot_direct(128)
      ops.PUSH_LOCAL_FRAME,    -- 47: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 48: get_slot_direct(110)
      ops.SET_SLOT_DIRECT, 224,-- 50: set_slot_direct(224)
      ops.PUSH_LOCAL_FRAME,    -- 52: push_local_frame
      ops.GET_SLOT_DIRECT, 128,-- 53: get_slot_direct(128)
      ops.RETURN               -- 55: return
    }
  },
  ifunc.Function:new{ -- ".nud"
    name = jsval.newString(".nud"),
    id = 115,
    nargs = 0,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 3: push_frame
      ops.GET_SLOT_DIRECT, 329,-- 4: get_slot_direct(329)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 7: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 368,-- 9: get_slot_direct(368)
      ops.GET_SLOT_INDIRECT,   -- 11: get_slot_indirect
      ops.GET_SLOT_DIRECT, 224,-- 12: get_slot_direct(224)
      ops.SET_SLOT_DIRECT, 224,-- 14: set_slot_direct(224)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 17: get_slot_direct(26)
      ops.PUSH_LITERAL, 374,   -- 19: push_literal(374)
      ops.SET_SLOT_DIRECT, 363,-- 21: set_slot_direct(363)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 24: get_slot_direct(26)
      ops.RETURN               -- 26: return
    }
  },
  ifunc.Function:new{ -- "prefix"
    name = jsval.newString("prefix"),
    id = 116,
    nargs = 2,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 368,-- 8: set_slot_direct(368)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 355,-- 15: set_slot_direct(355)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 19: push_literal(0)
      ops.SET_SLOT_DIRECT, 365,-- 21: set_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.PUSH_FRAME,          -- 24: push_frame
      ops.GET_SLOT_DIRECT, 343,-- 25: get_slot_direct(343)
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 28: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.GET_SLOT_DIRECT, 368,-- 31: get_slot_direct(368)
      ops.INVOKE, 1,           -- 33: invoke(1)
      ops.SET_SLOT_DIRECT, 365,-- 35: set_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 37: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 38: get_slot_direct(365)
      ops.PUSH_LOCAL_FRAME,    -- 40: push_local_frame
      ops.GET_SLOT_DIRECT, 355,-- 41: get_slot_direct(355)
      ops.DUP,                 -- 43: dup
      ops.UN_NOT,              -- 44: un_not
      ops.JMP_UNLESS, 51, 51,  -- 45: jmp_unless(51,51)
      ops.POP,                 -- 48: pop
      ops.NEW_FUNCTION, 117,   -- 49: new_function(117)
      ops.PHI,                 -- 51: phi
      ops.SET_SLOT_DIRECT, 355,-- 52: set_slot_direct(355)
      ops.PUSH_LOCAL_FRAME,    -- 54: push_local_frame
      ops.GET_SLOT_DIRECT, 365,-- 55: get_slot_direct(365)
      ops.RETURN               -- 57: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 117,
    nargs = 0,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 3: push_frame
      ops.GET_SLOT_DIRECT, 338,-- 4: get_slot_direct(338)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 7: get_slot_direct(26)
      ops.PUSH_LITERAL, 388,   -- 9: push_literal(388)
      ops.INVOKE, 1,           -- 11: invoke(1)
      ops.SET_SLOT_DIRECT, 39, -- 13: set_slot_direct(39)
      ops.PUSH_LOCAL_FRAME,    -- 15: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 16: get_slot_direct(26)
      ops.PUSH_LITERAL, 389,   -- 18: push_literal(389)
      ops.SET_SLOT_DIRECT, 363,-- 20: set_slot_direct(363)
      ops.PUSH_LOCAL_FRAME,    -- 22: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 23: get_slot_direct(26)
      ops.RETURN               -- 25: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 118,
    nargs = 0,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 296,-- 3: set_slot_direct(296)
      ops.PUSH_LOCAL_FRAME,    -- 5: push_local_frame
      ops.NEW_ARRAY,           -- 6: new_array
      ops.SET_SLOT_DIRECT, 296,-- 7: set_slot_direct(296)
      ops.PUSH_FRAME,          -- 9: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 10: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 12: get_slot_direct(368)
      ops.PUSH_LITERAL, 255,   -- 14: push_literal(255)
      ops.BI_EQ,               -- 16: bi_eq
      ops.UN_NOT,              -- 17: un_not
      ops.JMP_UNLESS, 78, 78,  -- 18: jmp_unless(78,78)
      ops.JMP_INTO_LOOP, 70, 77,-- 21: jmp_into_loop(70,77)
      ops.PUSH_LOCAL_FRAME,    -- 24: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 25: get_slot_direct(296)
      ops.DUP,                 -- 27: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 28: get_slot_direct_check(69)
      ops.SWAP,                -- 30: swap
      ops.PUSH_FRAME,          -- 31: push_frame
      ops.GET_SLOT_DIRECT, 338,-- 32: get_slot_direct(338)
      ops.PUSH_LOCAL_FRAME,    -- 34: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 35: get_slot_direct(26)
      ops.PUSH_LITERAL, 18,    -- 37: push_literal(18)
      ops.INVOKE, 1,           -- 39: invoke(1)
      ops.INVOKE, 1,           -- 41: invoke(1)
      ops.POP,                 -- 43: pop
      ops.PUSH_FRAME,          -- 44: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 45: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 47: get_slot_direct(368)
      ops.PUSH_LITERAL, 76,    -- 49: push_literal(76)
      ops.BI_EQ,               -- 51: bi_eq
      ops.UN_NOT,              -- 52: un_not
      ops.JMP_UNLESS, 58, 58,  -- 53: jmp_unless(58,58)
      ops.JMP, 77,             -- 56: jmp(77)
      ops.PHI,                 -- 58: phi
      ops.PUSH_FRAME,          -- 59: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 60: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 62: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 63: get_slot_direct(26)
      ops.PUSH_LITERAL, 76,    -- 65: push_literal(76)
      ops.INVOKE, 1,           -- 67: invoke(1)
      ops.POP,                 -- 69: pop
      ops.PHI,                 -- 70: phi
      ops.PUSH_LITERAL, 118,   -- 71: push_literal(118)
      ops.UN_NOT,              -- 73: un_not
      ops.JMP_UNLESS, 24, 77,  -- 74: jmp_unless(24,77)
      ops.PHI,                 -- 77: phi
      ops.PHI,                 -- 78: phi
      ops.PUSH_FRAME,          -- 79: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 80: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 82: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 83: get_slot_direct(26)
      ops.PUSH_LITERAL, 255,   -- 85: push_literal(255)
      ops.INVOKE, 1,           -- 87: invoke(1)
      ops.POP,                 -- 89: pop
      ops.PUSH_LOCAL_FRAME,    -- 90: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 91: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 93: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 94: get_slot_direct(296)
      ops.SET_SLOT_DIRECT, 39, -- 96: set_slot_direct(39)
      ops.PUSH_LOCAL_FRAME,    -- 98: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 99: get_slot_direct(26)
      ops.PUSH_LITERAL, 389,   -- 101: push_literal(389)
      ops.SET_SLOT_DIRECT, 363,-- 103: set_slot_direct(363)
      ops.PUSH_LOCAL_FRAME,    -- 105: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 106: get_slot_direct(26)
      ops.RETURN               -- 108: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 119,
    nargs = 0,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 296,-- 3: set_slot_direct(296)
      ops.PUSH_LOCAL_FRAME,    -- 5: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 6: push_literal(0)
      ops.SET_SLOT_DIRECT, 23, -- 8: set_slot_direct(23)
      ops.PUSH_LOCAL_FRAME,    -- 10: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 11: push_literal(0)
      ops.SET_SLOT_DIRECT, 110,-- 13: set_slot_direct(110)
      ops.PUSH_LOCAL_FRAME,    -- 15: push_local_frame
      ops.NEW_ARRAY,           -- 16: new_array
      ops.SET_SLOT_DIRECT, 296,-- 17: set_slot_direct(296)
      ops.PUSH_FRAME,          -- 19: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 20: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 22: get_slot_direct(368)
      ops.PUSH_LITERAL, 245,   -- 24: push_literal(245)
      ops.BI_EQ,               -- 26: bi_eq
      ops.UN_NOT,              -- 27: un_not
      ops.JMP_UNLESS, 172, 172,-- 28: jmp_unless(172,172)
      ops.JMP_INTO_LOOP, 164, 171,-- 31: jmp_into_loop(164,171)
      ops.PUSH_LOCAL_FRAME,    -- 34: push_local_frame
      ops.PUSH_FRAME,          -- 35: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 36: get_slot_direct(330)
      ops.SET_SLOT_DIRECT, 23, -- 38: set_slot_direct(23)
      ops.PUSH_LOCAL_FRAME,    -- 40: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 41: get_slot_direct(23)
      ops.GET_SLOT_DIRECT, 363,-- 43: get_slot_direct(363)
      ops.PUSH_LITERAL, 19,    -- 45: push_literal(19)
      ops.BI_EQ,               -- 47: bi_eq
      ops.UN_NOT,              -- 48: un_not
      ops.DUP,                 -- 49: dup
      ops.JMP_UNLESS, 63, 63,  -- 50: jmp_unless(63,63)
      ops.POP,                 -- 53: pop
      ops.PUSH_LOCAL_FRAME,    -- 54: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 55: get_slot_direct(23)
      ops.GET_SLOT_DIRECT, 363,-- 57: get_slot_direct(363)
      ops.PUSH_LITERAL, 374,   -- 59: push_literal(374)
      ops.BI_EQ,               -- 61: bi_eq
      ops.UN_NOT,              -- 62: un_not
      ops.PHI,                 -- 63: phi
      ops.JMP_UNLESS, 81, 81,  -- 64: jmp_unless(81,81)
      ops.PUSH_FRAME,          -- 67: push_frame
      ops.GET_SLOT_DIRECT, 286,-- 68: get_slot_direct(286)
      ops.PUSH_LOCAL_FRAME,    -- 70: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 71: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 73: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 74: get_slot_direct(330)
      ops.PUSH_LITERAL, 424,   -- 76: push_literal(424)
      ops.INVOKE, 2,           -- 78: invoke(2)
      ops.POP,                 -- 80: pop
      ops.PHI,                 -- 81: phi
      ops.PUSH_FRAME,          -- 82: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 83: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 85: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 86: get_slot_direct(26)
      ops.INVOKE, 0,           -- 88: invoke(0)
      ops.POP,                 -- 90: pop
      ops.PUSH_FRAME,          -- 91: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 92: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 94: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 95: get_slot_direct(26)
      ops.PUSH_LITERAL, 241,   -- 97: push_literal(241)
      ops.INVOKE, 1,           -- 99: invoke(1)
      ops.POP,                 -- 101: pop
      ops.PUSH_LOCAL_FRAME,    -- 102: push_local_frame
      ops.PUSH_FRAME,          -- 103: push_frame
      ops.GET_SLOT_DIRECT, 338,-- 104: get_slot_direct(338)
      ops.PUSH_LOCAL_FRAME,    -- 106: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 107: get_slot_direct(26)
      ops.PUSH_LITERAL, 18,    -- 109: push_literal(18)
      ops.INVOKE, 1,           -- 111: invoke(1)
      ops.SET_SLOT_DIRECT, 110,-- 113: set_slot_direct(110)
      ops.PUSH_LOCAL_FRAME,    -- 115: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 116: get_slot_direct(110)
      ops.PUSH_LOCAL_FRAME,    -- 118: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 119: get_slot_direct(23)
      ops.GET_SLOT_DIRECT, 224,-- 121: get_slot_direct(224)
      ops.SET_SLOT_DIRECT, 258,-- 123: set_slot_direct(258)
      ops.PUSH_LOCAL_FRAME,    -- 125: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 126: get_slot_direct(296)
      ops.DUP,                 -- 128: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 129: get_slot_direct_check(69)
      ops.SWAP,                -- 131: swap
      ops.PUSH_LOCAL_FRAME,    -- 132: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 133: get_slot_direct(110)
      ops.INVOKE, 1,           -- 135: invoke(1)
      ops.POP,                 -- 137: pop
      ops.PUSH_FRAME,          -- 138: push_frame
      ops.GET_SLOT_DIRECT, 330,-- 139: get_slot_direct(330)
      ops.GET_SLOT_DIRECT, 368,-- 141: get_slot_direct(368)
      ops.PUSH_LITERAL, 76,    -- 143: push_literal(76)
      ops.BI_EQ,               -- 145: bi_eq
      ops.UN_NOT,              -- 146: un_not
      ops.JMP_UNLESS, 152, 152,-- 147: jmp_unless(152,152)
      ops.JMP, 171,            -- 150: jmp(171)
      ops.PHI,                 -- 152: phi
      ops.PUSH_FRAME,          -- 153: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 154: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 156: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 157: get_slot_direct(26)
      ops.PUSH_LITERAL, 76,    -- 159: push_literal(76)
      ops.INVOKE, 1,           -- 161: invoke(1)
      ops.POP,                 -- 163: pop
      ops.PHI,                 -- 164: phi
      ops.PUSH_LITERAL, 118,   -- 165: push_literal(118)
      ops.UN_NOT,              -- 167: un_not
      ops.JMP_UNLESS, 34, 171, -- 168: jmp_unless(34,171)
      ops.PHI,                 -- 171: phi
      ops.PHI,                 -- 172: phi
      ops.PUSH_FRAME,          -- 173: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 174: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 176: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 177: get_slot_direct(26)
      ops.PUSH_LITERAL, 245,   -- 179: push_literal(245)
      ops.INVOKE, 1,           -- 181: invoke(1)
      ops.POP,                 -- 183: pop
      ops.PUSH_LOCAL_FRAME,    -- 184: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 185: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 187: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 188: get_slot_direct(296)
      ops.SET_SLOT_DIRECT, 39, -- 190: set_slot_direct(39)
      ops.PUSH_LOCAL_FRAME,    -- 192: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 193: get_slot_direct(26)
      ops.PUSH_LITERAL, 389,   -- 195: push_literal(389)
      ops.SET_SLOT_DIRECT, 363,-- 197: set_slot_direct(363)
      ops.PUSH_LOCAL_FRAME,    -- 199: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 200: get_slot_direct(26)
      ops.RETURN               -- 202: return
    }
  },
  ifunc.Function:new{ -- "parse_json"
    name = jsval.newString("parse_json"),
    id = 120,
    nargs = 1,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 430,-- 8: set_slot_direct(430)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 87, -- 14: set_slot_direct(87)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 441,-- 19: set_slot_direct(441)
      ops.PUSH_FRAME,          -- 21: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 22: get_slot_direct(117)
      ops.PUSH_FRAME,          -- 24: push_frame
      ops.GET_SLOT_DIRECT, 279,-- 25: get_slot_direct(279)
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 28: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.GET_SLOT_DIRECT, 430,-- 31: get_slot_direct(430)
      ops.PUSH_LITERAL, 435,   -- 33: push_literal(435)
      ops.PUSH_LITERAL, 436,   -- 35: push_literal(436)
      ops.INVOKE, 3,           -- 37: invoke(3)
      ops.SET_SLOT_DIRECT, 331,-- 39: set_slot_direct(331)
      ops.PUSH_FRAME,          -- 41: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 42: get_slot_direct(117)
      ops.PUSH_LITERAL, 18,    -- 44: push_literal(18)
      ops.SET_SLOT_DIRECT, 332,-- 46: set_slot_direct(332)
      ops.PUSH_FRAME,          -- 48: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 49: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 51: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 52: get_slot_direct(26)
      ops.INVOKE, 0,           -- 54: invoke(0)
      ops.POP,                 -- 56: pop
      ops.PUSH_LOCAL_FRAME,    -- 57: push_local_frame
      ops.PUSH_FRAME,          -- 58: push_frame
      ops.GET_SLOT_DIRECT, 338,-- 59: get_slot_direct(338)
      ops.PUSH_LOCAL_FRAME,    -- 61: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 62: get_slot_direct(26)
      ops.PUSH_LITERAL, 18,    -- 64: push_literal(18)
      ops.INVOKE, 1,           -- 66: invoke(1)
      ops.SET_SLOT_DIRECT, 87, -- 68: set_slot_direct(87)
      ops.PUSH_FRAME,          -- 70: push_frame
      ops.GET_SLOT_DIRECT, 337,-- 71: get_slot_direct(337)
      ops.PUSH_LOCAL_FRAME,    -- 73: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 74: get_slot_direct(26)
      ops.PUSH_LITERAL, 371,   -- 76: push_literal(371)
      ops.INVOKE, 1,           -- 78: invoke(1)
      ops.POP,                 -- 80: pop
      ops.PUSH_LOCAL_FRAME,    -- 81: push_local_frame
      ops.NEW_ARRAY,           -- 82: new_array
      ops.DUP,                 -- 83: dup
      ops.NEW_OBJECT,          -- 84: new_object
      ops.DUP,                 -- 85: dup
      ops.PUSH_LITERAL, 427,   -- 86: push_literal(427)
      ops.SET_SLOT_DIRECT, 224,-- 88: set_slot_direct(224)
      ops.DUP,                 -- 90: dup
      ops.PUSH_LITERAL, 339,   -- 91: push_literal(339)
      ops.SET_SLOT_DIRECT, 363,-- 93: set_slot_direct(363)
      ops.DUP,                 -- 95: dup
      ops.PUSH_LOCAL_FRAME,    -- 96: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 97: get_slot_direct(87)
      ops.SET_SLOT_DIRECT, 39, -- 99: set_slot_direct(39)
      ops.SET_SLOT_DIRECT, 18, -- 101: set_slot_direct(18)
      ops.SET_SLOT_DIRECT, 441,-- 103: set_slot_direct(441)
      ops.PUSH_LOCAL_FRAME,    -- 105: push_local_frame
      ops.GET_SLOT_DIRECT, 441,-- 106: get_slot_direct(441)
      ops.RETURN               -- 108: return
    }
  },
  ifunc.Function:new{ -- "make_bytecode_table"
    name = jsval.newString("make_bytecode_table"),
    id = 121,
    nargs = 1,
    max_stack = 7,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 452,-- 8: set_slot_direct(452)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 453,-- 14: set_slot_direct(453)
      ops.PUSH_FRAME,          -- 16: push_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 454,-- 19: set_slot_direct(454)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 22: push_literal(0)
      ops.SET_SLOT_DIRECT, 455,-- 24: set_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 27: push_literal(0)
      ops.SET_SLOT_DIRECT, 456,-- 29: set_slot_direct(456)
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 32: push_literal(0)
      ops.SET_SLOT_DIRECT, 457,-- 34: set_slot_direct(457)
      ops.PUSH_FRAME,          -- 36: push_frame
      ops.NEW_ARRAY,           -- 37: new_array
      ops.SET_SLOT_DIRECT, 453,-- 38: set_slot_direct(453)
      ops.PUSH_FRAME,          -- 40: push_frame
      ops.NEW_OBJECT,          -- 41: new_object
      ops.SET_SLOT_DIRECT, 454,-- 42: set_slot_direct(454)
      ops.PUSH_LOCAL_FRAME,    -- 44: push_local_frame
      ops.NEW_FUNCTION, 122,   -- 45: new_function(122)
      ops.SET_SLOT_DIRECT, 455,-- 47: set_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 49: push_local_frame
      ops.NEW_FUNCTION, 126,   -- 50: new_function(126)
      ops.SET_SLOT_DIRECT, 456,-- 52: set_slot_direct(456)
      ops.PUSH_LOCAL_FRAME,    -- 54: push_local_frame
      ops.NEW_FUNCTION, 127,   -- 55: new_function(127)
      ops.SET_SLOT_DIRECT, 457,-- 57: set_slot_direct(457)
      ops.PUSH_LOCAL_FRAME,    -- 59: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 60: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 62: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 63: get_slot_direct(26)
      ops.PUSH_LITERAL, 471,   -- 65: push_literal(471)
      ops.PUSH_LITERAL, 18,    -- 67: push_literal(18)
      ops.PUSH_LITERAL, 18,    -- 69: push_literal(18)
      ops.PUSH_LITERAL, 31,    -- 71: push_literal(31)
      ops.INVOKE, 4,           -- 73: invoke(4)
      ops.POP,                 -- 75: pop
      ops.PUSH_LOCAL_FRAME,    -- 76: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 77: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 79: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 80: get_slot_direct(26)
      ops.PUSH_LITERAL, 472,   -- 82: push_literal(472)
      ops.PUSH_LITERAL, 18,    -- 84: push_literal(18)
      ops.PUSH_LITERAL, 18,    -- 86: push_literal(18)
      ops.PUSH_LITERAL, 31,    -- 88: push_literal(31)
      ops.INVOKE, 4,           -- 90: invoke(4)
      ops.POP,                 -- 92: pop
      ops.PUSH_LOCAL_FRAME,    -- 93: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 94: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 96: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 97: get_slot_direct(26)
      ops.PUSH_LITERAL, 473,   -- 99: push_literal(473)
      ops.PUSH_LITERAL, 31,    -- 101: push_literal(31)
      ops.PUSH_LITERAL, 18,    -- 103: push_literal(18)
      ops.PUSH_LITERAL, 31,    -- 105: push_literal(31)
      ops.PUSH_LOCAL_FRAME,    -- 107: push_local_frame
      ops.GET_SLOT_DIRECT, 456,-- 108: get_slot_direct(456)
      ops.INVOKE, 5,           -- 110: invoke(5)
      ops.POP,                 -- 112: pop
      ops.PUSH_LOCAL_FRAME,    -- 113: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 114: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 116: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 117: get_slot_direct(26)
      ops.PUSH_LITERAL, 474,   -- 119: push_literal(474)
      ops.PUSH_LITERAL, 18,    -- 121: push_literal(18)
      ops.PUSH_LITERAL, 18,    -- 123: push_literal(18)
      ops.PUSH_LITERAL, 31,    -- 125: push_literal(31)
      ops.INVOKE, 4,           -- 127: invoke(4)
      ops.POP,                 -- 129: pop
      ops.PUSH_LOCAL_FRAME,    -- 130: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 131: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 133: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 134: get_slot_direct(26)
      ops.PUSH_LITERAL, 475,   -- 136: push_literal(475)
      ops.PUSH_LITERAL, 18,    -- 138: push_literal(18)
      ops.PUSH_LITERAL, 18,    -- 140: push_literal(18)
      ops.PUSH_LITERAL, 31,    -- 142: push_literal(31)
      ops.INVOKE, 4,           -- 144: invoke(4)
      ops.POP,                 -- 146: pop
      ops.PUSH_LOCAL_FRAME,    -- 147: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 148: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 150: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 151: get_slot_direct(26)
      ops.PUSH_LITERAL, 476,   -- 153: push_literal(476)
      ops.PUSH_LITERAL, 31,    -- 155: push_literal(31)
      ops.PUSH_LITERAL, 18,    -- 157: push_literal(18)
      ops.PUSH_LITERAL, 31,    -- 159: push_literal(31)
      ops.INVOKE, 4,           -- 161: invoke(4)
      ops.POP,                 -- 163: pop
      ops.PUSH_LOCAL_FRAME,    -- 164: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 165: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 167: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 168: get_slot_direct(26)
      ops.PUSH_LITERAL, 477,   -- 170: push_literal(477)
      ops.PUSH_LITERAL, 31,    -- 172: push_literal(31)
      ops.PUSH_LITERAL, 31,    -- 174: push_literal(31)
      ops.PUSH_LITERAL, 31,    -- 176: push_literal(31)
      ops.PUSH_LOCAL_FRAME,    -- 178: push_local_frame
      ops.GET_SLOT_DIRECT, 456,-- 179: get_slot_direct(456)
      ops.INVOKE, 5,           -- 181: invoke(5)
      ops.POP,                 -- 183: pop
      ops.PUSH_LOCAL_FRAME,    -- 184: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 185: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 187: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 188: get_slot_direct(26)
      ops.PUSH_LITERAL, 478,   -- 190: push_literal(478)
      ops.PUSH_LITERAL, 18,    -- 192: push_literal(18)
      ops.PUSH_LITERAL, 136,   -- 194: push_literal(136)
      ops.PUSH_LITERAL, 31,    -- 196: push_literal(31)
      ops.INVOKE, 4,           -- 198: invoke(4)
      ops.POP,                 -- 200: pop
      ops.PUSH_LOCAL_FRAME,    -- 201: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 202: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 204: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 205: get_slot_direct(26)
      ops.PUSH_LITERAL, 479,   -- 207: push_literal(479)
      ops.PUSH_LITERAL, 31,    -- 209: push_literal(31)
      ops.PUSH_LITERAL, 31,    -- 211: push_literal(31)
      ops.PUSH_LITERAL, 31,    -- 213: push_literal(31)
      ops.PUSH_LOCAL_FRAME,    -- 215: push_local_frame
      ops.GET_SLOT_DIRECT, 456,-- 216: get_slot_direct(456)
      ops.INVOKE, 5,           -- 218: invoke(5)
      ops.POP,                 -- 220: pop
      ops.PUSH_LOCAL_FRAME,    -- 221: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 222: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 224: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 225: get_slot_direct(26)
      ops.PUSH_LITERAL, 480,   -- 227: push_literal(480)
      ops.PUSH_LITERAL, 31,    -- 229: push_literal(31)
      ops.PUSH_LITERAL, 136,   -- 231: push_literal(136)
      ops.PUSH_LITERAL, 18,    -- 233: push_literal(18)
      ops.PUSH_LOCAL_FRAME,    -- 235: push_local_frame
      ops.GET_SLOT_DIRECT, 456,-- 236: get_slot_direct(456)
      ops.INVOKE, 5,           -- 238: invoke(5)
      ops.POP,                 -- 240: pop
      ops.PUSH_LOCAL_FRAME,    -- 241: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 242: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 244: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 245: get_slot_direct(26)
      ops.PUSH_LITERAL, 481,   -- 247: push_literal(481)
      ops.PUSH_LITERAL, 18,    -- 249: push_literal(18)
      ops.PUSH_LITERAL, 159,   -- 251: push_literal(159)
      ops.PUSH_LITERAL, 18,    -- 253: push_literal(18)
      ops.INVOKE, 4,           -- 255: invoke(4)
      ops.POP,                 -- 257: pop
      ops.PUSH_LOCAL_FRAME,    -- 258: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 259: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 261: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 262: get_slot_direct(26)
      ops.PUSH_LITERAL, 482,   -- 264: push_literal(482)
      ops.PUSH_LITERAL, 31,    -- 266: push_literal(31)
      ops.NEW_FUNCTION, 128,   -- 268: new_function(128)
      ops.PUSH_LITERAL, 31,    -- 270: push_literal(31)
      ops.INVOKE, 4,           -- 272: invoke(4)
      ops.POP,                 -- 274: pop
      ops.PUSH_LOCAL_FRAME,    -- 275: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 276: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 278: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 279: get_slot_direct(26)
      ops.PUSH_LITERAL, 427,   -- 281: push_literal(427)
      ops.PUSH_LITERAL, 18,    -- 283: push_literal(18)
      ops.PUSH_LITERAL, 31,    -- 285: push_literal(31)
      ops.PUSH_LITERAL, 18,    -- 287: push_literal(18)
      ops.INVOKE, 4,           -- 289: invoke(4)
      ops.POP,                 -- 291: pop
      ops.PUSH_LOCAL_FRAME,    -- 292: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 293: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 295: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 296: get_slot_direct(26)
      ops.PUSH_LITERAL, 485,   -- 298: push_literal(485)
      ops.PUSH_LITERAL, 31,    -- 300: push_literal(31)
      ops.PUSH_LITERAL, 18,    -- 302: push_literal(18)
      ops.PUSH_LITERAL, 18,    -- 304: push_literal(18)
      ops.PUSH_LOCAL_FRAME,    -- 306: push_local_frame
      ops.GET_SLOT_DIRECT, 457,-- 307: get_slot_direct(457)
      ops.INVOKE, 5,           -- 309: invoke(5)
      ops.POP,                 -- 311: pop
      ops.PUSH_LOCAL_FRAME,    -- 312: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 313: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 315: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 316: get_slot_direct(26)
      ops.PUSH_LITERAL, 486,   -- 318: push_literal(486)
      ops.PUSH_LITERAL, 136,   -- 320: push_literal(136)
      ops.PUSH_LITERAL, 18,    -- 322: push_literal(18)
      ops.PUSH_LITERAL, 18,    -- 324: push_literal(18)
      ops.PUSH_LOCAL_FRAME,    -- 326: push_local_frame
      ops.GET_SLOT_DIRECT, 457,-- 327: get_slot_direct(457)
      ops.INVOKE, 5,           -- 329: invoke(5)
      ops.POP,                 -- 331: pop
      ops.PUSH_LOCAL_FRAME,    -- 332: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 333: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 335: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 336: get_slot_direct(26)
      ops.PUSH_LITERAL, 487,   -- 338: push_literal(487)
      ops.PUSH_LITERAL, 136,   -- 340: push_literal(136)
      ops.PUSH_LITERAL, 31,    -- 342: push_literal(31)
      ops.PUSH_LITERAL, 18,    -- 344: push_literal(18)
      ops.PUSH_LOCAL_FRAME,    -- 346: push_local_frame
      ops.GET_SLOT_DIRECT, 457,-- 347: get_slot_direct(457)
      ops.INVOKE, 5,           -- 349: invoke(5)
      ops.POP,                 -- 351: pop
      ops.PUSH_LOCAL_FRAME,    -- 352: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 353: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 355: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 356: get_slot_direct(26)
      ops.PUSH_LITERAL, 488,   -- 358: push_literal(488)
      ops.PUSH_LITERAL, 18,    -- 360: push_literal(18)
      ops.PUSH_LITERAL, 18,    -- 362: push_literal(18)
      ops.PUSH_LITERAL, 18,    -- 364: push_literal(18)
      ops.INVOKE, 4,           -- 366: invoke(4)
      ops.POP,                 -- 368: pop
      ops.PUSH_LOCAL_FRAME,    -- 369: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 370: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 372: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 373: get_slot_direct(26)
      ops.PUSH_LITERAL, 71,    -- 375: push_literal(71)
      ops.PUSH_LITERAL, 18,    -- 377: push_literal(18)
      ops.PUSH_LITERAL, 31,    -- 379: push_literal(31)
      ops.PUSH_LITERAL, 18,    -- 381: push_literal(18)
      ops.INVOKE, 4,           -- 383: invoke(4)
      ops.POP,                 -- 385: pop
      ops.PUSH_LOCAL_FRAME,    -- 386: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 387: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 389: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 390: get_slot_direct(26)
      ops.PUSH_LITERAL, 489,   -- 392: push_literal(489)
      ops.PUSH_LITERAL, 18,    -- 394: push_literal(18)
      ops.PUSH_LITERAL, 31,    -- 396: push_literal(31)
      ops.PUSH_LITERAL, 136,   -- 398: push_literal(136)
      ops.INVOKE, 4,           -- 400: invoke(4)
      ops.POP,                 -- 402: pop
      ops.PUSH_LOCAL_FRAME,    -- 403: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 404: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 406: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 407: get_slot_direct(26)
      ops.PUSH_LITERAL, 490,   -- 409: push_literal(490)
      ops.PUSH_LITERAL, 18,    -- 411: push_literal(18)
      ops.PUSH_LITERAL, 136,   -- 413: push_literal(136)
      ops.PUSH_LITERAL, 162,   -- 415: push_literal(162)
      ops.INVOKE, 4,           -- 417: invoke(4)
      ops.POP,                 -- 419: pop
      ops.PUSH_LOCAL_FRAME,    -- 420: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 421: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 423: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 424: get_slot_direct(26)
      ops.PUSH_LITERAL, 491,   -- 426: push_literal(491)
      ops.PUSH_LITERAL, 18,    -- 428: push_literal(18)
      ops.PUSH_LITERAL, 136,   -- 430: push_literal(136)
      ops.PUSH_LITERAL, 159,   -- 432: push_literal(159)
      ops.INVOKE, 4,           -- 434: invoke(4)
      ops.POP,                 -- 436: pop
      ops.PUSH_LOCAL_FRAME,    -- 437: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 438: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 440: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 441: get_slot_direct(26)
      ops.PUSH_LITERAL, 492,   -- 443: push_literal(492)
      ops.PUSH_LITERAL, 18,    -- 445: push_literal(18)
      ops.PUSH_LITERAL, 159,   -- 447: push_literal(159)
      ops.PUSH_LITERAL, 162,   -- 449: push_literal(162)
      ops.INVOKE, 4,           -- 451: invoke(4)
      ops.POP,                 -- 453: pop
      ops.PUSH_LOCAL_FRAME,    -- 454: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 455: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 457: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 458: get_slot_direct(26)
      ops.PUSH_LITERAL, 493,   -- 460: push_literal(493)
      ops.PUSH_LITERAL, 18,    -- 462: push_literal(18)
      ops.PUSH_LITERAL, 136,   -- 464: push_literal(136)
      ops.PUSH_LITERAL, 136,   -- 466: push_literal(136)
      ops.INVOKE, 4,           -- 468: invoke(4)
      ops.POP,                 -- 470: pop
      ops.PUSH_LOCAL_FRAME,    -- 471: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 472: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 474: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 475: get_slot_direct(26)
      ops.PUSH_LITERAL, 494,   -- 477: push_literal(494)
      ops.PUSH_LITERAL, 18,    -- 479: push_literal(18)
      ops.PUSH_LITERAL, 31,    -- 481: push_literal(31)
      ops.PUSH_LITERAL, 31,    -- 483: push_literal(31)
      ops.INVOKE, 4,           -- 485: invoke(4)
      ops.POP,                 -- 487: pop
      ops.PUSH_LOCAL_FRAME,    -- 488: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 489: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 491: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 492: get_slot_direct(26)
      ops.PUSH_LITERAL, 495,   -- 494: push_literal(495)
      ops.PUSH_LITERAL, 18,    -- 496: push_literal(18)
      ops.PUSH_LITERAL, 31,    -- 498: push_literal(31)
      ops.PUSH_LITERAL, 31,    -- 500: push_literal(31)
      ops.INVOKE, 4,           -- 502: invoke(4)
      ops.POP,                 -- 504: pop
      ops.PUSH_LOCAL_FRAME,    -- 505: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 506: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 508: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 509: get_slot_direct(26)
      ops.PUSH_LITERAL, 496,   -- 511: push_literal(496)
      ops.PUSH_LITERAL, 18,    -- 513: push_literal(18)
      ops.PUSH_LITERAL, 31,    -- 515: push_literal(31)
      ops.PUSH_LITERAL, 31,    -- 517: push_literal(31)
      ops.INVOKE, 4,           -- 519: invoke(4)
      ops.POP,                 -- 521: pop
      ops.PUSH_LOCAL_FRAME,    -- 522: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 523: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 525: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 526: get_slot_direct(26)
      ops.PUSH_LITERAL, 497,   -- 528: push_literal(497)
      ops.PUSH_LITERAL, 18,    -- 530: push_literal(18)
      ops.PUSH_LITERAL, 136,   -- 532: push_literal(136)
      ops.PUSH_LITERAL, 31,    -- 534: push_literal(31)
      ops.INVOKE, 4,           -- 536: invoke(4)
      ops.POP,                 -- 538: pop
      ops.PUSH_LOCAL_FRAME,    -- 539: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 540: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 542: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 543: get_slot_direct(26)
      ops.PUSH_LITERAL, 498,   -- 545: push_literal(498)
      ops.PUSH_LITERAL, 18,    -- 547: push_literal(18)
      ops.PUSH_LITERAL, 136,   -- 549: push_literal(136)
      ops.PUSH_LITERAL, 31,    -- 551: push_literal(31)
      ops.INVOKE, 4,           -- 553: invoke(4)
      ops.POP,                 -- 555: pop
      ops.PUSH_LOCAL_FRAME,    -- 556: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 557: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 559: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 560: get_slot_direct(26)
      ops.PUSH_LITERAL, 499,   -- 562: push_literal(499)
      ops.PUSH_LITERAL, 18,    -- 564: push_literal(18)
      ops.PUSH_LITERAL, 136,   -- 566: push_literal(136)
      ops.PUSH_LITERAL, 31,    -- 568: push_literal(31)
      ops.INVOKE, 4,           -- 570: invoke(4)
      ops.POP,                 -- 572: pop
      ops.PUSH_LOCAL_FRAME,    -- 573: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 574: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 576: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 577: get_slot_direct(26)
      ops.PUSH_LITERAL, 500,   -- 579: push_literal(500)
      ops.PUSH_LITERAL, 18,    -- 581: push_literal(18)
      ops.PUSH_LITERAL, 136,   -- 583: push_literal(136)
      ops.PUSH_LITERAL, 31,    -- 585: push_literal(31)
      ops.INVOKE, 4,           -- 587: invoke(4)
      ops.POP,                 -- 589: pop
      ops.PUSH_LOCAL_FRAME,    -- 590: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 591: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 593: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 594: get_slot_direct(26)
      ops.PUSH_LITERAL, 501,   -- 596: push_literal(501)
      ops.PUSH_LITERAL, 18,    -- 598: push_literal(18)
      ops.PUSH_LITERAL, 136,   -- 600: push_literal(136)
      ops.PUSH_LITERAL, 31,    -- 602: push_literal(31)
      ops.INVOKE, 4,           -- 604: invoke(4)
      ops.POP,                 -- 606: pop
      ops.PUSH_LOCAL_FRAME,    -- 607: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 608: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 610: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 611: get_slot_direct(26)
      ops.PUSH_LITERAL, 502,   -- 613: push_literal(502)
      ops.PUSH_LITERAL, 18,    -- 615: push_literal(18)
      ops.PUSH_LITERAL, 136,   -- 617: push_literal(136)
      ops.PUSH_LITERAL, 31,    -- 619: push_literal(31)
      ops.INVOKE, 4,           -- 621: invoke(4)
      ops.POP,                 -- 623: pop
      ops.PUSH_LOCAL_FRAME,    -- 624: push_local_frame
      ops.GET_SLOT_DIRECT, 455,-- 625: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 627: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 628: get_slot_direct(26)
      ops.PUSH_LITERAL, 503,   -- 630: push_literal(503)
      ops.PUSH_LITERAL, 18,    -- 632: push_literal(18)
      ops.PUSH_LITERAL, 136,   -- 634: push_literal(136)
      ops.PUSH_LITERAL, 31,    -- 636: push_literal(31)
      ops.INVOKE, 4,           -- 638: invoke(4)
      ops.POP,                 -- 640: pop
      ops.NEW_OBJECT,          -- 641: new_object
      ops.DUP,                 -- 642: dup
      ops.PUSH_LITERAL, 450,   -- 643: push_literal(450)
      ops.SET_SLOT_DIRECT, 321,-- 645: set_slot_direct(321)
      ops.DUP,                 -- 647: dup
      ops.PUSH_FRAME,          -- 648: push_frame
      ops.GET_SLOT_DIRECT, 504,-- 649: get_slot_direct(504)
      ops.SET_SLOT_DIRECT, 323,-- 651: set_slot_direct(323)
      ops.DUP,                 -- 653: dup
      ops.NEW_ARRAY,           -- 654: new_array
      ops.SET_SLOT_DIRECT, 444,-- 655: set_slot_direct(444)
      ops.DUP,                 -- 657: dup
      ops.PUSH_LOCAL_FRAME,    -- 658: push_local_frame
      ops.GET_SLOT_DIRECT, 452,-- 659: get_slot_direct(452)
      ops.SET_SLOT_DIRECT, 324,-- 661: set_slot_direct(324)
      ops.DUP,                 -- 663: dup
      ops.NEW_FUNCTION, 129,   -- 664: new_function(129)
      ops.SET_SLOT_DIRECT, 505,-- 666: set_slot_direct(505)
      ops.DUP,                 -- 668: dup
      ops.NEW_FUNCTION, 130,   -- 669: new_function(130)
      ops.SET_SLOT_DIRECT, 506,-- 671: set_slot_direct(506)
      ops.RETURN               -- 673: return
    }
  },
  ifunc.Function:new{ -- "bc"
    name = jsval.newString("bc"),
    id = 122,
    nargs = 5,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 19, -- 8: set_slot_direct(19)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_FRAME,          -- 13: push_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 458,-- 15: set_slot_direct(458)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT, 136,-- 18: get_slot_direct(136)
      ops.PUSH_FRAME,          -- 20: push_frame
      ops.SWAP,                -- 21: swap
      ops.SET_SLOT_DIRECT, 459,-- 22: set_slot_direct(459)
      ops.DUP,                 -- 24: dup
      ops.GET_SLOT_DIRECT, 159,-- 25: get_slot_direct(159)
      ops.PUSH_FRAME,          -- 27: push_frame
      ops.SWAP,                -- 28: swap
      ops.SET_SLOT_DIRECT, 460,-- 29: set_slot_direct(460)
      ops.DUP,                 -- 31: dup
      ops.GET_SLOT_DIRECT, 162,-- 32: get_slot_direct(162)
      ops.PUSH_LOCAL_FRAME,    -- 34: push_local_frame
      ops.SWAP,                -- 35: swap
      ops.SET_SLOT_DIRECT, 461,-- 36: set_slot_direct(461)
      ops.POP,                 -- 38: pop
      ops.PUSH_LOCAL_FRAME,    -- 39: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 40: push_literal(0)
      ops.SET_SLOT_DIRECT, 462,-- 42: set_slot_direct(462)
      ops.PUSH_LOCAL_FRAME,    -- 44: push_local_frame
      ops.NEW_OBJECT,          -- 45: new_object
      ops.DUP,                 -- 46: dup
      ops.PUSH_FRAME,          -- 47: push_frame
      ops.GET_SLOT_DIRECT, 453,-- 48: get_slot_direct(453)
      ops.GET_SLOT_DIRECT, 55, -- 50: get_slot_direct(55)
      ops.SET_SLOT_DIRECT, 368,-- 52: set_slot_direct(368)
      ops.DUP,                 -- 54: dup
      ops.PUSH_LOCAL_FRAME,    -- 55: push_local_frame
      ops.GET_SLOT_DIRECT, 19, -- 56: get_slot_direct(19)
      ops.SET_SLOT_DIRECT, 19, -- 58: set_slot_direct(19)
      ops.DUP,                 -- 60: dup
      ops.PUSH_FRAME,          -- 61: push_frame
      ops.GET_SLOT_DIRECT, 458,-- 62: get_slot_direct(458)
      ops.SET_SLOT_DIRECT, 458,-- 64: set_slot_direct(458)
      ops.DUP,                 -- 66: dup
      ops.PUSH_FRAME,          -- 67: push_frame
      ops.GET_SLOT_DIRECT, 459,-- 68: get_slot_direct(459)
      ops.SET_SLOT_DIRECT, 459,-- 70: set_slot_direct(459)
      ops.DUP,                 -- 72: dup
      ops.PUSH_FRAME,          -- 73: push_frame
      ops.GET_SLOT_DIRECT, 460,-- 74: get_slot_direct(460)
      ops.SET_SLOT_DIRECT, 460,-- 76: set_slot_direct(460)
      ops.DUP,                 -- 78: dup
      ops.PUSH_LOCAL_FRAME,    -- 79: push_local_frame
      ops.GET_SLOT_DIRECT, 461,-- 80: get_slot_direct(461)
      ops.SET_SLOT_DIRECT, 461,-- 82: set_slot_direct(461)
      ops.SET_SLOT_DIRECT, 462,-- 84: set_slot_direct(462)
      ops.PUSH_LOCAL_FRAME,    -- 86: push_local_frame
      ops.GET_SLOT_DIRECT, 462,-- 87: get_slot_direct(462)
      ops.GET_SLOT_DIRECT, 459,-- 89: get_slot_direct(459)
      ops.UN_TYPEOF,           -- 91: un_typeof
      ops.PUSH_LITERAL, 25,    -- 92: push_literal(25)
      ops.BI_EQ,               -- 94: bi_eq
      ops.UN_NOT,              -- 95: un_not
      ops.JMP_UNLESS, 106, 106,-- 96: jmp_unless(106,106)
      ops.PUSH_LOCAL_FRAME,    -- 99: push_local_frame
      ops.GET_SLOT_DIRECT, 462,-- 100: get_slot_direct(462)
      ops.NEW_FUNCTION, 123,   -- 102: new_function(123)
      ops.SET_SLOT_DIRECT, 459,-- 104: set_slot_direct(459)
      ops.PHI,                 -- 106: phi
      ops.PUSH_LOCAL_FRAME,    -- 107: push_local_frame
      ops.GET_SLOT_DIRECT, 462,-- 108: get_slot_direct(462)
      ops.GET_SLOT_DIRECT, 460,-- 110: get_slot_direct(460)
      ops.UN_TYPEOF,           -- 112: un_typeof
      ops.PUSH_LITERAL, 25,    -- 113: push_literal(25)
      ops.BI_EQ,               -- 115: bi_eq
      ops.UN_NOT,              -- 116: un_not
      ops.JMP_UNLESS, 127, 127,-- 117: jmp_unless(127,127)
      ops.PUSH_LOCAL_FRAME,    -- 120: push_local_frame
      ops.GET_SLOT_DIRECT, 462,-- 121: get_slot_direct(462)
      ops.NEW_FUNCTION, 124,   -- 123: new_function(124)
      ops.SET_SLOT_DIRECT, 460,-- 125: set_slot_direct(460)
      ops.PHI,                 -- 127: phi
      ops.PUSH_LOCAL_FRAME,    -- 128: push_local_frame
      ops.GET_SLOT_DIRECT, 462,-- 129: get_slot_direct(462)
      ops.GET_SLOT_DIRECT, 461,-- 131: get_slot_direct(461)
      ops.UN_NOT,              -- 133: un_not
      ops.JMP_UNLESS, 144, 144,-- 134: jmp_unless(144,144)
      ops.PUSH_LOCAL_FRAME,    -- 137: push_local_frame
      ops.GET_SLOT_DIRECT, 462,-- 138: get_slot_direct(462)
      ops.NEW_FUNCTION, 125,   -- 140: new_function(125)
      ops.SET_SLOT_DIRECT, 461,-- 142: set_slot_direct(461)
      ops.PHI,                 -- 144: phi
      ops.PUSH_FRAME,          -- 145: push_frame
      ops.GET_SLOT_DIRECT, 453,-- 146: get_slot_direct(453)
      ops.PUSH_LOCAL_FRAME,    -- 148: push_local_frame
      ops.GET_SLOT_DIRECT, 462,-- 149: get_slot_direct(462)
      ops.GET_SLOT_DIRECT, 368,-- 151: get_slot_direct(368)
      ops.PUSH_LOCAL_FRAME,    -- 153: push_local_frame
      ops.GET_SLOT_DIRECT, 462,-- 154: get_slot_direct(462)
      ops.SET_SLOT_INDIRECT,   -- 156: set_slot_indirect
      ops.PUSH_FRAME,          -- 157: push_frame
      ops.GET_SLOT_DIRECT, 454,-- 158: get_slot_direct(454)
      ops.PUSH_LOCAL_FRAME,    -- 160: push_local_frame
      ops.GET_SLOT_DIRECT, 462,-- 161: get_slot_direct(462)
      ops.GET_SLOT_DIRECT, 19, -- 163: get_slot_direct(19)
      ops.PUSH_LOCAL_FRAME,    -- 165: push_local_frame
      ops.GET_SLOT_DIRECT, 462,-- 166: get_slot_direct(462)
      ops.SET_SLOT_INDIRECT,   -- 168: set_slot_indirect
      ops.PUSH_LITERAL, 0,     -- 169: push_literal(0)
      ops.RETURN               -- 171: return
    }
  },
  ifunc.Function:new{ -- ".stackpop"
    name = jsval.newString(".stackpop"),
    id = 123,
    nargs = 0,
    max_stack = 1,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.GET_SLOT_DIRECT, 459,-- 1: get_slot_direct(459)
      ops.RETURN               -- 3: return
    }
  },
  ifunc.Function:new{ -- ".stackpush"
    name = jsval.newString(".stackpush"),
    id = 124,
    nargs = 0,
    max_stack = 1,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.GET_SLOT_DIRECT, 460,-- 1: get_slot_direct(460)
      ops.RETURN               -- 3: return
    }
  },
  ifunc.Function:new{ -- ".printargs"
    name = jsval.newString(".printargs"),
    id = 125,
    nargs = 3,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 463,-- 15: set_slot_direct(463)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT, 136,-- 18: get_slot_direct(136)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.SWAP,                -- 21: swap
      ops.SET_SLOT_DIRECT, 464,-- 22: set_slot_direct(464)
      ops.POP,                 -- 24: pop
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 26: push_literal(0)
      ops.SET_SLOT_DIRECT, 75, -- 28: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 31: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 33: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 35: push_local_frame
      ops.PUSH_LITERAL, 66,    -- 36: push_literal(66)
      ops.SET_SLOT_DIRECT, 75, -- 38: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 40: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 41: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 43: set_slot_direct(53)
      ops.JMP_INTO_LOOP, 87, 102,-- 45: jmp_into_loop(87,102)
      ops.PUSH_LOCAL_FRAME,    -- 48: push_local_frame
      ops.DUP,                 -- 49: dup
      ops.GET_SLOT_DIRECT, 75, -- 50: get_slot_direct(75)
      ops.PUSH_LITERAL, 242,   -- 52: push_literal(242)
      ops.BI_ADD,              -- 54: bi_add
      ops.SET_SLOT_DIRECT, 75, -- 55: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 57: push_local_frame
      ops.DUP,                 -- 58: dup
      ops.GET_SLOT_DIRECT, 75, -- 59: get_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 61: push_local_frame
      ops.GET_SLOT_DIRECT, 463,-- 62: get_slot_direct(463)
      ops.PUSH_LOCAL_FRAME,    -- 64: push_local_frame
      ops.GET_SLOT_DIRECT, 464,-- 65: get_slot_direct(464)
      ops.PUSH_LOCAL_FRAME,    -- 67: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 68: get_slot_direct(53)
      ops.BI_ADD,              -- 70: bi_add
      ops.PUSH_LITERAL, 31,    -- 71: push_literal(31)
      ops.BI_ADD,              -- 73: bi_add
      ops.GET_SLOT_INDIRECT,   -- 74: get_slot_indirect
      ops.BI_ADD,              -- 75: bi_add
      ops.SET_SLOT_DIRECT, 75, -- 76: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 78: push_local_frame
      ops.DUP,                 -- 79: dup
      ops.GET_SLOT_DIRECT, 53, -- 80: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 82: push_literal(31)
      ops.BI_ADD,              -- 84: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 85: set_slot_direct(53)
      ops.PHI,                 -- 87: phi
      ops.PUSH_LOCAL_FRAME,    -- 88: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 89: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 91: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 92: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 458,-- 94: get_slot_direct(458)
      ops.SWAP,                -- 96: swap
      ops.BI_GT,               -- 97: bi_gt
      ops.UN_NOT,              -- 98: un_not
      ops.JMP_UNLESS, 48, 102, -- 99: jmp_unless(48,102)
      ops.PHI,                 -- 102: phi
      ops.PUSH_LOCAL_FRAME,    -- 103: push_local_frame
      ops.GET_SLOT_DIRECT, 75, -- 104: get_slot_direct(75)
      ops.RETURN               -- 106: return
    }
  },
  ifunc.Function:new{ -- "print_literal"
    name = jsval.newString("print_literal"),
    id = 126,
    nargs = 3,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 463,-- 15: set_slot_direct(463)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT, 136,-- 18: get_slot_direct(136)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.SWAP,                -- 21: swap
      ops.SET_SLOT_DIRECT, 464,-- 22: set_slot_direct(464)
      ops.POP,                 -- 24: pop
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 26: push_literal(0)
      ops.SET_SLOT_DIRECT, 465,-- 28: set_slot_direct(465)
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.GET_SLOT_DIRECT, 463,-- 32: get_slot_direct(463)
      ops.PUSH_LOCAL_FRAME,    -- 34: push_local_frame
      ops.GET_SLOT_DIRECT, 464,-- 35: get_slot_direct(464)
      ops.PUSH_LITERAL, 31,    -- 37: push_literal(31)
      ops.BI_ADD,              -- 39: bi_add
      ops.GET_SLOT_INDIRECT,   -- 40: get_slot_indirect
      ops.SET_SLOT_DIRECT, 465,-- 41: set_slot_direct(465)
      ops.PUSH_LITERAL, 242,   -- 43: push_literal(242)
      ops.PUSH_LOCAL_FRAME,    -- 45: push_local_frame
      ops.GET_SLOT_DIRECT, 465,-- 46: get_slot_direct(465)
      ops.BI_ADD,              -- 48: bi_add
      ops.PUSH_LITERAL, 466,   -- 49: push_literal(466)
      ops.BI_ADD,              -- 51: bi_add
      ops.PUSH_LOCAL_FRAME,    -- 52: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 53: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 467,-- 55: get_slot_direct(467)
      ops.PUSH_LOCAL_FRAME,    -- 57: push_local_frame
      ops.GET_SLOT_DIRECT, 465,-- 58: get_slot_direct(465)
      ops.GET_SLOT_INDIRECT,   -- 60: get_slot_indirect
      ops.BI_ADD,              -- 61: bi_add
      ops.PUSH_LITERAL, 468,   -- 62: push_literal(468)
      ops.BI_ADD,              -- 64: bi_add
      ops.RETURN               -- 65: return
    }
  },
  ifunc.Function:new{ -- "print_label"
    name = jsval.newString("print_label"),
    id = 127,
    nargs = 3,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 463,-- 15: set_slot_direct(463)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT, 136,-- 18: get_slot_direct(136)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.SWAP,                -- 21: swap
      ops.SET_SLOT_DIRECT, 464,-- 22: set_slot_direct(464)
      ops.POP,                 -- 24: pop
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 26: push_literal(0)
      ops.SET_SLOT_DIRECT, 75, -- 28: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 31: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 33: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 35: push_local_frame
      ops.PUSH_LITERAL, 66,    -- 36: push_literal(66)
      ops.SET_SLOT_DIRECT, 75, -- 38: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 40: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 41: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 43: set_slot_direct(53)
      ops.JMP_INTO_LOOP, 118, 133,-- 45: jmp_into_loop(118,133)
      ops.PUSH_LOCAL_FRAME,    -- 48: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 49: push_literal(0)
      ops.SET_SLOT_DIRECT, 469,-- 51: set_slot_direct(469)
      ops.PUSH_LOCAL_FRAME,    -- 53: push_local_frame
      ops.DUP,                 -- 54: dup
      ops.GET_SLOT_DIRECT, 75, -- 55: get_slot_direct(75)
      ops.PUSH_LITERAL, 242,   -- 57: push_literal(242)
      ops.BI_ADD,              -- 59: bi_add
      ops.SET_SLOT_DIRECT, 75, -- 60: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 62: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 63: push_local_frame
      ops.GET_SLOT_DIRECT, 463,-- 64: get_slot_direct(463)
      ops.PUSH_LOCAL_FRAME,    -- 66: push_local_frame
      ops.GET_SLOT_DIRECT, 464,-- 67: get_slot_direct(464)
      ops.PUSH_LITERAL, 31,    -- 69: push_literal(31)
      ops.BI_ADD,              -- 71: bi_add
      ops.PUSH_LOCAL_FRAME,    -- 72: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 73: get_slot_direct(53)
      ops.BI_ADD,              -- 75: bi_add
      ops.GET_SLOT_INDIRECT,   -- 76: get_slot_indirect
      ops.SET_SLOT_DIRECT, 469,-- 77: set_slot_direct(469)
      ops.PUSH_LOCAL_FRAME,    -- 79: push_local_frame
      ops.GET_SLOT_DIRECT, 469,-- 80: get_slot_direct(469)
      ops.UN_TYPEOF,           -- 82: un_typeof
      ops.PUSH_LITERAL, 86,    -- 83: push_literal(86)
      ops.BI_EQ,               -- 85: bi_eq
      ops.UN_NOT,              -- 86: un_not
      ops.JMP_UNLESS, 98, 98,  -- 87: jmp_unless(98,98)
      ops.PUSH_LOCAL_FRAME,    -- 90: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 91: push_local_frame
      ops.GET_SLOT_DIRECT, 469,-- 92: get_slot_direct(469)
      ops.GET_SLOT_DIRECT, 470,-- 94: get_slot_direct(470)
      ops.SET_SLOT_DIRECT, 469,-- 96: set_slot_direct(469)
      ops.PHI,                 -- 98: phi
      ops.PUSH_LOCAL_FRAME,    -- 99: push_local_frame
      ops.DUP,                 -- 100: dup
      ops.GET_SLOT_DIRECT, 75, -- 101: get_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 103: push_local_frame
      ops.GET_SLOT_DIRECT, 469,-- 104: get_slot_direct(469)
      ops.BI_ADD,              -- 106: bi_add
      ops.SET_SLOT_DIRECT, 75, -- 107: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 109: push_local_frame
      ops.DUP,                 -- 110: dup
      ops.GET_SLOT_DIRECT, 53, -- 111: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 113: push_literal(31)
      ops.BI_ADD,              -- 115: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 116: set_slot_direct(53)
      ops.PHI,                 -- 118: phi
      ops.PUSH_LOCAL_FRAME,    -- 119: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 120: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 122: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 123: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 458,-- 125: get_slot_direct(458)
      ops.SWAP,                -- 127: swap
      ops.BI_GT,               -- 128: bi_gt
      ops.UN_NOT,              -- 129: un_not
      ops.JMP_UNLESS, 48, 133, -- 130: jmp_unless(48,133)
      ops.PHI,                 -- 133: phi
      ops.PUSH_LOCAL_FRAME,    -- 134: push_local_frame
      ops.GET_SLOT_DIRECT, 75, -- 135: get_slot_direct(75)
      ops.RETURN               -- 137: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 128,
    nargs = 2,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 483,-- 8: set_slot_direct(483)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 484,-- 15: set_slot_direct(484)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.GET_SLOT_DIRECT, 484,-- 19: get_slot_direct(484)
      ops.PUSH_LITERAL, 136,   -- 21: push_literal(136)
      ops.BI_ADD,              -- 23: bi_add
      ops.RETURN               -- 24: return
    }
  },
  ifunc.Function:new{ -- "for_num:"
    name = jsval.newString("for_num:"),
    id = 129,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 23, -- 8: set_slot_direct(23)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.GET_SLOT_DIRECT, 453,-- 12: get_slot_direct(453)
      ops.PUSH_LOCAL_FRAME,    -- 14: push_local_frame
      ops.GET_SLOT_DIRECT, 23, -- 15: get_slot_direct(23)
      ops.GET_SLOT_INDIRECT,   -- 17: get_slot_indirect
      ops.RETURN               -- 18: return
    }
  },
  ifunc.Function:new{ -- "for_name:"
    name = jsval.newString("for_name:"),
    id = 130,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 19, -- 8: set_slot_direct(19)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.GET_SLOT_DIRECT, 454,-- 12: get_slot_direct(454)
      ops.PUSH_LOCAL_FRAME,    -- 14: push_local_frame
      ops.GET_SLOT_DIRECT, 19, -- 15: get_slot_direct(19)
      ops.GET_SLOT_INDIRECT,   -- 17: get_slot_indirect
      ops.RETURN               -- 18: return
    }
  },
  ifunc.Function:new{ -- "make_literal_map"
    name = jsval.newString("make_literal_map"),
    id = 131,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 509,-- 8: set_slot_direct(509)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 510,-- 14: set_slot_direct(510)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 511,-- 19: set_slot_direct(511)
      ops.PUSH_FRAME,          -- 21: push_frame
      ops.PUSH_FRAME,          -- 22: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 23: get_slot_direct(14)
      ops.GET_SLOT_DIRECT, 512,-- 25: get_slot_direct(512)
      ops.DUP,                 -- 27: dup
      ops.UN_NOT,              -- 28: un_not
      ops.JMP_UNLESS, 35, 35,  -- 29: jmp_unless(35,35)
      ops.POP,                 -- 32: pop
      ops.NEW_FUNCTION, 132,   -- 33: new_function(132)
      ops.PHI,                 -- 35: phi
      ops.SET_SLOT_DIRECT, 510,-- 36: set_slot_direct(510)
      ops.PUSH_LOCAL_FRAME,    -- 38: push_local_frame
      ops.NEW_FUNCTION, 133,   -- 39: new_function(133)
      ops.SET_SLOT_DIRECT, 511,-- 41: set_slot_direct(511)
      ops.PUSH_LOCAL_FRAME,    -- 43: push_local_frame
      ops.GET_SLOT_DIRECT, 511,-- 44: get_slot_direct(511)
      ops.NEW_OBJECT,          -- 46: new_object
      ops.DUP,                 -- 47: dup
      ops.PUSH_LOCAL_FRAME,    -- 48: push_local_frame
      ops.GET_SLOT_DIRECT, 511,-- 49: get_slot_direct(511)
      ops.SET_SLOT_DIRECT, 516,-- 51: set_slot_direct(516)
      ops.SET_SLOT_DIRECT, 11, -- 53: set_slot_direct(11)
      ops.PUSH_LOCAL_FRAME,    -- 55: push_local_frame
      ops.GET_SLOT_DIRECT, 511,-- 56: get_slot_direct(511)
      ops.GET_SLOT_DIRECT, 11, -- 58: get_slot_direct(11)
      ops.NEW_FUNCTION, 135,   -- 60: new_function(135)
      ops.SET_SLOT_DIRECT, 515,-- 62: set_slot_direct(515)
      ops.PUSH_LOCAL_FRAME,    -- 64: push_local_frame
      ops.GET_SLOT_DIRECT, 511,-- 65: get_slot_direct(511)
      ops.PUSH_LITERAL, 507,   -- 67: push_literal(507)
      ops.SET_SLOT_DIRECT, 321,-- 69: set_slot_direct(321)
      ops.PUSH_LOCAL_FRAME,    -- 71: push_local_frame
      ops.GET_SLOT_DIRECT, 511,-- 72: get_slot_direct(511)
      ops.PUSH_FRAME,          -- 74: push_frame
      ops.GET_SLOT_DIRECT, 519,-- 75: get_slot_direct(519)
      ops.SET_SLOT_DIRECT, 323,-- 77: set_slot_direct(323)
      ops.PUSH_LOCAL_FRAME,    -- 79: push_local_frame
      ops.GET_SLOT_DIRECT, 511,-- 80: get_slot_direct(511)
      ops.NEW_ARRAY,           -- 82: new_array
      ops.SET_SLOT_DIRECT, 444,-- 83: set_slot_direct(444)
      ops.PUSH_LOCAL_FRAME,    -- 85: push_local_frame
      ops.GET_SLOT_DIRECT, 511,-- 86: get_slot_direct(511)
      ops.PUSH_LOCAL_FRAME,    -- 88: push_local_frame
      ops.GET_SLOT_DIRECT, 509,-- 89: get_slot_direct(509)
      ops.SET_SLOT_DIRECT, 324,-- 91: set_slot_direct(324)
      ops.PUSH_LOCAL_FRAME,    -- 93: push_local_frame
      ops.GET_SLOT_DIRECT, 511,-- 94: get_slot_direct(511)
      ops.RETURN               -- 96: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 132,
    nargs = 2,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 296,-- 8: set_slot_direct(296)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 313,-- 15: set_slot_direct(313)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 19: get_slot_direct(296)
      ops.UN_TYPEOF,           -- 21: un_typeof
      ops.PUSH_LITERAL, 86,    -- 22: push_literal(86)
      ops.BI_EQ,               -- 24: bi_eq
      ops.DUP,                 -- 25: dup
      ops.JMP_UNLESS, 37, 37,  -- 26: jmp_unless(37,37)
      ops.POP,                 -- 29: pop
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.GET_SLOT_DIRECT, 313,-- 31: get_slot_direct(313)
      ops.UN_TYPEOF,           -- 33: un_typeof
      ops.PUSH_LITERAL, 86,    -- 34: push_literal(86)
      ops.BI_EQ,               -- 36: bi_eq
      ops.PHI,                 -- 37: phi
      ops.JMP_UNLESS, 98, 98,  -- 38: jmp_unless(98,98)
      ops.PUSH_LOCAL_FRAME,    -- 41: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 42: get_slot_direct(296)
      ops.PUSH_LOCAL_FRAME,    -- 44: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 45: get_slot_direct(296)
      ops.BI_EQ,               -- 47: bi_eq
      ops.UN_NOT,              -- 48: un_not
      ops.JMP_UNLESS, 61, 61,  -- 49: jmp_unless(61,61)
      ops.PUSH_LOCAL_FRAME,    -- 52: push_local_frame
      ops.GET_SLOT_DIRECT, 313,-- 53: get_slot_direct(313)
      ops.PUSH_LOCAL_FRAME,    -- 55: push_local_frame
      ops.GET_SLOT_DIRECT, 313,-- 56: get_slot_direct(313)
      ops.BI_EQ,               -- 58: bi_eq
      ops.UN_NOT,              -- 59: un_not
      ops.RETURN,              -- 60: return
      ops.PHI,                 -- 61: phi
      ops.PUSH_LOCAL_FRAME,    -- 62: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 63: get_slot_direct(296)
      ops.PUSH_LITERAL, 18,    -- 65: push_literal(18)
      ops.BI_EQ,               -- 67: bi_eq
      ops.JMP_UNLESS, 97, 97,  -- 68: jmp_unless(97,97)
      ops.PUSH_LOCAL_FRAME,    -- 71: push_local_frame
      ops.GET_SLOT_DIRECT, 313,-- 72: get_slot_direct(313)
      ops.PUSH_LITERAL, 18,    -- 74: push_literal(18)
      ops.BI_EQ,               -- 76: bi_eq
      ops.DUP,                 -- 77: dup
      ops.JMP_UNLESS, 95, 95,  -- 78: jmp_unless(95,95)
      ops.POP,                 -- 81: pop
      ops.PUSH_LITERAL, 31,    -- 82: push_literal(31)
      ops.PUSH_LOCAL_FRAME,    -- 84: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 85: get_slot_direct(296)
      ops.BI_DIV,              -- 87: bi_div
      ops.PUSH_LITERAL, 31,    -- 88: push_literal(31)
      ops.PUSH_LOCAL_FRAME,    -- 90: push_local_frame
      ops.GET_SLOT_DIRECT, 313,-- 91: get_slot_direct(313)
      ops.BI_DIV,              -- 93: bi_div
      ops.BI_EQ,               -- 94: bi_eq
      ops.PHI,                 -- 95: phi
      ops.RETURN,              -- 96: return
      ops.PHI,                 -- 97: phi
      ops.PHI,                 -- 98: phi
      ops.PUSH_LOCAL_FRAME,    -- 99: push_local_frame
      ops.GET_SLOT_DIRECT, 296,-- 100: get_slot_direct(296)
      ops.PUSH_LOCAL_FRAME,    -- 102: push_local_frame
      ops.GET_SLOT_DIRECT, 313,-- 103: get_slot_direct(313)
      ops.BI_EQ,               -- 105: bi_eq
      ops.RETURN               -- 106: return
    }
  },
  ifunc.Function:new{ -- "LiteralMap"
    name = jsval.newString("LiteralMap"),
    id = 133,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 513,-- 8: set_slot_direct(513)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 12: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 14: push_frame
      ops.GET_SLOT_DIRECT, 14, -- 15: get_slot_direct(14)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT_CHECK, 119,-- 18: get_slot_direct_check(119)
      ops.SWAP,                -- 20: swap
      ops.PUSH_LITERAL, 41,    -- 21: push_literal(41)
      ops.INVOKE, 1,           -- 23: invoke(1)
      ops.SET_SLOT_DIRECT, 98, -- 25: set_slot_direct(98)
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 28: get_slot_direct(26)
      ops.NEW_ARRAY,           -- 30: new_array
      ops.SET_SLOT_DIRECT, 514,-- 31: set_slot_direct(514)
      ops.PUSH_LOCAL_FRAME,    -- 33: push_local_frame
      ops.GET_SLOT_DIRECT, 513,-- 34: get_slot_direct(513)
      ops.PUSH_LITERAL, 0,     -- 36: push_literal(0)
      ops.BI_EQ,               -- 38: bi_eq
      ops.UN_NOT,              -- 39: un_not
      ops.JMP_UNLESS, 58, 58,  -- 40: jmp_unless(58,58)
      ops.PUSH_LOCAL_FRAME,    -- 43: push_local_frame
      ops.GET_SLOT_DIRECT, 513,-- 44: get_slot_direct(513)
      ops.DUP,                 -- 46: dup
      ops.GET_SLOT_DIRECT_CHECK, 94,-- 47: get_slot_direct_check(94)
      ops.SWAP,                -- 49: swap
      ops.NEW_FUNCTION, 134,   -- 50: new_function(134)
      ops.PUSH_LOCAL_FRAME,    -- 52: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 53: get_slot_direct(26)
      ops.INVOKE, 2,           -- 55: invoke(2)
      ops.POP,                 -- 57: pop
      ops.PHI,                 -- 58: phi
      ops.PUSH_LITERAL, 0,     -- 59: push_literal(0)
      ops.RETURN               -- 61: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 134,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 110,-- 8: set_slot_direct(110)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 12: get_slot_direct(26)
      ops.DUP,                 -- 14: dup
      ops.GET_SLOT_DIRECT_CHECK, 515,-- 15: get_slot_direct_check(515)
      ops.SWAP,                -- 17: swap
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 19: get_slot_direct(110)
      ops.INVOKE, 1,           -- 21: invoke(1)
      ops.POP,                 -- 23: pop
      ops.PUSH_LITERAL, 0,     -- 24: push_literal(0)
      ops.RETURN               -- 26: return
    }
  },
  ifunc.Function:new{ -- ".get"
    name = jsval.newString(".get"),
    id = 135,
    nargs = 1,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 184,-- 8: set_slot_direct(184)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 14: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 517,-- 19: set_slot_direct(517)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 22: push_literal(0)
      ops.SET_SLOT_DIRECT, 258,-- 24: set_slot_direct(258)
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 27: push_literal(0)
      ops.SET_SLOT_DIRECT, 518,-- 29: set_slot_direct(518)
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 32: push_local_frame
      ops.GET_SLOT_DIRECT, 184,-- 33: get_slot_direct(184)
      ops.UN_TYPEOF,           -- 35: un_typeof
      ops.PUSH_LITERAL, 241,   -- 36: push_literal(241)
      ops.BI_ADD,              -- 38: bi_add
      ops.PUSH_LOCAL_FRAME,    -- 39: push_local_frame
      ops.GET_SLOT_DIRECT, 184,-- 40: get_slot_direct(184)
      ops.BI_ADD,              -- 42: bi_add
      ops.SET_SLOT_DIRECT, 258,-- 43: set_slot_direct(258)
      ops.PUSH_LOCAL_FRAME,    -- 45: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 46: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 47: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 98, -- 49: get_slot_direct(98)
      ops.PUSH_LOCAL_FRAME,    -- 51: push_local_frame
      ops.GET_SLOT_DIRECT, 258,-- 52: get_slot_direct(258)
      ops.GET_SLOT_INDIRECT,   -- 54: get_slot_indirect
      ops.SET_SLOT_DIRECT, 518,-- 55: set_slot_direct(518)
      ops.PUSH_LOCAL_FRAME,    -- 57: push_local_frame
      ops.GET_SLOT_DIRECT, 518,-- 58: get_slot_direct(518)
      ops.PUSH_LITERAL, 0,     -- 60: push_literal(0)
      ops.BI_EQ,               -- 62: bi_eq
      ops.UN_NOT,              -- 63: un_not
      ops.JMP_UNLESS, 140, 156,-- 64: jmp_unless(140,156)
      ops.PUSH_LOCAL_FRAME,    -- 67: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 68: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 70: set_slot_direct(53)
      ops.JMP_INTO_LOOP, 122, 137,-- 72: jmp_into_loop(122,137)
      ops.PUSH_LOCAL_FRAME,    -- 75: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 76: push_local_frame
      ops.GET_SLOT_DIRECT, 518,-- 77: get_slot_direct(518)
      ops.PUSH_LOCAL_FRAME,    -- 79: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 80: get_slot_direct(53)
      ops.GET_SLOT_INDIRECT,   -- 82: get_slot_indirect
      ops.SET_SLOT_DIRECT, 517,-- 83: set_slot_direct(517)
      ops.PUSH_FRAME,          -- 85: push_frame
      ops.GET_SLOT_DIRECT, 510,-- 86: get_slot_direct(510)
      ops.PUSH_LOCAL_FRAME,    -- 88: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 89: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 91: push_local_frame
      ops.GET_SLOT_DIRECT, 517,-- 92: get_slot_direct(517)
      ops.PUSH_LITERAL, 18,    -- 94: push_literal(18)
      ops.GET_SLOT_INDIRECT,   -- 96: get_slot_indirect
      ops.PUSH_LOCAL_FRAME,    -- 97: push_local_frame
      ops.GET_SLOT_DIRECT, 184,-- 98: get_slot_direct(184)
      ops.INVOKE, 2,           -- 100: invoke(2)
      ops.JMP_UNLESS, 112, 112,-- 102: jmp_unless(112,112)
      ops.PUSH_LOCAL_FRAME,    -- 105: push_local_frame
      ops.GET_SLOT_DIRECT, 517,-- 106: get_slot_direct(517)
      ops.PUSH_LITERAL, 31,    -- 108: push_literal(31)
      ops.GET_SLOT_INDIRECT,   -- 110: get_slot_indirect
      ops.RETURN,              -- 111: return
      ops.PHI,                 -- 112: phi
      ops.PUSH_LOCAL_FRAME,    -- 113: push_local_frame
      ops.DUP,                 -- 114: dup
      ops.GET_SLOT_DIRECT, 53, -- 115: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 117: push_literal(31)
      ops.BI_ADD,              -- 119: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 120: set_slot_direct(53)
      ops.PHI,                 -- 122: phi
      ops.PUSH_LOCAL_FRAME,    -- 123: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 124: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 126: push_local_frame
      ops.GET_SLOT_DIRECT, 518,-- 127: get_slot_direct(518)
      ops.GET_SLOT_DIRECT, 55, -- 129: get_slot_direct(55)
      ops.SWAP,                -- 131: swap
      ops.BI_GT,               -- 132: bi_gt
      ops.UN_NOT,              -- 133: un_not
      ops.JMP_UNLESS, 75, 137, -- 134: jmp_unless(75,137)
      ops.PHI,                 -- 137: phi
      ops.JMP, 156,            -- 138: jmp(156)
      ops.PUSH_LOCAL_FRAME,    -- 140: push_local_frame
      ops.NEW_ARRAY,           -- 141: new_array
      ops.SET_SLOT_DIRECT, 518,-- 142: set_slot_direct(518)
      ops.PUSH_LOCAL_FRAME,    -- 144: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 145: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 98, -- 147: get_slot_direct(98)
      ops.PUSH_LOCAL_FRAME,    -- 149: push_local_frame
      ops.GET_SLOT_DIRECT, 258,-- 150: get_slot_direct(258)
      ops.PUSH_LOCAL_FRAME,    -- 152: push_local_frame
      ops.GET_SLOT_DIRECT, 518,-- 153: get_slot_direct(518)
      ops.SET_SLOT_INDIRECT,   -- 155: set_slot_indirect
      ops.PHI,                 -- 156: phi
      ops.PUSH_LOCAL_FRAME,    -- 157: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 158: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 159: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 514,-- 161: get_slot_direct(514)
      ops.GET_SLOT_DIRECT, 55, -- 163: get_slot_direct(55)
      ops.SET_SLOT_DIRECT, 53, -- 165: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 167: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 168: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 514,-- 170: get_slot_direct(514)
      ops.PUSH_LOCAL_FRAME,    -- 172: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 173: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 175: push_local_frame
      ops.GET_SLOT_DIRECT, 184,-- 176: get_slot_direct(184)
      ops.SET_SLOT_INDIRECT,   -- 178: set_slot_indirect
      ops.PUSH_LOCAL_FRAME,    -- 179: push_local_frame
      ops.GET_SLOT_DIRECT, 518,-- 180: get_slot_direct(518)
      ops.DUP,                 -- 182: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 183: get_slot_direct_check(69)
      ops.SWAP,                -- 185: swap
      ops.NEW_ARRAY,           -- 186: new_array
      ops.DUP,                 -- 187: dup
      ops.PUSH_LOCAL_FRAME,    -- 188: push_local_frame
      ops.GET_SLOT_DIRECT, 184,-- 189: get_slot_direct(184)
      ops.SET_SLOT_DIRECT, 18, -- 191: set_slot_direct(18)
      ops.DUP,                 -- 193: dup
      ops.PUSH_LOCAL_FRAME,    -- 194: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 195: get_slot_direct(53)
      ops.SET_SLOT_DIRECT, 31, -- 197: set_slot_direct(31)
      ops.INVOKE, 1,           -- 199: invoke(1)
      ops.POP,                 -- 201: pop
      ops.PUSH_LOCAL_FRAME,    -- 202: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 203: get_slot_direct(53)
      ops.RETURN               -- 205: return
    }
  },
  ifunc.Function:new{ -- "make_bcompile"
    name = jsval.newString("make_bcompile"),
    id = 136,
    nargs = 3,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 522,-- 8: set_slot_direct(522)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_FRAME,          -- 13: push_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 523,-- 15: set_slot_direct(523)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT, 136,-- 18: get_slot_direct(136)
      ops.PUSH_FRAME,          -- 20: push_frame
      ops.SWAP,                -- 21: swap
      ops.SET_SLOT_DIRECT, 511,-- 22: set_slot_direct(511)
      ops.POP,                 -- 24: pop
      ops.PUSH_FRAME,          -- 25: push_frame
      ops.PUSH_LITERAL, 0,     -- 26: push_literal(0)
      ops.SET_SLOT_DIRECT, 524,-- 28: set_slot_direct(524)
      ops.PUSH_FRAME,          -- 30: push_frame
      ops.PUSH_LITERAL, 0,     -- 31: push_literal(0)
      ops.SET_SLOT_DIRECT, 525,-- 33: set_slot_direct(525)
      ops.PUSH_FRAME,          -- 35: push_frame
      ops.PUSH_LITERAL, 0,     -- 36: push_literal(0)
      ops.SET_SLOT_DIRECT, 526,-- 38: set_slot_direct(526)
      ops.PUSH_FRAME,          -- 40: push_frame
      ops.PUSH_LITERAL, 0,     -- 41: push_literal(0)
      ops.SET_SLOT_DIRECT, 389,-- 43: set_slot_direct(389)
      ops.PUSH_FRAME,          -- 45: push_frame
      ops.PUSH_LITERAL, 0,     -- 46: push_literal(0)
      ops.SET_SLOT_DIRECT, 386,-- 48: set_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 50: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 51: push_literal(0)
      ops.SET_SLOT_DIRECT, 347,-- 53: set_slot_direct(347)
      ops.PUSH_FRAME,          -- 55: push_frame
      ops.PUSH_LITERAL, 0,     -- 56: push_literal(0)
      ops.SET_SLOT_DIRECT, 400,-- 58: set_slot_direct(400)
      ops.PUSH_LOCAL_FRAME,    -- 60: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 61: push_literal(0)
      ops.SET_SLOT_DIRECT, 348,-- 63: set_slot_direct(348)
      ops.PUSH_LOCAL_FRAME,    -- 65: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 66: push_literal(0)
      ops.SET_SLOT_DIRECT, 520,-- 68: set_slot_direct(520)
      ops.PUSH_FRAME,          -- 70: push_frame
      ops.NEW_FUNCTION, 137,   -- 71: new_function(137)
      ops.SET_SLOT_DIRECT, 524,-- 73: set_slot_direct(524)
      ops.PUSH_FRAME,          -- 75: push_frame
      ops.NEW_OBJECT,          -- 76: new_object
      ops.SET_SLOT_DIRECT, 525,-- 77: set_slot_direct(525)
      ops.PUSH_FRAME,          -- 79: push_frame
      ops.NEW_FUNCTION, 138,   -- 80: new_function(138)
      ops.SET_SLOT_DIRECT, 526,-- 82: set_slot_direct(526)
      ops.PUSH_FRAME,          -- 84: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 85: get_slot_direct(525)
      ops.NEW_FUNCTION, 156,   -- 87: new_function(156)
      ops.SET_SLOT_DIRECT, 19, -- 89: set_slot_direct(19)
      ops.PUSH_FRAME,          -- 91: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 92: get_slot_direct(525)
      ops.NEW_FUNCTION, 157,   -- 94: new_function(157)
      ops.SET_SLOT_DIRECT, 374,-- 96: set_slot_direct(374)
      ops.PUSH_FRAME,          -- 98: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 99: get_slot_direct(525)
      ops.NEW_FUNCTION, 158,   -- 101: new_function(158)
      ops.SET_SLOT_DIRECT, 389,-- 103: set_slot_direct(389)
      ops.PUSH_FRAME,          -- 105: push_frame
      ops.NEW_FUNCTION, 159,   -- 106: new_function(159)
      ops.SET_SLOT_DIRECT, 389,-- 108: set_slot_direct(389)
      ops.PUSH_FRAME,          -- 110: push_frame
      ops.GET_SLOT_DIRECT, 389,-- 111: get_slot_direct(389)
      ops.PUSH_LOCAL_FRAME,    -- 113: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 114: get_slot_direct(26)
      ops.PUSH_LITERAL, 419,   -- 116: push_literal(419)
      ops.PUSH_LITERAL, 494,   -- 118: push_literal(494)
      ops.INVOKE, 2,           -- 120: invoke(2)
      ops.POP,                 -- 122: pop
      ops.PUSH_FRAME,          -- 123: push_frame
      ops.GET_SLOT_DIRECT, 389,-- 124: get_slot_direct(389)
      ops.PUSH_LOCAL_FRAME,    -- 126: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 127: get_slot_direct(26)
      ops.PUSH_LITERAL, 141,   -- 129: push_literal(141)
      ops.PUSH_LITERAL, 495,   -- 131: push_literal(495)
      ops.INVOKE, 2,           -- 133: invoke(2)
      ops.POP,                 -- 135: pop
      ops.PUSH_FRAME,          -- 136: push_frame
      ops.GET_SLOT_DIRECT, 389,-- 137: get_slot_direct(389)
      ops.PUSH_LOCAL_FRAME,    -- 139: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 140: get_slot_direct(26)
      ops.PUSH_LITERAL, 420,   -- 142: push_literal(420)
      ops.PUSH_LITERAL, 496,   -- 144: push_literal(496)
      ops.INVOKE, 2,           -- 146: invoke(2)
      ops.POP,                 -- 148: pop
      ops.PUSH_FRAME,          -- 149: push_frame
      ops.GET_SLOT_DIRECT, 389,-- 150: get_slot_direct(389)
      ops.PUSH_LOCAL_FRAME,    -- 152: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 153: get_slot_direct(26)
      ops.PUSH_LITERAL, 254,   -- 155: push_literal(254)
      ops.NEW_FUNCTION, 161,   -- 157: new_function(161)
      ops.INVOKE, 2,           -- 159: invoke(2)
      ops.POP,                 -- 161: pop
      ops.PUSH_FRAME,          -- 162: push_frame
      ops.GET_SLOT_DIRECT, 389,-- 163: get_slot_direct(389)
      ops.PUSH_LOCAL_FRAME,    -- 165: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 166: get_slot_direct(26)
      ops.PUSH_LITERAL, 244,   -- 168: push_literal(244)
      ops.NEW_FUNCTION, 163,   -- 170: new_function(163)
      ops.INVOKE, 2,           -- 172: invoke(2)
      ops.POP,                 -- 174: pop
      ops.PUSH_FRAME,          -- 175: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 176: get_slot_direct(525)
      ops.NEW_FUNCTION, 165,   -- 178: new_function(165)
      ops.SET_SLOT_DIRECT, 386,-- 180: set_slot_direct(386)
      ops.PUSH_FRAME,          -- 182: push_frame
      ops.NEW_FUNCTION, 166,   -- 183: new_function(166)
      ops.SET_SLOT_DIRECT, 386,-- 185: set_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 187: push_local_frame
      ops.NEW_FUNCTION, 168,   -- 188: new_function(168)
      ops.SET_SLOT_DIRECT, 347,-- 190: set_slot_direct(347)
      ops.PUSH_FRAME,          -- 192: push_frame
      ops.GET_SLOT_DIRECT, 386,-- 193: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 195: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 196: get_slot_direct(26)
      ops.PUSH_LITERAL, 392,   -- 198: push_literal(392)
      ops.PUSH_LOCAL_FRAME,    -- 200: push_local_frame
      ops.GET_SLOT_DIRECT, 347,-- 201: get_slot_direct(347)
      ops.PUSH_LOCAL_FRAME,    -- 203: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 204: get_slot_direct(26)
      ops.PUSH_LITERAL, 41,    -- 206: push_literal(41)
      ops.INVOKE, 1,           -- 208: invoke(1)
      ops.INVOKE, 2,           -- 210: invoke(2)
      ops.POP,                 -- 212: pop
      ops.PUSH_FRAME,          -- 213: push_frame
      ops.GET_SLOT_DIRECT, 386,-- 214: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 216: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 217: get_slot_direct(26)
      ops.PUSH_LITERAL, 393,   -- 219: push_literal(393)
      ops.PUSH_LOCAL_FRAME,    -- 221: push_local_frame
      ops.GET_SLOT_DIRECT, 347,-- 222: get_slot_direct(347)
      ops.PUSH_LOCAL_FRAME,    -- 224: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 225: get_slot_direct(26)
      ops.PUSH_LITERAL, 500,   -- 227: push_literal(500)
      ops.INVOKE, 1,           -- 229: invoke(1)
      ops.INVOKE, 2,           -- 231: invoke(2)
      ops.POP,                 -- 233: pop
      ops.PUSH_FRAME,          -- 234: push_frame
      ops.GET_SLOT_DIRECT, 386,-- 235: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 237: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 238: get_slot_direct(26)
      ops.PUSH_LITERAL, 394,   -- 240: push_literal(394)
      ops.PUSH_LOCAL_FRAME,    -- 242: push_local_frame
      ops.GET_SLOT_DIRECT, 347,-- 243: get_slot_direct(347)
      ops.PUSH_LOCAL_FRAME,    -- 245: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 246: get_slot_direct(26)
      ops.PUSH_LITERAL, 501,   -- 248: push_literal(501)
      ops.INVOKE, 1,           -- 250: invoke(1)
      ops.INVOKE, 2,           -- 252: invoke(2)
      ops.POP,                 -- 254: pop
      ops.PUSH_FRAME,          -- 255: push_frame
      ops.GET_SLOT_DIRECT, 386,-- 256: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 258: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 259: get_slot_direct(26)
      ops.PUSH_LITERAL, 395,   -- 261: push_literal(395)
      ops.PUSH_LOCAL_FRAME,    -- 263: push_local_frame
      ops.GET_SLOT_DIRECT, 347,-- 264: get_slot_direct(347)
      ops.PUSH_LOCAL_FRAME,    -- 266: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 267: get_slot_direct(26)
      ops.PUSH_LITERAL, 502,   -- 269: push_literal(502)
      ops.INVOKE, 1,           -- 271: invoke(1)
      ops.INVOKE, 2,           -- 273: invoke(2)
      ops.POP,                 -- 275: pop
      ops.PUSH_FRAME,          -- 276: push_frame
      ops.GET_SLOT_DIRECT, 386,-- 277: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 279: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 280: get_slot_direct(26)
      ops.PUSH_LITERAL, 396,   -- 282: push_literal(396)
      ops.PUSH_LOCAL_FRAME,    -- 284: push_local_frame
      ops.GET_SLOT_DIRECT, 347,-- 285: get_slot_direct(347)
      ops.PUSH_LOCAL_FRAME,    -- 287: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 288: get_slot_direct(26)
      ops.PUSH_LITERAL, 503,   -- 290: push_literal(503)
      ops.INVOKE, 1,           -- 292: invoke(1)
      ops.INVOKE, 2,           -- 294: invoke(2)
      ops.POP,                 -- 296: pop
      ops.PUSH_FRAME,          -- 297: push_frame
      ops.GET_SLOT_DIRECT, 386,-- 298: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 300: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 301: get_slot_direct(26)
      ops.PUSH_LITERAL, 401,   -- 303: push_literal(401)
      ops.NEW_FUNCTION, 170,   -- 305: new_function(170)
      ops.INVOKE, 2,           -- 307: invoke(2)
      ops.POP,                 -- 309: pop
      ops.PUSH_FRAME,          -- 310: push_frame
      ops.GET_SLOT_DIRECT, 386,-- 311: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 313: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 314: get_slot_direct(26)
      ops.PUSH_LITERAL, 403,   -- 316: push_literal(403)
      ops.NEW_FUNCTION, 171,   -- 318: new_function(171)
      ops.INVOKE, 2,           -- 320: invoke(2)
      ops.POP,                 -- 322: pop
      ops.PUSH_FRAME,          -- 323: push_frame
      ops.GET_SLOT_DIRECT, 386,-- 324: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 326: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 327: get_slot_direct(26)
      ops.PUSH_LITERAL, 405,   -- 329: push_literal(405)
      ops.PUSH_LITERAL, 497,   -- 331: push_literal(497)
      ops.INVOKE, 2,           -- 333: invoke(2)
      ops.POP,                 -- 335: pop
      ops.PUSH_FRAME,          -- 336: push_frame
      ops.GET_SLOT_DIRECT, 386,-- 337: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 339: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 340: get_slot_direct(26)
      ops.PUSH_LITERAL, 407,   -- 342: push_literal(407)
      ops.NEW_FUNCTION, 172,   -- 344: new_function(172)
      ops.INVOKE, 2,           -- 346: invoke(2)
      ops.POP,                 -- 348: pop
      ops.PUSH_FRAME,          -- 349: push_frame
      ops.GET_SLOT_DIRECT, 386,-- 350: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 352: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 353: get_slot_direct(26)
      ops.PUSH_LITERAL, 408,   -- 355: push_literal(408)
      ops.PUSH_LITERAL, 498,   -- 357: push_literal(498)
      ops.PUSH_LITERAL, 31,    -- 359: push_literal(31)
      ops.INVOKE, 3,           -- 361: invoke(3)
      ops.POP,                 -- 363: pop
      ops.PUSH_FRAME,          -- 364: push_frame
      ops.GET_SLOT_DIRECT, 386,-- 365: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 367: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 368: get_slot_direct(26)
      ops.PUSH_LITERAL, 410,   -- 370: push_literal(410)
      ops.PUSH_LITERAL, 499,   -- 372: push_literal(499)
      ops.PUSH_LITERAL, 31,    -- 374: push_literal(31)
      ops.INVOKE, 3,           -- 376: invoke(3)
      ops.POP,                 -- 378: pop
      ops.PUSH_FRAME,          -- 379: push_frame
      ops.GET_SLOT_DIRECT, 386,-- 380: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 382: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 383: get_slot_direct(26)
      ops.PUSH_LITERAL, 411,   -- 385: push_literal(411)
      ops.PUSH_LITERAL, 498,   -- 387: push_literal(498)
      ops.INVOKE, 2,           -- 389: invoke(2)
      ops.POP,                 -- 391: pop
      ops.PUSH_FRAME,          -- 392: push_frame
      ops.GET_SLOT_DIRECT, 386,-- 393: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 395: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 396: get_slot_direct(26)
      ops.PUSH_LITERAL, 412,   -- 398: push_literal(412)
      ops.PUSH_LITERAL, 499,   -- 400: push_literal(499)
      ops.INVOKE, 2,           -- 402: invoke(2)
      ops.POP,                 -- 404: pop
      ops.PUSH_FRAME,          -- 405: push_frame
      ops.GET_SLOT_DIRECT, 386,-- 406: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 408: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 409: get_slot_direct(26)
      ops.PUSH_LITERAL, 304,   -- 411: push_literal(304)
      ops.PUSH_LITERAL, 500,   -- 413: push_literal(500)
      ops.INVOKE, 2,           -- 415: invoke(2)
      ops.POP,                 -- 417: pop
      ops.PUSH_FRAME,          -- 418: push_frame
      ops.GET_SLOT_DIRECT, 386,-- 419: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 421: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 422: get_slot_direct(26)
      ops.PUSH_LITERAL, 141,   -- 424: push_literal(141)
      ops.PUSH_LITERAL, 501,   -- 426: push_literal(501)
      ops.INVOKE, 2,           -- 428: invoke(2)
      ops.POP,                 -- 430: pop
      ops.PUSH_FRAME,          -- 431: push_frame
      ops.GET_SLOT_DIRECT, 386,-- 432: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 434: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 435: get_slot_direct(26)
      ops.PUSH_LITERAL, 319,   -- 437: push_literal(319)
      ops.PUSH_LITERAL, 502,   -- 439: push_literal(502)
      ops.INVOKE, 2,           -- 441: invoke(2)
      ops.POP,                 -- 443: pop
      ops.PUSH_FRAME,          -- 444: push_frame
      ops.GET_SLOT_DIRECT, 386,-- 445: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 447: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 448: get_slot_direct(26)
      ops.PUSH_LITERAL, 318,   -- 450: push_literal(318)
      ops.PUSH_LITERAL, 503,   -- 452: push_literal(503)
      ops.INVOKE, 2,           -- 454: invoke(2)
      ops.POP,                 -- 456: pop
      ops.PUSH_FRAME,          -- 457: push_frame
      ops.GET_SLOT_DIRECT, 386,-- 458: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 460: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 461: get_slot_direct(26)
      ops.PUSH_LITERAL, 149,   -- 463: push_literal(149)
      ops.NEW_FUNCTION, 173,   -- 465: new_function(173)
      ops.INVOKE, 2,           -- 467: invoke(2)
      ops.POP,                 -- 469: pop
      ops.PUSH_FRAME,          -- 470: push_frame
      ops.GET_SLOT_DIRECT, 386,-- 471: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 473: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 474: get_slot_direct(26)
      ops.PUSH_LITERAL, 254,   -- 476: push_literal(254)
      ops.NEW_FUNCTION, 174,   -- 478: new_function(174)
      ops.INVOKE, 2,           -- 480: invoke(2)
      ops.POP,                 -- 482: pop
      ops.PUSH_FRAME,          -- 483: push_frame
      ops.GET_SLOT_DIRECT, 386,-- 484: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 486: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 487: get_slot_direct(26)
      ops.PUSH_LITERAL, 378,   -- 489: push_literal(378)
      ops.NEW_FUNCTION, 175,   -- 491: new_function(175)
      ops.INVOKE, 2,           -- 493: invoke(2)
      ops.POP,                 -- 495: pop
      ops.PUSH_FRAME,          -- 496: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 497: get_slot_direct(525)
      ops.NEW_FUNCTION, 177,   -- 499: new_function(177)
      ops.SET_SLOT_DIRECT, 400,-- 501: set_slot_direct(400)
      ops.PUSH_FRAME,          -- 503: push_frame
      ops.NEW_FUNCTION, 178,   -- 504: new_function(178)
      ops.SET_SLOT_DIRECT, 400,-- 506: set_slot_direct(400)
      ops.PUSH_FRAME,          -- 508: push_frame
      ops.GET_SLOT_DIRECT, 400,-- 509: get_slot_direct(400)
      ops.PUSH_LOCAL_FRAME,    -- 511: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 512: get_slot_direct(26)
      ops.PUSH_LITERAL, 397,   -- 514: push_literal(397)
      ops.NEW_FUNCTION, 179,   -- 516: new_function(179)
      ops.INVOKE, 2,           -- 518: invoke(2)
      ops.POP,                 -- 520: pop
      ops.PUSH_FRAME,          -- 521: push_frame
      ops.GET_SLOT_DIRECT, 400,-- 522: get_slot_direct(400)
      ops.PUSH_LOCAL_FRAME,    -- 524: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 525: get_slot_direct(26)
      ops.PUSH_LITERAL, 378,   -- 527: push_literal(378)
      ops.NEW_FUNCTION, 180,   -- 529: new_function(180)
      ops.INVOKE, 2,           -- 531: invoke(2)
      ops.POP,                 -- 533: pop
      ops.PUSH_FRAME,          -- 534: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 535: get_slot_direct(525)
      ops.NEW_FUNCTION, 182,   -- 537: new_function(182)
      ops.SET_SLOT_DIRECT, 339,-- 539: set_slot_direct(339)
      ops.PUSH_LOCAL_FRAME,    -- 541: push_local_frame
      ops.NEW_FUNCTION, 183,   -- 542: new_function(183)
      ops.SET_SLOT_DIRECT, 348,-- 544: set_slot_direct(348)
      ops.PUSH_LOCAL_FRAME,    -- 546: push_local_frame
      ops.GET_SLOT_DIRECT, 348,-- 547: get_slot_direct(348)
      ops.PUSH_LOCAL_FRAME,    -- 549: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 550: get_slot_direct(26)
      ops.PUSH_LITERAL, 91,    -- 552: push_literal(91)
      ops.NEW_FUNCTION, 184,   -- 554: new_function(184)
      ops.INVOKE, 2,           -- 556: invoke(2)
      ops.POP,                 -- 558: pop
      ops.PUSH_LOCAL_FRAME,    -- 559: push_local_frame
      ops.GET_SLOT_DIRECT, 348,-- 560: get_slot_direct(348)
      ops.PUSH_LOCAL_FRAME,    -- 562: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 563: get_slot_direct(26)
      ops.PUSH_LITERAL, 382,   -- 565: push_literal(382)
      ops.NEW_FUNCTION, 186,   -- 567: new_function(186)
      ops.INVOKE, 2,           -- 569: invoke(2)
      ops.POP,                 -- 571: pop
      ops.PUSH_LOCAL_FRAME,    -- 572: push_local_frame
      ops.GET_SLOT_DIRECT, 348,-- 573: get_slot_direct(348)
      ops.PUSH_LOCAL_FRAME,    -- 575: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 576: get_slot_direct(26)
      ops.PUSH_LITERAL, 426,   -- 578: push_literal(426)
      ops.NEW_FUNCTION, 187,   -- 580: new_function(187)
      ops.INVOKE, 2,           -- 582: invoke(2)
      ops.POP,                 -- 584: pop
      ops.PUSH_LOCAL_FRAME,    -- 585: push_local_frame
      ops.GET_SLOT_DIRECT, 348,-- 586: get_slot_direct(348)
      ops.PUSH_LOCAL_FRAME,    -- 588: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 589: get_slot_direct(26)
      ops.PUSH_LITERAL, 427,   -- 591: push_literal(427)
      ops.NEW_FUNCTION, 188,   -- 593: new_function(188)
      ops.INVOKE, 2,           -- 595: invoke(2)
      ops.POP,                 -- 597: pop
      ops.PUSH_LOCAL_FRAME,    -- 598: push_local_frame
      ops.GET_SLOT_DIRECT, 348,-- 599: get_slot_direct(348)
      ops.PUSH_LOCAL_FRAME,    -- 601: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 602: get_slot_direct(26)
      ops.PUSH_LITERAL, 429,   -- 604: push_literal(429)
      ops.NEW_FUNCTION, 189,   -- 606: new_function(189)
      ops.INVOKE, 2,           -- 608: invoke(2)
      ops.POP,                 -- 610: pop
      ops.PUSH_LOCAL_FRAME,    -- 611: push_local_frame
      ops.GET_SLOT_DIRECT, 348,-- 612: get_slot_direct(348)
      ops.PUSH_LOCAL_FRAME,    -- 614: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 615: get_slot_direct(26)
      ops.PUSH_LITERAL, 185,   -- 617: push_literal(185)
      ops.NEW_FUNCTION, 190,   -- 619: new_function(190)
      ops.INVOKE, 2,           -- 621: invoke(2)
      ops.POP,                 -- 623: pop
      ops.PUSH_FRAME,          -- 624: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 625: get_slot_direct(525)
      ops.PUSH_LITERAL, 26,    -- 627: push_literal(26)
      ops.NEW_FUNCTION, 191,   -- 629: new_function(191)
      ops.SET_SLOT_INDIRECT,   -- 631: set_slot_indirect
      ops.PUSH_FRAME,          -- 632: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 633: get_slot_direct(525)
      ops.PUSH_LITERAL, 25,    -- 635: push_literal(25)
      ops.NEW_FUNCTION, 192,   -- 637: new_function(192)
      ops.SET_SLOT_INDIRECT,   -- 639: set_slot_indirect
      ops.PUSH_LOCAL_FRAME,    -- 640: push_local_frame
      ops.NEW_FUNCTION, 194,   -- 641: new_function(194)
      ops.SET_SLOT_DIRECT, 520,-- 643: set_slot_direct(520)
      ops.PUSH_LOCAL_FRAME,    -- 645: push_local_frame
      ops.GET_SLOT_DIRECT, 520,-- 646: get_slot_direct(520)
      ops.PUSH_LITERAL, 520,   -- 648: push_literal(520)
      ops.SET_SLOT_DIRECT, 321,-- 650: set_slot_direct(321)
      ops.PUSH_LOCAL_FRAME,    -- 652: push_local_frame
      ops.GET_SLOT_DIRECT, 520,-- 653: get_slot_direct(520)
      ops.PUSH_FRAME,          -- 655: push_frame
      ops.GET_SLOT_DIRECT, 585,-- 656: get_slot_direct(585)
      ops.SET_SLOT_DIRECT, 323,-- 658: set_slot_direct(323)
      ops.PUSH_LOCAL_FRAME,    -- 660: push_local_frame
      ops.GET_SLOT_DIRECT, 520,-- 661: get_slot_direct(520)
      ops.NEW_ARRAY,           -- 663: new_array
      ops.DUP,                 -- 664: dup
      ops.PUSH_LITERAL, 450,   -- 665: push_literal(450)
      ops.SET_SLOT_DIRECT, 18, -- 667: set_slot_direct(18)
      ops.DUP,                 -- 669: dup
      ops.PUSH_LITERAL, 507,   -- 670: push_literal(507)
      ops.SET_SLOT_DIRECT, 31, -- 672: set_slot_direct(31)
      ops.SET_SLOT_DIRECT, 444,-- 674: set_slot_direct(444)
      ops.PUSH_LOCAL_FRAME,    -- 676: push_local_frame
      ops.GET_SLOT_DIRECT, 520,-- 677: get_slot_direct(520)
      ops.PUSH_LOCAL_FRAME,    -- 679: push_local_frame
      ops.GET_SLOT_DIRECT, 522,-- 680: get_slot_direct(522)
      ops.SET_SLOT_DIRECT, 324,-- 682: set_slot_direct(324)
      ops.PUSH_LOCAL_FRAME,    -- 684: push_local_frame
      ops.GET_SLOT_DIRECT, 520,-- 685: get_slot_direct(520)
      ops.RETURN               -- 687: return
    }
  },
  ifunc.Function:new{ -- "assert"
    name = jsval.newString("assert"),
    id = 137,
    nargs = 2,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 313,-- 8: set_slot_direct(313)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 30, -- 15: set_slot_direct(30)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.GET_SLOT_DIRECT, 313,-- 19: get_slot_direct(313)
      ops.UN_NOT,              -- 21: un_not
      ops.JMP_UNLESS, 52, 52,  -- 22: jmp_unless(52,52)
      ops.PUSH_FRAME,          -- 25: push_frame
      ops.GET_SLOT_DIRECT, 527,-- 26: get_slot_direct(527)
      ops.DUP,                 -- 28: dup
      ops.GET_SLOT_DIRECT_CHECK, 528,-- 29: get_slot_direct_check(528)
      ops.SWAP,                -- 31: swap
      ops.PUSH_LITERAL, 529,   -- 32: push_literal(529)
      ops.PUSH_LOCAL_FRAME,    -- 34: push_local_frame
      ops.GET_SLOT_DIRECT, 30, -- 35: get_slot_direct(30)
      ops.INVOKE, 2,           -- 37: invoke(2)
      ops.POP,                 -- 39: pop
      ops.PUSH_FRAME,          -- 40: push_frame
      ops.GET_SLOT_DIRECT, 527,-- 41: get_slot_direct(527)
      ops.DUP,                 -- 43: dup
      ops.GET_SLOT_DIRECT_CHECK, 524,-- 44: get_slot_direct_check(524)
      ops.SWAP,                -- 46: swap
      ops.PUSH_LITERAL, 32,    -- 47: push_literal(32)
      ops.INVOKE, 1,           -- 49: invoke(1)
      ops.POP,                 -- 51: pop
      ops.PHI,                 -- 52: phi
      ops.PUSH_LITERAL, 0,     -- 53: push_literal(0)
      ops.RETURN               -- 55: return
    }
  },
  ifunc.Function:new{ -- "mkstate"
    name = jsval.newString("mkstate"),
    id = 138,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 530,-- 8: set_slot_direct(530)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 230,-- 14: set_slot_direct(230)
      ops.PUSH_FRAME,          -- 16: push_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 531,-- 19: set_slot_direct(531)
      ops.PUSH_FRAME,          -- 21: push_frame
      ops.PUSH_LITERAL, 0,     -- 22: push_literal(0)
      ops.SET_SLOT_DIRECT, 532,-- 24: set_slot_direct(532)
      ops.PUSH_FRAME,          -- 26: push_frame
      ops.PUSH_LITERAL, 0,     -- 27: push_literal(0)
      ops.SET_SLOT_DIRECT, 533,-- 29: set_slot_direct(533)
      ops.PUSH_FRAME,          -- 31: push_frame
      ops.NEW_OBJECT,          -- 32: new_object
      ops.DUP,                 -- 33: dup
      ops.NEW_ARRAY,           -- 34: new_array
      ops.SET_SLOT_DIRECT, 534,-- 35: set_slot_direct(534)
      ops.DUP,                 -- 37: dup
      ops.PUSH_LITERAL, 41,    -- 38: push_literal(41)
      ops.SET_SLOT_DIRECT, 467,-- 40: set_slot_direct(467)
      ops.DUP,                 -- 42: dup
      ops.PUSH_LITERAL, 18,    -- 43: push_literal(18)
      ops.SET_SLOT_DIRECT, 328,-- 45: set_slot_direct(328)
      ops.DUP,                 -- 47: dup
      ops.PUSH_LOCAL_FRAME,    -- 48: push_local_frame
      ops.GET_SLOT_DIRECT, 530,-- 49: get_slot_direct(530)
      ops.UN_NOT,              -- 51: un_not
      ops.SET_SLOT_DIRECT, 535,-- 52: set_slot_direct(535)
      ops.SET_SLOT_DIRECT, 230,-- 54: set_slot_direct(230)
      ops.PUSH_FRAME,          -- 56: push_frame
      ops.PUSH_FRAME,          -- 57: push_frame
      ops.GET_SLOT_DIRECT, 511,-- 58: get_slot_direct(511)
      ops.DUP,                 -- 60: dup
      ops.GET_SLOT_DIRECT_CHECK, 22,-- 61: get_slot_direct_check(22)
      ops.SWAP,                -- 63: swap
      ops.INVOKE, 0,           -- 64: invoke(0)
      ops.SET_SLOT_DIRECT, 531,-- 66: set_slot_direct(531)
      ops.PUSH_FRAME,          -- 68: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 69: get_slot_direct(230)
      ops.PUSH_FRAME,          -- 71: push_frame
      ops.GET_SLOT_DIRECT, 531,-- 72: get_slot_direct(531)
      ops.GET_SLOT_DIRECT, 514,-- 74: get_slot_direct(514)
      ops.SET_SLOT_DIRECT, 467,-- 76: set_slot_direct(467)
      ops.PUSH_FRAME,          -- 78: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 79: get_slot_direct(230)
      ops.NEW_FUNCTION, 139,   -- 81: new_function(139)
      ops.SET_SLOT_DIRECT, 374,-- 83: set_slot_direct(374)
      ops.PUSH_FRAME,          -- 85: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 86: get_slot_direct(230)
      ops.NEW_FUNCTION, 140,   -- 88: new_function(140)
      ops.SET_SLOT_DIRECT, 476,-- 90: set_slot_direct(476)
      ops.PUSH_FRAME,          -- 92: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 93: get_slot_direct(230)
      ops.NEW_FUNCTION, 141,   -- 95: new_function(141)
      ops.SET_SLOT_DIRECT, 545,-- 97: set_slot_direct(545)
      ops.PUSH_FRAME,          -- 99: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 100: get_slot_direct(230)
      ops.NEW_FUNCTION, 142,   -- 102: new_function(142)
      ops.SET_SLOT_DIRECT, 548,-- 104: set_slot_direct(548)
      ops.PUSH_FRAME,          -- 106: push_frame
      ops.NEW_FUNCTION, 143,   -- 107: new_function(143)
      ops.SET_SLOT_DIRECT, 532,-- 109: set_slot_direct(532)
      ops.PUSH_FRAME,          -- 111: push_frame
      ops.NEW_FUNCTION, 144,   -- 112: new_function(144)
      ops.SET_SLOT_DIRECT, 533,-- 114: set_slot_direct(533)
      ops.PUSH_FRAME,          -- 116: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 117: get_slot_direct(230)
      ops.NEW_FUNCTION, 145,   -- 119: new_function(145)
      ops.SET_SLOT_DIRECT, 556,-- 121: set_slot_direct(556)
      ops.PUSH_FRAME,          -- 123: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 124: get_slot_direct(230)
      ops.NEW_FUNCTION, 146,   -- 126: new_function(146)
      ops.SET_SLOT_DIRECT, 558,-- 128: set_slot_direct(558)
      ops.PUSH_FRAME,          -- 130: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 131: get_slot_direct(230)
      ops.NEW_FUNCTION, 147,   -- 133: new_function(147)
      ops.SET_SLOT_DIRECT, 559,-- 135: set_slot_direct(559)
      ops.PUSH_FRAME,          -- 137: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 138: get_slot_direct(230)
      ops.NEW_FUNCTION, 148,   -- 140: new_function(148)
      ops.SET_SLOT_DIRECT, 561,-- 142: set_slot_direct(561)
      ops.PUSH_FRAME,          -- 144: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 145: get_slot_direct(230)
      ops.NEW_FUNCTION, 149,   -- 147: new_function(149)
      ops.SET_SLOT_DIRECT, 562,-- 149: set_slot_direct(562)
      ops.PUSH_FRAME,          -- 151: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 152: get_slot_direct(230)
      ops.NEW_FUNCTION, 150,   -- 154: new_function(150)
      ops.SET_SLOT_DIRECT, 563,-- 156: set_slot_direct(563)
      ops.PUSH_FRAME,          -- 158: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 159: get_slot_direct(230)
      ops.NEW_FUNCTION, 151,   -- 161: new_function(151)
      ops.SET_SLOT_DIRECT, 564,-- 163: set_slot_direct(564)
      ops.PUSH_FRAME,          -- 165: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 166: get_slot_direct(230)
      ops.NEW_FUNCTION, 153,   -- 168: new_function(153)
      ops.SET_SLOT_DIRECT, 567,-- 170: set_slot_direct(567)
      ops.PUSH_FRAME,          -- 172: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 173: get_slot_direct(230)
      ops.NEW_FUNCTION, 154,   -- 175: new_function(154)
      ops.SET_SLOT_DIRECT, 566,-- 177: set_slot_direct(566)
      ops.PUSH_FRAME,          -- 179: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 180: get_slot_direct(230)
      ops.NEW_FUNCTION, 155,   -- 182: new_function(155)
      ops.SET_SLOT_DIRECT, 568,-- 184: set_slot_direct(568)
      ops.PUSH_FRAME,          -- 186: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 187: get_slot_direct(230)
      ops.RETURN               -- 189: return
    }
  },
  ifunc.Function:new{ -- ".literal"
    name = jsval.newString(".literal"),
    id = 139,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 184,-- 8: set_slot_direct(184)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.GET_SLOT_DIRECT, 531,-- 12: get_slot_direct(531)
      ops.DUP,                 -- 14: dup
      ops.GET_SLOT_DIRECT_CHECK, 515,-- 15: get_slot_direct_check(515)
      ops.SWAP,                -- 17: swap
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.GET_SLOT_DIRECT, 184,-- 19: get_slot_direct(184)
      ops.INVOKE, 1,           -- 21: invoke(1)
      ops.RETURN               -- 23: return
    }
  },
  ifunc.Function:new{ -- ".new_function"
    name = jsval.newString(".new_function"),
    id = 140,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 108,-- 8: set_slot_direct(108)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 536,-- 14: set_slot_direct(536)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.NEW_OBJECT,          -- 17: new_object
      ops.DUP,                 -- 18: dup
      ops.PUSH_LOCAL_FRAME,    -- 19: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 20: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 534,-- 22: get_slot_direct(534)
      ops.GET_SLOT_DIRECT, 55, -- 24: get_slot_direct(55)
      ops.SET_SLOT_DIRECT, 368,-- 26: set_slot_direct(368)
      ops.DUP,                 -- 28: dup
      ops.PUSH_LOCAL_FRAME,    -- 29: push_local_frame
      ops.GET_SLOT_DIRECT, 108,-- 30: get_slot_direct(108)
      ops.SET_SLOT_DIRECT, 108,-- 32: set_slot_direct(108)
      ops.DUP,                 -- 34: dup
      ops.PUSH_LITERAL, 18,    -- 35: push_literal(18)
      ops.SET_SLOT_DIRECT, 537,-- 37: set_slot_direct(537)
      ops.DUP,                 -- 39: dup
      ops.NEW_ARRAY,           -- 40: new_array
      ops.SET_SLOT_DIRECT, 463,-- 41: set_slot_direct(463)
      ops.DUP,                 -- 43: dup
      ops.PUSH_LITERAL, 18,    -- 44: push_literal(18)
      ops.SET_SLOT_DIRECT, 538,-- 46: set_slot_direct(538)
      ops.DUP,                 -- 48: dup
      ops.NEW_ARRAY,           -- 49: new_array
      ops.SET_SLOT_DIRECT, 539,-- 50: set_slot_direct(539)
      ops.SET_SLOT_DIRECT, 536,-- 52: set_slot_direct(536)
      ops.PUSH_LOCAL_FRAME,    -- 54: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 55: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 534,-- 57: get_slot_direct(534)
      ops.PUSH_LOCAL_FRAME,    -- 59: push_local_frame
      ops.GET_SLOT_DIRECT, 536,-- 60: get_slot_direct(536)
      ops.GET_SLOT_DIRECT, 368,-- 62: get_slot_direct(368)
      ops.PUSH_LOCAL_FRAME,    -- 64: push_local_frame
      ops.GET_SLOT_DIRECT, 536,-- 65: get_slot_direct(536)
      ops.SET_SLOT_INDIRECT,   -- 67: set_slot_indirect
      ops.PUSH_LOCAL_FRAME,    -- 68: push_local_frame
      ops.GET_SLOT_DIRECT, 536,-- 69: get_slot_direct(536)
      ops.RETURN               -- 71: return
    }
  },
  ifunc.Function:new{ -- ".emit"
    name = jsval.newString(".emit"),
    id = 141,
    nargs = 1,
    max_stack = 7,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.PUSH_LOCAL_FRAME,    -- 1: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 2: get_slot_direct(17)
      ops.SET_SLOT_DIRECT, 17, -- 4: set_slot_direct(17)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 7: get_slot_direct(17)
      ops.DUP,                 -- 9: dup
      ops.GET_SLOT_DIRECT, 18, -- 10: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 12: push_local_frame
      ops.SWAP,                -- 13: swap
      ops.SET_SLOT_DIRECT, 540,-- 14: set_slot_direct(540)
      ops.POP,                 -- 16: pop
      ops.PUSH_LOCAL_FRAME,    -- 17: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 18: push_literal(0)
      ops.SET_SLOT_DIRECT, 541,-- 20: set_slot_direct(541)
      ops.PUSH_LOCAL_FRAME,    -- 22: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 23: push_literal(0)
      ops.SET_SLOT_DIRECT, 542,-- 25: set_slot_direct(542)
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 28: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 30: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 32: push_local_frame
      ops.PUSH_FRAME,          -- 33: push_frame
      ops.GET_SLOT_DIRECT, 523,-- 34: get_slot_direct(523)
      ops.DUP,                 -- 36: dup
      ops.GET_SLOT_DIRECT_CHECK, 506,-- 37: get_slot_direct_check(506)
      ops.SWAP,                -- 39: swap
      ops.PUSH_LOCAL_FRAME,    -- 40: push_local_frame
      ops.GET_SLOT_DIRECT, 540,-- 41: get_slot_direct(540)
      ops.INVOKE, 1,           -- 43: invoke(1)
      ops.SET_SLOT_DIRECT, 541,-- 45: set_slot_direct(541)
      ops.PUSH_LOCAL_FRAME,    -- 47: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 48: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 49: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 543,-- 51: get_slot_direct(543)
      ops.SET_SLOT_DIRECT, 542,-- 53: set_slot_direct(542)
      ops.PUSH_LOCAL_FRAME,    -- 55: push_local_frame
      ops.PUSH_LITERAL, 31,    -- 56: push_literal(31)
      ops.SET_SLOT_DIRECT, 53, -- 58: set_slot_direct(53)
      ops.PUSH_FRAME,          -- 60: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 61: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 63: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 64: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 66: push_local_frame
      ops.GET_SLOT_DIRECT, 541,-- 67: get_slot_direct(541)
      ops.PUSH_LOCAL_FRAME,    -- 69: push_local_frame
      ops.GET_SLOT_DIRECT, 540,-- 70: get_slot_direct(540)
      ops.INVOKE, 2,           -- 72: invoke(2)
      ops.POP,                 -- 74: pop
      ops.PUSH_FRAME,          -- 75: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 76: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 78: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 79: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 81: push_local_frame
      ops.GET_SLOT_DIRECT, 542,-- 82: get_slot_direct(542)
      ops.GET_SLOT_DIRECT, 538,-- 84: get_slot_direct(538)
      ops.PUSH_LOCAL_FRAME,    -- 86: push_local_frame
      ops.GET_SLOT_DIRECT, 541,-- 87: get_slot_direct(541)
      ops.GET_SLOT_DIRECT, 459,-- 89: get_slot_direct(459)
      ops.DUP,                 -- 91: dup
      ops.GET_SLOT_DIRECT_CHECK, 112,-- 92: get_slot_direct_check(112)
      ops.SWAP,                -- 94: swap
      ops.PUSH_LOCAL_FRAME,    -- 95: push_local_frame
      ops.GET_SLOT_DIRECT, 541,-- 96: get_slot_direct(541)
      ops.PUSH_FRAME,          -- 98: push_frame
      ops.GET_SLOT_DIRECT, 17, -- 99: get_slot_direct(17)
      ops.INVOKE, 2,           -- 101: invoke(2)
      ops.BI_GTE,              -- 103: bi_gte
      ops.INVOKE, 1,           -- 104: invoke(1)
      ops.POP,                 -- 106: pop
      ops.PUSH_LOCAL_FRAME,    -- 107: push_local_frame
      ops.GET_SLOT_DIRECT, 542,-- 108: get_slot_direct(542)
      ops.GET_SLOT_DIRECT, 463,-- 110: get_slot_direct(463)
      ops.DUP,                 -- 112: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 113: get_slot_direct_check(69)
      ops.SWAP,                -- 115: swap
      ops.PUSH_LOCAL_FRAME,    -- 116: push_local_frame
      ops.GET_SLOT_DIRECT, 541,-- 117: get_slot_direct(541)
      ops.GET_SLOT_DIRECT, 368,-- 119: get_slot_direct(368)
      ops.INVOKE, 1,           -- 121: invoke(1)
      ops.POP,                 -- 123: pop
      ops.JMP_INTO_LOOP, 155, 170,-- 124: jmp_into_loop(155,170)
      ops.PUSH_LOCAL_FRAME,    -- 127: push_local_frame
      ops.GET_SLOT_DIRECT, 542,-- 128: get_slot_direct(542)
      ops.GET_SLOT_DIRECT, 463,-- 130: get_slot_direct(463)
      ops.DUP,                 -- 132: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 133: get_slot_direct_check(69)
      ops.SWAP,                -- 135: swap
      ops.PUSH_FRAME,          -- 136: push_frame
      ops.GET_SLOT_DIRECT, 17, -- 137: get_slot_direct(17)
      ops.PUSH_LOCAL_FRAME,    -- 139: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 140: get_slot_direct(53)
      ops.GET_SLOT_INDIRECT,   -- 142: get_slot_indirect
      ops.INVOKE, 1,           -- 143: invoke(1)
      ops.POP,                 -- 145: pop
      ops.PUSH_LOCAL_FRAME,    -- 146: push_local_frame
      ops.DUP,                 -- 147: dup
      ops.GET_SLOT_DIRECT, 53, -- 148: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 150: push_literal(31)
      ops.BI_ADD,              -- 152: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 153: set_slot_direct(53)
      ops.PHI,                 -- 155: phi
      ops.PUSH_LOCAL_FRAME,    -- 156: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 157: get_slot_direct(53)
      ops.PUSH_FRAME,          -- 159: push_frame
      ops.GET_SLOT_DIRECT, 17, -- 160: get_slot_direct(17)
      ops.GET_SLOT_DIRECT, 55, -- 162: get_slot_direct(55)
      ops.SWAP,                -- 164: swap
      ops.BI_GT,               -- 165: bi_gt
      ops.UN_NOT,              -- 166: un_not
      ops.JMP_UNLESS, 127, 170,-- 167: jmp_unless(127,170)
      ops.PHI,                 -- 170: phi
      ops.PUSH_LOCAL_FRAME,    -- 171: push_local_frame
      ops.GET_SLOT_DIRECT, 542,-- 172: get_slot_direct(542)
      ops.DUP,                 -- 174: dup
      ops.GET_SLOT_DIRECT, 538,-- 175: get_slot_direct(538)
      ops.PUSH_LOCAL_FRAME,    -- 177: push_local_frame
      ops.GET_SLOT_DIRECT, 541,-- 178: get_slot_direct(541)
      ops.GET_SLOT_DIRECT, 459,-- 180: get_slot_direct(459)
      ops.DUP,                 -- 182: dup
      ops.GET_SLOT_DIRECT_CHECK, 112,-- 183: get_slot_direct_check(112)
      ops.SWAP,                -- 185: swap
      ops.PUSH_LOCAL_FRAME,    -- 186: push_local_frame
      ops.GET_SLOT_DIRECT, 541,-- 187: get_slot_direct(541)
      ops.PUSH_FRAME,          -- 189: push_frame
      ops.GET_SLOT_DIRECT, 17, -- 190: get_slot_direct(17)
      ops.INVOKE, 2,           -- 192: invoke(2)
      ops.BI_SUB,              -- 194: bi_sub
      ops.SET_SLOT_DIRECT, 538,-- 195: set_slot_direct(538)
      ops.PUSH_LOCAL_FRAME,    -- 197: push_local_frame
      ops.GET_SLOT_DIRECT, 542,-- 198: get_slot_direct(542)
      ops.DUP,                 -- 200: dup
      ops.GET_SLOT_DIRECT, 538,-- 201: get_slot_direct(538)
      ops.PUSH_LOCAL_FRAME,    -- 203: push_local_frame
      ops.GET_SLOT_DIRECT, 541,-- 204: get_slot_direct(541)
      ops.GET_SLOT_DIRECT, 460,-- 206: get_slot_direct(460)
      ops.DUP,                 -- 208: dup
      ops.GET_SLOT_DIRECT_CHECK, 112,-- 209: get_slot_direct_check(112)
      ops.SWAP,                -- 211: swap
      ops.PUSH_LOCAL_FRAME,    -- 212: push_local_frame
      ops.GET_SLOT_DIRECT, 541,-- 213: get_slot_direct(541)
      ops.PUSH_FRAME,          -- 215: push_frame
      ops.GET_SLOT_DIRECT, 17, -- 216: get_slot_direct(17)
      ops.INVOKE, 2,           -- 218: invoke(2)
      ops.BI_ADD,              -- 220: bi_add
      ops.SET_SLOT_DIRECT, 538,-- 221: set_slot_direct(538)
      ops.PUSH_LOCAL_FRAME,    -- 223: push_local_frame
      ops.GET_SLOT_DIRECT, 542,-- 224: get_slot_direct(542)
      ops.GET_SLOT_DIRECT, 538,-- 226: get_slot_direct(538)
      ops.PUSH_LOCAL_FRAME,    -- 228: push_local_frame
      ops.GET_SLOT_DIRECT, 542,-- 229: get_slot_direct(542)
      ops.GET_SLOT_DIRECT, 537,-- 231: get_slot_direct(537)
      ops.BI_GT,               -- 233: bi_gt
      ops.JMP_UNLESS, 247, 247,-- 234: jmp_unless(247,247)
      ops.PUSH_LOCAL_FRAME,    -- 237: push_local_frame
      ops.GET_SLOT_DIRECT, 542,-- 238: get_slot_direct(542)
      ops.PUSH_LOCAL_FRAME,    -- 240: push_local_frame
      ops.GET_SLOT_DIRECT, 542,-- 241: get_slot_direct(542)
      ops.GET_SLOT_DIRECT, 538,-- 243: get_slot_direct(538)
      ops.SET_SLOT_DIRECT, 537,-- 245: set_slot_direct(537)
      ops.PHI,                 -- 247: phi
      ops.PUSH_LOCAL_FRAME,    -- 248: push_local_frame
      ops.GET_SLOT_DIRECT, 542,-- 249: get_slot_direct(542)
      ops.PUSH_LITERAL, 118,   -- 251: push_literal(118)
      ops.SET_SLOT_DIRECT, 544,-- 253: set_slot_direct(544)
      ops.PUSH_LITERAL, 0,     -- 255: push_literal(0)
      ops.RETURN               -- 257: return
    }
  },
  ifunc.Function:new{ -- ".decompile"
    name = jsval.newString(".decompile"),
    id = 142,
    nargs = 1,
    max_stack = 7,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 546,-- 8: set_slot_direct(546)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 75, -- 14: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 109,-- 19: set_slot_direct(109)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 22: push_literal(0)
      ops.SET_SLOT_DIRECT, 464,-- 24: set_slot_direct(464)
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.PUSH_LITERAL, 66,    -- 27: push_literal(66)
      ops.SET_SLOT_DIRECT, 75, -- 29: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 32: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 33: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 534,-- 35: get_slot_direct(534)
      ops.PUSH_LOCAL_FRAME,    -- 37: push_local_frame
      ops.GET_SLOT_DIRECT, 546,-- 38: get_slot_direct(546)
      ops.GET_SLOT_INDIRECT,   -- 40: get_slot_indirect
      ops.SET_SLOT_DIRECT, 109,-- 41: set_slot_direct(109)
      ops.PUSH_LOCAL_FRAME,    -- 43: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 44: push_literal(18)
      ops.SET_SLOT_DIRECT, 464,-- 46: set_slot_direct(464)
      ops.JMP_INTO_LOOP, 163, 180,-- 48: jmp_into_loop(163,180)
      ops.PUSH_LOCAL_FRAME,    -- 51: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 52: push_literal(0)
      ops.SET_SLOT_DIRECT, 541,-- 54: set_slot_direct(541)
      ops.PUSH_LOCAL_FRAME,    -- 56: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 57: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 59: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 61: push_local_frame
      ops.PUSH_FRAME,          -- 62: push_frame
      ops.GET_SLOT_DIRECT, 523,-- 63: get_slot_direct(523)
      ops.DUP,                 -- 65: dup
      ops.GET_SLOT_DIRECT_CHECK, 505,-- 66: get_slot_direct_check(505)
      ops.SWAP,                -- 68: swap
      ops.PUSH_LOCAL_FRAME,    -- 69: push_local_frame
      ops.GET_SLOT_DIRECT, 109,-- 70: get_slot_direct(109)
      ops.GET_SLOT_DIRECT, 463,-- 72: get_slot_direct(463)
      ops.PUSH_LOCAL_FRAME,    -- 74: push_local_frame
      ops.GET_SLOT_DIRECT, 464,-- 75: get_slot_direct(464)
      ops.GET_SLOT_INDIRECT,   -- 77: get_slot_indirect
      ops.INVOKE, 1,           -- 78: invoke(1)
      ops.SET_SLOT_DIRECT, 541,-- 80: set_slot_direct(541)
      ops.PUSH_LOCAL_FRAME,    -- 82: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 83: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 85: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 87: push_local_frame
      ops.DUP,                 -- 88: dup
      ops.GET_SLOT_DIRECT, 75, -- 89: get_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 91: push_local_frame
      ops.GET_SLOT_DIRECT, 464,-- 92: get_slot_direct(464)
      ops.PUSH_LITERAL, 547,   -- 94: push_literal(547)
      ops.BI_ADD,              -- 96: bi_add
      ops.BI_ADD,              -- 97: bi_add
      ops.SET_SLOT_DIRECT, 75, -- 98: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 100: push_local_frame
      ops.DUP,                 -- 101: dup
      ops.GET_SLOT_DIRECT, 75, -- 102: get_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 104: push_local_frame
      ops.GET_SLOT_DIRECT, 541,-- 105: get_slot_direct(541)
      ops.GET_SLOT_DIRECT, 19, -- 107: get_slot_direct(19)
      ops.BI_ADD,              -- 109: bi_add
      ops.SET_SLOT_DIRECT, 75, -- 110: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 112: push_local_frame
      ops.DUP,                 -- 113: dup
      ops.GET_SLOT_DIRECT, 75, -- 114: get_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 116: push_local_frame
      ops.GET_SLOT_DIRECT, 541,-- 117: get_slot_direct(541)
      ops.DUP,                 -- 119: dup
      ops.GET_SLOT_DIRECT_CHECK, 461,-- 120: get_slot_direct_check(461)
      ops.SWAP,                -- 122: swap
      ops.PUSH_LOCAL_FRAME,    -- 123: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 124: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 126: push_local_frame
      ops.GET_SLOT_DIRECT, 109,-- 127: get_slot_direct(109)
      ops.GET_SLOT_DIRECT, 463,-- 129: get_slot_direct(463)
      ops.PUSH_LOCAL_FRAME,    -- 131: push_local_frame
      ops.GET_SLOT_DIRECT, 464,-- 132: get_slot_direct(464)
      ops.INVOKE, 3,           -- 134: invoke(3)
      ops.BI_ADD,              -- 136: bi_add
      ops.SET_SLOT_DIRECT, 75, -- 137: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 139: push_local_frame
      ops.DUP,                 -- 140: dup
      ops.GET_SLOT_DIRECT, 75, -- 141: get_slot_direct(75)
      ops.PUSH_LITERAL, 249,   -- 143: push_literal(249)
      ops.BI_ADD,              -- 145: bi_add
      ops.SET_SLOT_DIRECT, 75, -- 146: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 148: push_local_frame
      ops.DUP,                 -- 149: dup
      ops.GET_SLOT_DIRECT, 464,-- 150: get_slot_direct(464)
      ops.PUSH_LITERAL, 31,    -- 152: push_literal(31)
      ops.PUSH_LOCAL_FRAME,    -- 154: push_local_frame
      ops.GET_SLOT_DIRECT, 541,-- 155: get_slot_direct(541)
      ops.GET_SLOT_DIRECT, 458,-- 157: get_slot_direct(458)
      ops.BI_ADD,              -- 159: bi_add
      ops.BI_ADD,              -- 160: bi_add
      ops.SET_SLOT_DIRECT, 464,-- 161: set_slot_direct(464)
      ops.PHI,                 -- 163: phi
      ops.PUSH_LOCAL_FRAME,    -- 164: push_local_frame
      ops.GET_SLOT_DIRECT, 464,-- 165: get_slot_direct(464)
      ops.PUSH_LOCAL_FRAME,    -- 167: push_local_frame
      ops.GET_SLOT_DIRECT, 109,-- 168: get_slot_direct(109)
      ops.GET_SLOT_DIRECT, 463,-- 170: get_slot_direct(463)
      ops.GET_SLOT_DIRECT, 55, -- 172: get_slot_direct(55)
      ops.SWAP,                -- 174: swap
      ops.BI_GT,               -- 175: bi_gt
      ops.UN_NOT,              -- 176: un_not
      ops.JMP_UNLESS, 51, 180, -- 177: jmp_unless(51,180)
      ops.PHI,                 -- 180: phi
      ops.PUSH_LOCAL_FRAME,    -- 181: push_local_frame
      ops.GET_SLOT_DIRECT, 75, -- 182: get_slot_direct(75)
      ops.RETURN               -- 184: return
    }
  },
  ifunc.Function:new{ -- "encode_uint"
    name = jsval.newString("encode_uint"),
    id = 143,
    nargs = 2,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 549,-- 8: set_slot_direct(549)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 184,-- 15: set_slot_direct(184)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 19: push_literal(0)
      ops.SET_SLOT_DIRECT, 550,-- 21: set_slot_direct(550)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 24: push_literal(0)
      ops.SET_SLOT_DIRECT, 551,-- 26: set_slot_direct(551)
      ops.PUSH_FRAME,          -- 28: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 29: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 32: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 34: push_local_frame
      ops.GET_SLOT_DIRECT, 184,-- 35: get_slot_direct(184)
      ops.PUSH_LITERAL, 18,    -- 37: push_literal(18)
      ops.BI_GTE,              -- 39: bi_gte
      ops.PUSH_LOCAL_FRAME,    -- 40: push_local_frame
      ops.GET_SLOT_DIRECT, 184,-- 41: get_slot_direct(184)
      ops.INVOKE, 2,           -- 43: invoke(2)
      ops.POP,                 -- 45: pop
      ops.PUSH_LOCAL_FRAME,    -- 46: push_local_frame
      ops.GET_SLOT_DIRECT, 184,-- 47: get_slot_direct(184)
      ops.PUSH_LITERAL, 552,   -- 49: push_literal(552)
      ops.SWAP,                -- 51: swap
      ops.BI_GT,               -- 52: bi_gt
      ops.JMP_UNLESS, 72, 72,  -- 53: jmp_unless(72,72)
      ops.PUSH_LOCAL_FRAME,    -- 56: push_local_frame
      ops.GET_SLOT_DIRECT, 549,-- 57: get_slot_direct(549)
      ops.DUP,                 -- 59: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 60: get_slot_direct_check(69)
      ops.SWAP,                -- 62: swap
      ops.PUSH_LOCAL_FRAME,    -- 63: push_local_frame
      ops.GET_SLOT_DIRECT, 184,-- 64: get_slot_direct(184)
      ops.INVOKE, 1,           -- 66: invoke(1)
      ops.POP,                 -- 68: pop
      ops.PUSH_LITERAL, 0,     -- 69: push_literal(0)
      ops.RETURN,              -- 71: return
      ops.PHI,                 -- 72: phi
      ops.PUSH_LOCAL_FRAME,    -- 73: push_local_frame
      ops.PUSH_FRAME,          -- 74: push_frame
      ops.GET_SLOT_DIRECT, 28, -- 75: get_slot_direct(28)
      ops.DUP,                 -- 77: dup
      ops.GET_SLOT_DIRECT_CHECK, 29,-- 78: get_slot_direct_check(29)
      ops.SWAP,                -- 80: swap
      ops.PUSH_LOCAL_FRAME,    -- 81: push_local_frame
      ops.GET_SLOT_DIRECT, 184,-- 82: get_slot_direct(184)
      ops.PUSH_LITERAL, 552,   -- 84: push_literal(552)
      ops.BI_DIV,              -- 86: bi_div
      ops.INVOKE, 1,           -- 87: invoke(1)
      ops.SET_SLOT_DIRECT, 550,-- 89: set_slot_direct(550)
      ops.PUSH_LOCAL_FRAME,    -- 91: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 92: push_local_frame
      ops.GET_SLOT_DIRECT, 184,-- 93: get_slot_direct(184)
      ops.PUSH_LITERAL, 552,   -- 95: push_literal(552)
      ops.PUSH_LOCAL_FRAME,    -- 97: push_local_frame
      ops.GET_SLOT_DIRECT, 550,-- 98: get_slot_direct(550)
      ops.BI_MUL,              -- 100: bi_mul
      ops.BI_SUB,              -- 101: bi_sub
      ops.SET_SLOT_DIRECT, 551,-- 102: set_slot_direct(551)
      ops.PUSH_FRAME,          -- 104: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 105: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 107: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 108: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 110: push_local_frame
      ops.GET_SLOT_DIRECT, 551,-- 111: get_slot_direct(551)
      ops.PUSH_LITERAL, 18,    -- 113: push_literal(18)
      ops.BI_GTE,              -- 115: bi_gte
      ops.DUP,                 -- 116: dup
      ops.JMP_UNLESS, 128, 128,-- 117: jmp_unless(128,128)
      ops.POP,                 -- 120: pop
      ops.PUSH_LOCAL_FRAME,    -- 121: push_local_frame
      ops.GET_SLOT_DIRECT, 551,-- 122: get_slot_direct(551)
      ops.PUSH_LITERAL, 552,   -- 124: push_literal(552)
      ops.SWAP,                -- 126: swap
      ops.BI_GT,               -- 127: bi_gt
      ops.PHI,                 -- 128: phi
      ops.PUSH_LOCAL_FRAME,    -- 129: push_local_frame
      ops.GET_SLOT_DIRECT, 184,-- 130: get_slot_direct(184)
      ops.INVOKE, 2,           -- 132: invoke(2)
      ops.POP,                 -- 134: pop
      ops.PUSH_FRAME,          -- 135: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 136: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 138: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 139: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 141: push_local_frame
      ops.GET_SLOT_DIRECT, 550,-- 142: get_slot_direct(550)
      ops.PUSH_LITERAL, 18,    -- 144: push_literal(18)
      ops.BI_GT,               -- 146: bi_gt
      ops.PUSH_LOCAL_FRAME,    -- 147: push_local_frame
      ops.GET_SLOT_DIRECT, 184,-- 148: get_slot_direct(184)
      ops.INVOKE, 2,           -- 150: invoke(2)
      ops.POP,                 -- 152: pop
      ops.PUSH_LOCAL_FRAME,    -- 153: push_local_frame
      ops.GET_SLOT_DIRECT, 549,-- 154: get_slot_direct(549)
      ops.DUP,                 -- 156: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 157: get_slot_direct_check(69)
      ops.SWAP,                -- 159: swap
      ops.PUSH_LOCAL_FRAME,    -- 160: push_local_frame
      ops.GET_SLOT_DIRECT, 551,-- 161: get_slot_direct(551)
      ops.PUSH_LITERAL, 552,   -- 163: push_literal(552)
      ops.BI_ADD,              -- 165: bi_add
      ops.INVOKE, 1,           -- 166: invoke(1)
      ops.POP,                 -- 168: pop
      ops.PUSH_FRAME,          -- 169: push_frame
      ops.GET_SLOT_DIRECT, 532,-- 170: get_slot_direct(532)
      ops.PUSH_LOCAL_FRAME,    -- 172: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 173: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 175: push_local_frame
      ops.GET_SLOT_DIRECT, 549,-- 176: get_slot_direct(549)
      ops.PUSH_LOCAL_FRAME,    -- 178: push_local_frame
      ops.GET_SLOT_DIRECT, 550,-- 179: get_slot_direct(550)
      ops.INVOKE, 2,           -- 181: invoke(2)
      ops.POP,                 -- 183: pop
      ops.PUSH_LITERAL, 0,     -- 184: push_literal(0)
      ops.RETURN               -- 186: return
    }
  },
  ifunc.Function:new{ -- "encode_str"
    name = jsval.newString("encode_str"),
    id = 144,
    nargs = 2,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 549,-- 8: set_slot_direct(549)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 63, -- 15: set_slot_direct(63)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 19: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 21: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 24: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 26: set_slot_direct(53)
      ops.PUSH_FRAME,          -- 28: push_frame
      ops.GET_SLOT_DIRECT, 532,-- 29: get_slot_direct(532)
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 32: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 34: push_local_frame
      ops.GET_SLOT_DIRECT, 549,-- 35: get_slot_direct(549)
      ops.PUSH_LOCAL_FRAME,    -- 37: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 38: get_slot_direct(63)
      ops.GET_SLOT_DIRECT, 55, -- 40: get_slot_direct(55)
      ops.INVOKE, 2,           -- 42: invoke(2)
      ops.POP,                 -- 44: pop
      ops.JMP_INTO_LOOP, 81, 96,-- 45: jmp_into_loop(81,96)
      ops.PUSH_FRAME,          -- 48: push_frame
      ops.GET_SLOT_DIRECT, 532,-- 49: get_slot_direct(532)
      ops.PUSH_LOCAL_FRAME,    -- 51: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 52: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 54: push_local_frame
      ops.GET_SLOT_DIRECT, 549,-- 55: get_slot_direct(549)
      ops.PUSH_LOCAL_FRAME,    -- 57: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 58: get_slot_direct(63)
      ops.DUP,                 -- 60: dup
      ops.GET_SLOT_DIRECT_CHECK, 43,-- 61: get_slot_direct_check(43)
      ops.SWAP,                -- 63: swap
      ops.PUSH_LOCAL_FRAME,    -- 64: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 65: get_slot_direct(53)
      ops.INVOKE, 1,           -- 67: invoke(1)
      ops.INVOKE, 2,           -- 69: invoke(2)
      ops.POP,                 -- 71: pop
      ops.PUSH_LOCAL_FRAME,    -- 72: push_local_frame
      ops.DUP,                 -- 73: dup
      ops.GET_SLOT_DIRECT, 53, -- 74: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 76: push_literal(31)
      ops.BI_ADD,              -- 78: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 79: set_slot_direct(53)
      ops.PHI,                 -- 81: phi
      ops.PUSH_LOCAL_FRAME,    -- 82: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 83: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 85: push_local_frame
      ops.GET_SLOT_DIRECT, 63, -- 86: get_slot_direct(63)
      ops.GET_SLOT_DIRECT, 55, -- 88: get_slot_direct(55)
      ops.SWAP,                -- 90: swap
      ops.BI_GT,               -- 91: bi_gt
      ops.UN_NOT,              -- 92: un_not
      ops.JMP_UNLESS, 48, 96,  -- 93: jmp_unless(48,96)
      ops.PHI,                 -- 96: phi
      ops.PUSH_LITERAL, 0,     -- 97: push_literal(0)
      ops.RETURN               -- 99: return
    }
  },
  ifunc.Function:new{ -- ".encode"
    name = jsval.newString(".encode"),
    id = 145,
    nargs = 0,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 549,-- 3: set_slot_direct(549)
      ops.PUSH_LOCAL_FRAME,    -- 5: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 6: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 8: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 10: push_local_frame
      ops.NEW_ARRAY,           -- 11: new_array
      ops.SET_SLOT_DIRECT, 549,-- 12: set_slot_direct(549)
      ops.PUSH_FRAME,          -- 14: push_frame
      ops.GET_SLOT_DIRECT, 532,-- 15: get_slot_direct(532)
      ops.PUSH_LOCAL_FRAME,    -- 17: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 18: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.GET_SLOT_DIRECT, 549,-- 21: get_slot_direct(549)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 24: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 534,-- 26: get_slot_direct(534)
      ops.GET_SLOT_DIRECT, 55, -- 28: get_slot_direct(55)
      ops.INVOKE, 2,           -- 30: invoke(2)
      ops.POP,                 -- 32: pop
      ops.PUSH_LOCAL_FRAME,    -- 33: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 34: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 36: set_slot_direct(53)
      ops.JMP_INTO_LOOP, 242, 259,-- 38: jmp_into_loop(242,259)
      ops.PUSH_LOCAL_FRAME,    -- 41: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 42: push_literal(0)
      ops.SET_SLOT_DIRECT, 109,-- 44: set_slot_direct(109)
      ops.PUSH_LOCAL_FRAME,    -- 46: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 47: push_literal(0)
      ops.SET_SLOT_DIRECT, 54, -- 49: set_slot_direct(54)
      ops.PUSH_LOCAL_FRAME,    -- 51: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 52: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 53: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 534,-- 55: get_slot_direct(534)
      ops.PUSH_LOCAL_FRAME,    -- 57: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 58: get_slot_direct(53)
      ops.GET_SLOT_INDIRECT,   -- 60: get_slot_indirect
      ops.SET_SLOT_DIRECT, 109,-- 61: set_slot_direct(109)
      ops.PUSH_FRAME,          -- 63: push_frame
      ops.GET_SLOT_DIRECT, 532,-- 64: get_slot_direct(532)
      ops.PUSH_LOCAL_FRAME,    -- 66: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 67: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 69: push_local_frame
      ops.GET_SLOT_DIRECT, 549,-- 70: get_slot_direct(549)
      ops.PUSH_LOCAL_FRAME,    -- 72: push_local_frame
      ops.GET_SLOT_DIRECT, 109,-- 73: get_slot_direct(109)
      ops.GET_SLOT_DIRECT, 108,-- 75: get_slot_direct(108)
      ops.INVOKE, 2,           -- 77: invoke(2)
      ops.POP,                 -- 79: pop
      ops.PUSH_FRAME,          -- 80: push_frame
      ops.GET_SLOT_DIRECT, 532,-- 81: get_slot_direct(532)
      ops.PUSH_LOCAL_FRAME,    -- 83: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 84: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 86: push_local_frame
      ops.GET_SLOT_DIRECT, 549,-- 87: get_slot_direct(549)
      ops.PUSH_LOCAL_FRAME,    -- 89: push_local_frame
      ops.GET_SLOT_DIRECT, 109,-- 90: get_slot_direct(109)
      ops.GET_SLOT_DIRECT, 537,-- 92: get_slot_direct(537)
      ops.INVOKE, 2,           -- 94: invoke(2)
      ops.POP,                 -- 96: pop
      ops.PUSH_FRAME,          -- 97: push_frame
      ops.GET_SLOT_DIRECT, 533,-- 98: get_slot_direct(533)
      ops.PUSH_LOCAL_FRAME,    -- 100: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 101: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 103: push_local_frame
      ops.GET_SLOT_DIRECT, 549,-- 104: get_slot_direct(549)
      ops.PUSH_LOCAL_FRAME,    -- 106: push_local_frame
      ops.GET_SLOT_DIRECT, 109,-- 107: get_slot_direct(109)
      ops.GET_SLOT_DIRECT, 19, -- 109: get_slot_direct(19)
      ops.DUP,                 -- 111: dup
      ops.UN_NOT,              -- 112: un_not
      ops.JMP_UNLESS, 119, 119,-- 113: jmp_unless(119,119)
      ops.POP,                 -- 116: pop
      ops.PUSH_LITERAL, 66,    -- 117: push_literal(66)
      ops.PHI,                 -- 119: phi
      ops.INVOKE, 2,           -- 120: invoke(2)
      ops.POP,                 -- 122: pop
      ops.PUSH_FRAME,          -- 123: push_frame
      ops.GET_SLOT_DIRECT, 532,-- 124: get_slot_direct(532)
      ops.PUSH_LOCAL_FRAME,    -- 126: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 127: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 129: push_local_frame
      ops.GET_SLOT_DIRECT, 549,-- 130: get_slot_direct(549)
      ops.PUSH_LOCAL_FRAME,    -- 132: push_local_frame
      ops.GET_SLOT_DIRECT, 109,-- 133: get_slot_direct(109)
      ops.GET_SLOT_DIRECT, 463,-- 135: get_slot_direct(463)
      ops.GET_SLOT_DIRECT, 55, -- 137: get_slot_direct(55)
      ops.INVOKE, 2,           -- 139: invoke(2)
      ops.POP,                 -- 141: pop
      ops.PUSH_LOCAL_FRAME,    -- 142: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 143: push_literal(18)
      ops.SET_SLOT_DIRECT, 54, -- 145: set_slot_direct(54)
      ops.JMP_INTO_LOOP, 215, 232,-- 147: jmp_into_loop(215,232)
      ops.PUSH_LOCAL_FRAME,    -- 150: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 151: push_literal(0)
      ops.SET_SLOT_DIRECT, 110,-- 153: set_slot_direct(110)
      ops.PUSH_LOCAL_FRAME,    -- 155: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 156: push_local_frame
      ops.GET_SLOT_DIRECT, 109,-- 157: get_slot_direct(109)
      ops.GET_SLOT_DIRECT, 463,-- 159: get_slot_direct(463)
      ops.PUSH_LOCAL_FRAME,    -- 161: push_local_frame
      ops.GET_SLOT_DIRECT, 54, -- 162: get_slot_direct(54)
      ops.GET_SLOT_INDIRECT,   -- 164: get_slot_indirect
      ops.SET_SLOT_DIRECT, 110,-- 165: set_slot_direct(110)
      ops.PUSH_LOCAL_FRAME,    -- 167: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 168: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 169: get_slot_direct(110)
      ops.UN_TYPEOF,           -- 171: un_typeof
      ops.PUSH_LITERAL, 86,    -- 172: push_literal(86)
      ops.BI_EQ,               -- 174: bi_eq
      ops.JMP_UNLESS, 183, 188,-- 175: jmp_unless(183,188)
      ops.PUSH_LOCAL_FRAME,    -- 178: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 179: get_slot_direct(110)
      ops.JMP, 188,            -- 181: jmp(188)
      ops.PUSH_LOCAL_FRAME,    -- 183: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 184: get_slot_direct(110)
      ops.GET_SLOT_DIRECT, 470,-- 186: get_slot_direct(470)
      ops.PHI,                 -- 188: phi
      ops.SET_SLOT_DIRECT, 110,-- 189: set_slot_direct(110)
      ops.PUSH_FRAME,          -- 191: push_frame
      ops.GET_SLOT_DIRECT, 532,-- 192: get_slot_direct(532)
      ops.PUSH_LOCAL_FRAME,    -- 194: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 195: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 197: push_local_frame
      ops.GET_SLOT_DIRECT, 549,-- 198: get_slot_direct(549)
      ops.PUSH_LOCAL_FRAME,    -- 200: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 201: get_slot_direct(110)
      ops.INVOKE, 2,           -- 203: invoke(2)
      ops.POP,                 -- 205: pop
      ops.PUSH_LOCAL_FRAME,    -- 206: push_local_frame
      ops.DUP,                 -- 207: dup
      ops.GET_SLOT_DIRECT, 54, -- 208: get_slot_direct(54)
      ops.PUSH_LITERAL, 31,    -- 210: push_literal(31)
      ops.BI_ADD,              -- 212: bi_add
      ops.SET_SLOT_DIRECT, 54, -- 213: set_slot_direct(54)
      ops.PHI,                 -- 215: phi
      ops.PUSH_LOCAL_FRAME,    -- 216: push_local_frame
      ops.GET_SLOT_DIRECT, 54, -- 217: get_slot_direct(54)
      ops.PUSH_LOCAL_FRAME,    -- 219: push_local_frame
      ops.GET_SLOT_DIRECT, 109,-- 220: get_slot_direct(109)
      ops.GET_SLOT_DIRECT, 463,-- 222: get_slot_direct(463)
      ops.GET_SLOT_DIRECT, 55, -- 224: get_slot_direct(55)
      ops.SWAP,                -- 226: swap
      ops.BI_GT,               -- 227: bi_gt
      ops.UN_NOT,              -- 228: un_not
      ops.JMP_UNLESS, 150, 232,-- 229: jmp_unless(150,232)
      ops.PHI,                 -- 232: phi
      ops.PUSH_LOCAL_FRAME,    -- 233: push_local_frame
      ops.DUP,                 -- 234: dup
      ops.GET_SLOT_DIRECT, 53, -- 235: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 237: push_literal(31)
      ops.BI_ADD,              -- 239: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 240: set_slot_direct(53)
      ops.PHI,                 -- 242: phi
      ops.PUSH_LOCAL_FRAME,    -- 243: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 244: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 246: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 247: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 534,-- 249: get_slot_direct(534)
      ops.GET_SLOT_DIRECT, 55, -- 251: get_slot_direct(55)
      ops.SWAP,                -- 253: swap
      ops.BI_GT,               -- 254: bi_gt
      ops.UN_NOT,              -- 255: un_not
      ops.JMP_UNLESS, 41, 259, -- 256: jmp_unless(41,259)
      ops.PHI,                 -- 259: phi
      ops.PUSH_FRAME,          -- 260: push_frame
      ops.GET_SLOT_DIRECT, 532,-- 261: get_slot_direct(532)
      ops.PUSH_LOCAL_FRAME,    -- 263: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 264: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 266: push_local_frame
      ops.GET_SLOT_DIRECT, 549,-- 267: get_slot_direct(549)
      ops.PUSH_LOCAL_FRAME,    -- 269: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 270: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 467,-- 272: get_slot_direct(467)
      ops.GET_SLOT_DIRECT, 55, -- 274: get_slot_direct(55)
      ops.INVOKE, 2,           -- 276: invoke(2)
      ops.POP,                 -- 278: pop
      ops.PUSH_LOCAL_FRAME,    -- 279: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 280: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 282: set_slot_direct(53)
      ops.JMP_INTO_LOOP, 522, 539,-- 284: jmp_into_loop(522,539)
      ops.PUSH_LOCAL_FRAME,    -- 287: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 288: push_literal(0)
      ops.SET_SLOT_DIRECT, 553,-- 290: set_slot_direct(553)
      ops.PUSH_LOCAL_FRAME,    -- 292: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 293: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 294: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 467,-- 296: get_slot_direct(467)
      ops.PUSH_LOCAL_FRAME,    -- 298: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 299: get_slot_direct(53)
      ops.GET_SLOT_INDIRECT,   -- 301: get_slot_indirect
      ops.SET_SLOT_DIRECT, 553,-- 302: set_slot_direct(553)
      ops.PUSH_LOCAL_FRAME,    -- 304: push_local_frame
      ops.GET_SLOT_DIRECT, 553,-- 305: get_slot_direct(553)
      ops.UN_TYPEOF,           -- 307: un_typeof
      ops.PUSH_LITERAL, 86,    -- 308: push_literal(86)
      ops.BI_EQ,               -- 310: bi_eq
      ops.JMP_UNLESS, 351, 512,-- 311: jmp_unless(351,512)
      ops.PUSH_FRAME,          -- 314: push_frame
      ops.GET_SLOT_DIRECT, 532,-- 315: get_slot_direct(532)
      ops.PUSH_LOCAL_FRAME,    -- 317: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 318: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 320: push_local_frame
      ops.GET_SLOT_DIRECT, 549,-- 321: get_slot_direct(549)
      ops.PUSH_LITERAL, 18,    -- 323: push_literal(18)
      ops.INVOKE, 2,           -- 325: invoke(2)
      ops.POP,                 -- 327: pop
      ops.PUSH_FRAME,          -- 328: push_frame
      ops.GET_SLOT_DIRECT, 533,-- 329: get_slot_direct(533)
      ops.PUSH_LOCAL_FRAME,    -- 331: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 332: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 334: push_local_frame
      ops.GET_SLOT_DIRECT, 549,-- 335: get_slot_direct(549)
      ops.PUSH_LOCAL_FRAME,    -- 337: push_local_frame
      ops.GET_SLOT_DIRECT, 553,-- 338: get_slot_direct(553)
      ops.DUP,                 -- 340: dup
      ops.GET_SLOT_DIRECT_CHECK, 15,-- 341: get_slot_direct_check(15)
      ops.SWAP,                -- 343: swap
      ops.INVOKE, 0,           -- 344: invoke(0)
      ops.INVOKE, 2,           -- 346: invoke(2)
      ops.POP,                 -- 348: pop
      ops.JMP, 512,            -- 349: jmp(512)
      ops.PUSH_LOCAL_FRAME,    -- 351: push_local_frame
      ops.GET_SLOT_DIRECT, 553,-- 352: get_slot_direct(553)
      ops.UN_TYPEOF,           -- 354: un_typeof
      ops.PUSH_LITERAL, 38,    -- 355: push_literal(38)
      ops.BI_EQ,               -- 357: bi_eq
      ops.JMP_UNLESS, 392, 511,-- 358: jmp_unless(392,511)
      ops.PUSH_FRAME,          -- 361: push_frame
      ops.GET_SLOT_DIRECT, 532,-- 362: get_slot_direct(532)
      ops.PUSH_LOCAL_FRAME,    -- 364: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 365: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 367: push_local_frame
      ops.GET_SLOT_DIRECT, 549,-- 368: get_slot_direct(549)
      ops.PUSH_LITERAL, 31,    -- 370: push_literal(31)
      ops.INVOKE, 2,           -- 372: invoke(2)
      ops.POP,                 -- 374: pop
      ops.PUSH_FRAME,          -- 375: push_frame
      ops.GET_SLOT_DIRECT, 533,-- 376: get_slot_direct(533)
      ops.PUSH_LOCAL_FRAME,    -- 378: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 379: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 381: push_local_frame
      ops.GET_SLOT_DIRECT, 549,-- 382: get_slot_direct(549)
      ops.PUSH_LOCAL_FRAME,    -- 384: push_local_frame
      ops.GET_SLOT_DIRECT, 553,-- 385: get_slot_direct(553)
      ops.INVOKE, 2,           -- 387: invoke(2)
      ops.POP,                 -- 389: pop
      ops.JMP, 511,            -- 390: jmp(511)
      ops.PUSH_LOCAL_FRAME,    -- 392: push_local_frame
      ops.GET_SLOT_DIRECT, 553,-- 393: get_slot_direct(553)
      ops.UN_TYPEOF,           -- 395: un_typeof
      ops.PUSH_LITERAL, 554,   -- 396: push_literal(554)
      ops.BI_EQ,               -- 398: bi_eq
      ops.JMP_UNLESS, 429, 510,-- 399: jmp_unless(429,510)
      ops.PUSH_FRAME,          -- 402: push_frame
      ops.GET_SLOT_DIRECT, 532,-- 403: get_slot_direct(532)
      ops.PUSH_LOCAL_FRAME,    -- 405: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 406: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 408: push_local_frame
      ops.GET_SLOT_DIRECT, 549,-- 409: get_slot_direct(549)
      ops.PUSH_LOCAL_FRAME,    -- 411: push_local_frame
      ops.GET_SLOT_DIRECT, 553,-- 412: get_slot_direct(553)
      ops.JMP_UNLESS, 421, 423,-- 414: jmp_unless(421,423)
      ops.PUSH_LITERAL, 136,   -- 417: push_literal(136)
      ops.JMP, 423,            -- 419: jmp(423)
      ops.PUSH_LITERAL, 159,   -- 421: push_literal(159)
      ops.PHI,                 -- 423: phi
      ops.INVOKE, 2,           -- 424: invoke(2)
      ops.POP,                 -- 426: pop
      ops.JMP, 510,            -- 427: jmp(510)
      ops.PUSH_LOCAL_FRAME,    -- 429: push_local_frame
      ops.GET_SLOT_DIRECT, 553,-- 430: get_slot_direct(553)
      ops.PUSH_LITERAL, 41,    -- 432: push_literal(41)
      ops.BI_EQ,               -- 434: bi_eq
      ops.JMP_UNLESS, 454, 509,-- 435: jmp_unless(454,509)
      ops.PUSH_FRAME,          -- 438: push_frame
      ops.GET_SLOT_DIRECT, 532,-- 439: get_slot_direct(532)
      ops.PUSH_LOCAL_FRAME,    -- 441: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 442: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 444: push_local_frame
      ops.GET_SLOT_DIRECT, 549,-- 445: get_slot_direct(549)
      ops.PUSH_LITERAL, 162,   -- 447: push_literal(162)
      ops.INVOKE, 2,           -- 449: invoke(2)
      ops.POP,                 -- 451: pop
      ops.JMP, 509,            -- 452: jmp(509)
      ops.PUSH_LOCAL_FRAME,    -- 454: push_local_frame
      ops.GET_SLOT_DIRECT, 553,-- 455: get_slot_direct(553)
      ops.PUSH_LITERAL, 0,     -- 457: push_literal(0)
      ops.BI_EQ,               -- 459: bi_eq
      ops.JMP_UNLESS, 479, 508,-- 460: jmp_unless(479,508)
      ops.PUSH_FRAME,          -- 463: push_frame
      ops.GET_SLOT_DIRECT, 532,-- 464: get_slot_direct(532)
      ops.PUSH_LOCAL_FRAME,    -- 466: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 467: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 469: push_local_frame
      ops.GET_SLOT_DIRECT, 549,-- 470: get_slot_direct(549)
      ops.PUSH_LITERAL, 165,   -- 472: push_literal(165)
      ops.INVOKE, 2,           -- 474: invoke(2)
      ops.POP,                 -- 476: pop
      ops.JMP, 508,            -- 477: jmp(508)
      ops.PUSH_FRAME,          -- 479: push_frame
      ops.GET_SLOT_DIRECT, 527,-- 480: get_slot_direct(527)
      ops.DUP,                 -- 482: dup
      ops.GET_SLOT_DIRECT_CHECK, 528,-- 483: get_slot_direct_check(528)
      ops.SWAP,                -- 485: swap
      ops.PUSH_LITERAL, 555,   -- 486: push_literal(555)
      ops.PUSH_LOCAL_FRAME,    -- 488: push_local_frame
      ops.GET_SLOT_DIRECT, 553,-- 489: get_slot_direct(553)
      ops.INVOKE, 2,           -- 491: invoke(2)
      ops.POP,                 -- 493: pop
      ops.PUSH_FRAME,          -- 494: push_frame
      ops.GET_SLOT_DIRECT, 532,-- 495: get_slot_direct(532)
      ops.PUSH_LOCAL_FRAME,    -- 497: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 498: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 500: push_local_frame
      ops.GET_SLOT_DIRECT, 549,-- 501: get_slot_direct(549)
      ops.PUSH_LITERAL, 168,   -- 503: push_literal(168)
      ops.INVOKE, 2,           -- 505: invoke(2)
      ops.POP,                 -- 507: pop
      ops.PHI,                 -- 508: phi
      ops.PHI,                 -- 509: phi
      ops.PHI,                 -- 510: phi
      ops.PHI,                 -- 511: phi
      ops.PHI,                 -- 512: phi
      ops.PUSH_LOCAL_FRAME,    -- 513: push_local_frame
      ops.DUP,                 -- 514: dup
      ops.GET_SLOT_DIRECT, 53, -- 515: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 517: push_literal(31)
      ops.BI_ADD,              -- 519: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 520: set_slot_direct(53)
      ops.PHI,                 -- 522: phi
      ops.PUSH_LOCAL_FRAME,    -- 523: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 524: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 526: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 527: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 467,-- 529: get_slot_direct(467)
      ops.GET_SLOT_DIRECT, 55, -- 531: get_slot_direct(55)
      ops.SWAP,                -- 533: swap
      ops.BI_GT,               -- 534: bi_gt
      ops.UN_NOT,              -- 535: un_not
      ops.JMP_UNLESS, 287, 539,-- 536: jmp_unless(287,539)
      ops.PHI,                 -- 539: phi
      ops.PUSH_LOCAL_FRAME,    -- 540: push_local_frame
      ops.GET_SLOT_DIRECT, 549,-- 541: get_slot_direct(549)
      ops.RETURN               -- 543: return
    }
  },
  ifunc.Function:new{ -- ".new_label"
    name = jsval.newString(".new_label"),
    id = 146,
    nargs = 0,
    max_stack = 3,
    bytecode = {
      ops.NEW_OBJECT,          -- 0: new_object
      ops.DUP,                 -- 1: dup
      ops.PUSH_LITERAL, 557,   -- 2: push_literal(557)
      ops.SET_SLOT_DIRECT, 470,-- 4: set_slot_direct(470)
      ops.RETURN               -- 6: return
    }
  },
  ifunc.Function:new{ -- ".set_label"
    name = jsval.newString(".set_label"),
    id = 147,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 470,-- 8: set_slot_direct(470)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 470,-- 12: get_slot_direct(470)
      ops.PUSH_LOCAL_FRAME,    -- 14: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 15: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 543,-- 17: get_slot_direct(543)
      ops.GET_SLOT_DIRECT, 463,-- 19: get_slot_direct(463)
      ops.GET_SLOT_DIRECT, 55, -- 21: get_slot_direct(55)
      ops.SET_SLOT_DIRECT, 470,-- 23: set_slot_direct(470)
      ops.PUSH_LITERAL, 0,     -- 25: push_literal(0)
      ops.RETURN               -- 27: return
    }
  },
  ifunc.Function:new{ -- ".peek_loop_label"
    name = jsval.newString(".peek_loop_label"),
    id = 148,
    nargs = 0,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 560,-- 3: set_slot_direct(560)
      ops.PUSH_LOCAL_FRAME,    -- 5: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 7: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 543,-- 9: get_slot_direct(543)
      ops.GET_SLOT_DIRECT, 539,-- 11: get_slot_direct(539)
      ops.SET_SLOT_DIRECT, 560,-- 13: set_slot_direct(560)
      ops.PUSH_LOCAL_FRAME,    -- 15: push_local_frame
      ops.GET_SLOT_DIRECT, 560,-- 16: get_slot_direct(560)
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.GET_SLOT_DIRECT, 560,-- 19: get_slot_direct(560)
      ops.GET_SLOT_DIRECT, 55, -- 21: get_slot_direct(55)
      ops.PUSH_LITERAL, 31,    -- 23: push_literal(31)
      ops.BI_SUB,              -- 25: bi_sub
      ops.GET_SLOT_INDIRECT,   -- 26: get_slot_indirect
      ops.RETURN               -- 27: return
    }
  },
  ifunc.Function:new{ -- ".pop_loop_label"
    name = jsval.newString(".pop_loop_label"),
    id = 149,
    nargs = 0,
    max_stack = 2,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 543,-- 3: get_slot_direct(543)
      ops.GET_SLOT_DIRECT, 539,-- 5: get_slot_direct(539)
      ops.DUP,                 -- 7: dup
      ops.GET_SLOT_DIRECT_CHECK, 71,-- 8: get_slot_direct_check(71)
      ops.SWAP,                -- 10: swap
      ops.INVOKE, 0,           -- 11: invoke(0)
      ops.RETURN               -- 13: return
    }
  },
  ifunc.Function:new{ -- ".push_loop_label"
    name = jsval.newString(".push_loop_label"),
    id = 150,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 470,-- 8: set_slot_direct(470)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 12: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 543,-- 14: get_slot_direct(543)
      ops.GET_SLOT_DIRECT, 539,-- 16: get_slot_direct(539)
      ops.DUP,                 -- 18: dup
      ops.GET_SLOT_DIRECT_CHECK, 69,-- 19: get_slot_direct_check(69)
      ops.SWAP,                -- 21: swap
      ops.PUSH_LOCAL_FRAME,    -- 22: push_local_frame
      ops.GET_SLOT_DIRECT, 470,-- 23: get_slot_direct(470)
      ops.INVOKE, 1,           -- 25: invoke(1)
      ops.RETURN               -- 27: return
    }
  },
  ifunc.Function:new{ -- ".flatten_labels"
    name = jsval.newString(".flatten_labels"),
    id = 151,
    nargs = 0,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 1: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 534,-- 3: get_slot_direct(534)
      ops.DUP,                 -- 5: dup
      ops.GET_SLOT_DIRECT_CHECK, 94,-- 6: get_slot_direct_check(94)
      ops.SWAP,                -- 8: swap
      ops.NEW_FUNCTION, 152,   -- 9: new_function(152)
      ops.INVOKE, 1,           -- 11: invoke(1)
      ops.POP,                 -- 13: pop
      ops.PUSH_LITERAL, 0,     -- 14: push_literal(0)
      ops.RETURN               -- 16: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 152,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 109,-- 8: set_slot_direct(109)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 463,-- 14: set_slot_direct(463)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 19: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 22: push_local_frame
      ops.GET_SLOT_DIRECT, 109,-- 23: get_slot_direct(109)
      ops.GET_SLOT_DIRECT, 463,-- 25: get_slot_direct(463)
      ops.SET_SLOT_DIRECT, 463,-- 27: set_slot_direct(463)
      ops.PUSH_LOCAL_FRAME,    -- 29: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 30: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 32: set_slot_direct(53)
      ops.JMP_INTO_LOOP, 85, 100,-- 34: jmp_into_loop(85,100)
      ops.PUSH_LOCAL_FRAME,    -- 37: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 38: push_literal(0)
      ops.SET_SLOT_DIRECT, 110,-- 40: set_slot_direct(110)
      ops.PUSH_LOCAL_FRAME,    -- 42: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 43: push_local_frame
      ops.GET_SLOT_DIRECT, 463,-- 44: get_slot_direct(463)
      ops.PUSH_LOCAL_FRAME,    -- 46: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 47: get_slot_direct(53)
      ops.GET_SLOT_INDIRECT,   -- 49: get_slot_indirect
      ops.SET_SLOT_DIRECT, 110,-- 50: set_slot_direct(110)
      ops.PUSH_LOCAL_FRAME,    -- 52: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 53: get_slot_direct(110)
      ops.UN_TYPEOF,           -- 55: un_typeof
      ops.PUSH_LITERAL, 86,    -- 56: push_literal(86)
      ops.BI_EQ,               -- 58: bi_eq
      ops.UN_NOT,              -- 59: un_not
      ops.JMP_UNLESS, 75, 75,  -- 60: jmp_unless(75,75)
      ops.PUSH_LOCAL_FRAME,    -- 63: push_local_frame
      ops.GET_SLOT_DIRECT, 463,-- 64: get_slot_direct(463)
      ops.PUSH_LOCAL_FRAME,    -- 66: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 67: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 69: push_local_frame
      ops.GET_SLOT_DIRECT, 110,-- 70: get_slot_direct(110)
      ops.GET_SLOT_DIRECT, 470,-- 72: get_slot_direct(470)
      ops.SET_SLOT_INDIRECT,   -- 74: set_slot_indirect
      ops.PHI,                 -- 75: phi
      ops.PUSH_LOCAL_FRAME,    -- 76: push_local_frame
      ops.DUP,                 -- 77: dup
      ops.GET_SLOT_DIRECT, 53, -- 78: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 80: push_literal(31)
      ops.BI_ADD,              -- 82: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 83: set_slot_direct(53)
      ops.PHI,                 -- 85: phi
      ops.PUSH_LOCAL_FRAME,    -- 86: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 87: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 89: push_local_frame
      ops.GET_SLOT_DIRECT, 463,-- 90: get_slot_direct(463)
      ops.GET_SLOT_DIRECT, 55, -- 92: get_slot_direct(55)
      ops.SWAP,                -- 94: swap
      ops.BI_GT,               -- 95: bi_gt
      ops.UN_NOT,              -- 96: un_not
      ops.JMP_UNLESS, 37, 100, -- 97: jmp_unless(37,100)
      ops.PHI,                 -- 100: phi
      ops.PUSH_LITERAL, 0,     -- 101: push_literal(0)
      ops.RETURN               -- 103: return
    }
  },
  ifunc.Function:new{ -- ".bcompile_stmts"
    name = jsval.newString(".bcompile_stmts"),
    id = 153,
    nargs = 1,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 565,-- 8: set_slot_direct(565)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 12: get_slot_direct(26)
      ops.DUP,                 -- 14: dup
      ops.GET_SLOT_DIRECT_CHECK, 566,-- 15: get_slot_direct_check(566)
      ops.SWAP,                -- 17: swap
      ops.NEW_OBJECT,          -- 18: new_object
      ops.DUP,                 -- 19: dup
      ops.PUSH_LITERAL, 91,    -- 20: push_literal(91)
      ops.SET_SLOT_DIRECT, 224,-- 22: set_slot_direct(224)
      ops.DUP,                 -- 24: dup
      ops.PUSH_LITERAL, 339,   -- 25: push_literal(339)
      ops.SET_SLOT_DIRECT, 363,-- 27: set_slot_direct(363)
      ops.DUP,                 -- 29: dup
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.GET_SLOT_DIRECT, 565,-- 31: get_slot_direct(565)
      ops.SET_SLOT_DIRECT, 39, -- 33: set_slot_direct(39)
      ops.INVOKE, 1,           -- 35: invoke(1)
      ops.POP,                 -- 37: pop
      ops.PUSH_LITERAL, 0,     -- 38: push_literal(0)
      ops.RETURN               -- 40: return
    }
  },
  ifunc.Function:new{ -- ".bcompile_stmt"
    name = jsval.newString(".bcompile_stmt"),
    id = 154,
    nargs = 1,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 441,-- 8: set_slot_direct(441)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 12: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 14: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 15: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 17: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 18: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 543,-- 20: get_slot_direct(543)
      ops.GET_SLOT_DIRECT, 538,-- 22: get_slot_direct(538)
      ops.PUSH_LITERAL, 18,    -- 24: push_literal(18)
      ops.BI_EQ,               -- 26: bi_eq
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.GET_SLOT_DIRECT, 441,-- 28: get_slot_direct(441)
      ops.INVOKE, 2,           -- 30: invoke(2)
      ops.POP,                 -- 32: pop
      ops.PUSH_LOCAL_FRAME,    -- 33: push_local_frame
      ops.GET_SLOT_DIRECT, 441,-- 34: get_slot_direct(441)
      ops.GET_SLOT_DIRECT, 363,-- 36: get_slot_direct(363)
      ops.PUSH_LITERAL, 386,   -- 38: push_literal(386)
      ops.BI_EQ,               -- 40: bi_eq
      ops.DUP,                 -- 41: dup
      ops.JMP_UNLESS, 114, 114,-- 42: jmp_unless(114,114)
      ops.POP,                 -- 45: pop
      ops.PUSH_LOCAL_FRAME,    -- 46: push_local_frame
      ops.GET_SLOT_DIRECT, 441,-- 47: get_slot_direct(441)
      ops.GET_SLOT_DIRECT, 224,-- 49: get_slot_direct(224)
      ops.PUSH_LITERAL, 392,   -- 51: push_literal(392)
      ops.BI_EQ,               -- 53: bi_eq
      ops.DUP,                 -- 54: dup
      ops.UN_NOT,              -- 55: un_not
      ops.JMP_UNLESS, 113, 113,-- 56: jmp_unless(113,113)
      ops.POP,                 -- 59: pop
      ops.PUSH_LOCAL_FRAME,    -- 60: push_local_frame
      ops.GET_SLOT_DIRECT, 441,-- 61: get_slot_direct(441)
      ops.GET_SLOT_DIRECT, 224,-- 63: get_slot_direct(224)
      ops.PUSH_LITERAL, 393,   -- 65: push_literal(393)
      ops.BI_EQ,               -- 67: bi_eq
      ops.DUP,                 -- 68: dup
      ops.UN_NOT,              -- 69: un_not
      ops.JMP_UNLESS, 112, 112,-- 70: jmp_unless(112,112)
      ops.POP,                 -- 73: pop
      ops.PUSH_LOCAL_FRAME,    -- 74: push_local_frame
      ops.GET_SLOT_DIRECT, 441,-- 75: get_slot_direct(441)
      ops.GET_SLOT_DIRECT, 224,-- 77: get_slot_direct(224)
      ops.PUSH_LITERAL, 394,   -- 79: push_literal(394)
      ops.BI_EQ,               -- 81: bi_eq
      ops.DUP,                 -- 82: dup
      ops.UN_NOT,              -- 83: un_not
      ops.JMP_UNLESS, 111, 111,-- 84: jmp_unless(111,111)
      ops.POP,                 -- 87: pop
      ops.PUSH_LOCAL_FRAME,    -- 88: push_local_frame
      ops.GET_SLOT_DIRECT, 441,-- 89: get_slot_direct(441)
      ops.GET_SLOT_DIRECT, 224,-- 91: get_slot_direct(224)
      ops.PUSH_LITERAL, 395,   -- 93: push_literal(395)
      ops.BI_EQ,               -- 95: bi_eq
      ops.DUP,                 -- 96: dup
      ops.UN_NOT,              -- 97: un_not
      ops.JMP_UNLESS, 110, 110,-- 98: jmp_unless(110,110)
      ops.POP,                 -- 101: pop
      ops.PUSH_LOCAL_FRAME,    -- 102: push_local_frame
      ops.GET_SLOT_DIRECT, 441,-- 103: get_slot_direct(441)
      ops.GET_SLOT_DIRECT, 224,-- 105: get_slot_direct(224)
      ops.PUSH_LITERAL, 396,   -- 107: push_literal(396)
      ops.BI_EQ,               -- 109: bi_eq
      ops.PHI,                 -- 110: phi
      ops.PHI,                 -- 111: phi
      ops.PHI,                 -- 112: phi
      ops.PHI,                 -- 113: phi
      ops.PHI,                 -- 114: phi
      ops.JMP_UNLESS, 167, 167,-- 115: jmp_unless(167,167)
      ops.PUSH_FRAME,          -- 118: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 119: get_slot_direct(525)
      ops.PUSH_LOCAL_FRAME,    -- 121: push_local_frame
      ops.GET_SLOT_DIRECT, 441,-- 122: get_slot_direct(441)
      ops.GET_SLOT_DIRECT, 363,-- 124: get_slot_direct(363)
      ops.GET_SLOT_INDIRECT,   -- 126: get_slot_indirect
      ops.DUP,                 -- 127: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 128: get_slot_direct_check(93)
      ops.SWAP,                -- 130: swap
      ops.PUSH_LOCAL_FRAME,    -- 131: push_local_frame
      ops.GET_SLOT_DIRECT, 441,-- 132: get_slot_direct(441)
      ops.PUSH_LOCAL_FRAME,    -- 134: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 135: get_slot_direct(26)
      ops.PUSH_LITERAL, 31,    -- 137: push_literal(31)
      ops.INVOKE, 3,           -- 139: invoke(3)
      ops.POP,                 -- 141: pop
      ops.PUSH_FRAME,          -- 142: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 143: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 145: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 146: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 148: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 149: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 543,-- 151: get_slot_direct(543)
      ops.GET_SLOT_DIRECT, 538,-- 153: get_slot_direct(538)
      ops.PUSH_LITERAL, 18,    -- 155: push_literal(18)
      ops.BI_EQ,               -- 157: bi_eq
      ops.PUSH_LOCAL_FRAME,    -- 158: push_local_frame
      ops.GET_SLOT_DIRECT, 441,-- 159: get_slot_direct(441)
      ops.INVOKE, 2,           -- 161: invoke(2)
      ops.POP,                 -- 163: pop
      ops.PUSH_LITERAL, 0,     -- 164: push_literal(0)
      ops.RETURN,              -- 166: return
      ops.PHI,                 -- 167: phi
      ops.PUSH_LOCAL_FRAME,    -- 168: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 169: get_slot_direct(26)
      ops.DUP,                 -- 171: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 172: get_slot_direct_check(568)
      ops.SWAP,                -- 174: swap
      ops.PUSH_LOCAL_FRAME,    -- 175: push_local_frame
      ops.GET_SLOT_DIRECT, 441,-- 176: get_slot_direct(441)
      ops.INVOKE, 1,           -- 178: invoke(1)
      ops.POP,                 -- 180: pop
      ops.PUSH_LOCAL_FRAME,    -- 181: push_local_frame
      ops.GET_SLOT_DIRECT, 441,-- 182: get_slot_direct(441)
      ops.GET_SLOT_DIRECT, 363,-- 184: get_slot_direct(363)
      ops.PUSH_LITERAL, 339,   -- 186: push_literal(339)
      ops.BI_EQ,               -- 188: bi_eq
      ops.UN_NOT,              -- 189: un_not
      ops.JMP_UNLESS, 227, 227,-- 190: jmp_unless(227,227)
      ops.PUSH_FRAME,          -- 193: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 194: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 196: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 197: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 199: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 200: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 543,-- 202: get_slot_direct(543)
      ops.GET_SLOT_DIRECT, 538,-- 204: get_slot_direct(538)
      ops.PUSH_LITERAL, 31,    -- 206: push_literal(31)
      ops.BI_EQ,               -- 208: bi_eq
      ops.PUSH_LOCAL_FRAME,    -- 209: push_local_frame
      ops.GET_SLOT_DIRECT, 441,-- 210: get_slot_direct(441)
      ops.INVOKE, 2,           -- 212: invoke(2)
      ops.POP,                 -- 214: pop
      ops.PUSH_LOCAL_FRAME,    -- 215: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 216: get_slot_direct(26)
      ops.DUP,                 -- 218: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 219: get_slot_direct_check(545)
      ops.SWAP,                -- 221: swap
      ops.PUSH_LITERAL, 71,    -- 222: push_literal(71)
      ops.INVOKE, 1,           -- 224: invoke(1)
      ops.POP,                 -- 226: pop
      ops.PHI,                 -- 227: phi
      ops.PUSH_FRAME,          -- 228: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 229: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 231: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 232: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 234: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 235: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 543,-- 237: get_slot_direct(543)
      ops.GET_SLOT_DIRECT, 538,-- 239: get_slot_direct(538)
      ops.PUSH_LITERAL, 18,    -- 241: push_literal(18)
      ops.BI_EQ,               -- 243: bi_eq
      ops.PUSH_LOCAL_FRAME,    -- 244: push_local_frame
      ops.GET_SLOT_DIRECT, 441,-- 245: get_slot_direct(441)
      ops.INVOKE, 2,           -- 247: invoke(2)
      ops.POP,                 -- 249: pop
      ops.PUSH_LITERAL, 0,     -- 250: push_literal(0)
      ops.RETURN               -- 252: return
    }
  },
  ifunc.Function:new{ -- ".bcompile_expr"
    name = jsval.newString(".bcompile_expr"),
    id = 155,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 441,-- 8: set_slot_direct(441)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 12: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 14: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 15: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 17: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 18: get_slot_direct(525)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.GET_SLOT_DIRECT, 441,-- 21: get_slot_direct(441)
      ops.GET_SLOT_DIRECT, 363,-- 23: get_slot_direct(363)
      ops.GET_SLOT_INDIRECT,   -- 25: get_slot_indirect
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.GET_SLOT_DIRECT, 441,-- 27: get_slot_direct(441)
      ops.INVOKE, 2,           -- 29: invoke(2)
      ops.POP,                 -- 31: pop
      ops.PUSH_FRAME,          -- 32: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 33: get_slot_direct(525)
      ops.PUSH_LOCAL_FRAME,    -- 35: push_local_frame
      ops.GET_SLOT_DIRECT, 441,-- 36: get_slot_direct(441)
      ops.GET_SLOT_DIRECT, 363,-- 38: get_slot_direct(363)
      ops.GET_SLOT_INDIRECT,   -- 40: get_slot_indirect
      ops.DUP,                 -- 41: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 42: get_slot_direct_check(93)
      ops.SWAP,                -- 44: swap
      ops.PUSH_LOCAL_FRAME,    -- 45: push_local_frame
      ops.GET_SLOT_DIRECT, 441,-- 46: get_slot_direct(441)
      ops.PUSH_LOCAL_FRAME,    -- 48: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 49: get_slot_direct(26)
      ops.INVOKE, 2,           -- 51: invoke(2)
      ops.RETURN               -- 53: return
    }
  },
  ifunc.Function:new{ -- ".name"
    name = jsval.newString(".name"),
    id = 156,
    nargs = 1,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 14: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 569,-- 19: set_slot_direct(569)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 22: push_literal(0)
      ops.SET_SLOT_DIRECT, 201,-- 24: set_slot_direct(201)
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 27: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 29: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 32: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 33: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 328,-- 35: get_slot_direct(328)
      ops.PUSH_LOCAL_FRAME,    -- 37: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 38: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 328,-- 40: get_slot_direct(328)
      ops.GET_SLOT_DIRECT, 366,-- 42: get_slot_direct(366)
      ops.BI_SUB,              -- 44: bi_sub
      ops.SET_SLOT_DIRECT, 569,-- 45: set_slot_direct(569)
      ops.PUSH_LOCAL_FRAME,    -- 47: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 48: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 49: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 328,-- 51: get_slot_direct(328)
      ops.GET_SLOT_DIRECT, 359,-- 53: get_slot_direct(359)
      ops.PUSH_LOCAL_FRAME,    -- 55: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 56: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 224,-- 58: get_slot_direct(224)
      ops.GET_SLOT_INDIRECT,   -- 60: get_slot_indirect
      ops.SET_SLOT_DIRECT, 201,-- 61: set_slot_direct(201)
      ops.PUSH_LOCAL_FRAME,    -- 63: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 64: get_slot_direct(230)
      ops.DUP,                 -- 66: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 67: get_slot_direct_check(545)
      ops.SWAP,                -- 69: swap
      ops.PUSH_LOCAL_FRAME,    -- 70: push_local_frame
      ops.GET_SLOT_DIRECT, 201,-- 71: get_slot_direct(201)
      ops.JMP_UNLESS, 80, 82,  -- 73: jmp_unless(80,82)
      ops.PUSH_LITERAL, 471,   -- 76: push_literal(471)
      ops.JMP, 82,             -- 78: jmp(82)
      ops.PUSH_LITERAL, 472,   -- 80: push_literal(472)
      ops.PHI,                 -- 82: phi
      ops.INVOKE, 1,           -- 83: invoke(1)
      ops.POP,                 -- 85: pop
      ops.PUSH_FRAME,          -- 86: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 87: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 89: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 90: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 92: push_local_frame
      ops.GET_SLOT_DIRECT, 201,-- 93: get_slot_direct(201)
      ops.DUP,                 -- 95: dup
      ops.UN_NOT,              -- 96: un_not
      ops.JMP_UNLESS, 107, 107,-- 97: jmp_unless(107,107)
      ops.POP,                 -- 100: pop
      ops.PUSH_LOCAL_FRAME,    -- 101: push_local_frame
      ops.GET_SLOT_DIRECT, 569,-- 102: get_slot_direct(569)
      ops.PUSH_LITERAL, 18,    -- 104: push_literal(18)
      ops.BI_EQ,               -- 106: bi_eq
      ops.PHI,                 -- 107: phi
      ops.INVOKE, 1,           -- 108: invoke(1)
      ops.POP,                 -- 110: pop
      ops.PUSH_LOCAL_FRAME,    -- 111: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 112: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 535,-- 114: get_slot_direct(535)
      ops.JMP_UNLESS, 168, 168,-- 116: jmp_unless(168,168)
      ops.JMP_INTO_LOOP, 154, 167,-- 119: jmp_into_loop(154,167)
      ops.PUSH_LOCAL_FRAME,    -- 122: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 123: get_slot_direct(230)
      ops.DUP,                 -- 125: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 126: get_slot_direct_check(545)
      ops.SWAP,                -- 128: swap
      ops.PUSH_LITERAL, 477,   -- 129: push_literal(477)
      ops.PUSH_LOCAL_FRAME,    -- 131: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 132: get_slot_direct(230)
      ops.DUP,                 -- 134: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 135: get_slot_direct_check(374)
      ops.SWAP,                -- 137: swap
      ops.PUSH_LITERAL, 117,   -- 138: push_literal(117)
      ops.INVOKE, 1,           -- 140: invoke(1)
      ops.INVOKE, 2,           -- 142: invoke(2)
      ops.POP,                 -- 144: pop
      ops.PUSH_LOCAL_FRAME,    -- 145: push_local_frame
      ops.DUP,                 -- 146: dup
      ops.GET_SLOT_DIRECT, 53, -- 147: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 149: push_literal(31)
      ops.BI_ADD,              -- 151: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 152: set_slot_direct(53)
      ops.PHI,                 -- 154: phi
      ops.PUSH_LOCAL_FRAME,    -- 155: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 156: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 158: push_local_frame
      ops.GET_SLOT_DIRECT, 569,-- 159: get_slot_direct(569)
      ops.SWAP,                -- 161: swap
      ops.BI_GT,               -- 162: bi_gt
      ops.UN_NOT,              -- 163: un_not
      ops.JMP_UNLESS, 122, 167,-- 164: jmp_unless(122,167)
      ops.PHI,                 -- 167: phi
      ops.PHI,                 -- 168: phi
      ops.PUSH_LOCAL_FRAME,    -- 169: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 170: get_slot_direct(230)
      ops.DUP,                 -- 172: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 173: get_slot_direct_check(545)
      ops.SWAP,                -- 175: swap
      ops.PUSH_LITERAL, 477,   -- 176: push_literal(477)
      ops.PUSH_LOCAL_FRAME,    -- 178: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 179: get_slot_direct(230)
      ops.DUP,                 -- 181: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 182: get_slot_direct_check(374)
      ops.SWAP,                -- 184: swap
      ops.PUSH_LOCAL_FRAME,    -- 185: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 186: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 224,-- 188: get_slot_direct(224)
      ops.INVOKE, 1,           -- 190: invoke(1)
      ops.INVOKE, 2,           -- 192: invoke(2)
      ops.POP,                 -- 194: pop
      ops.PUSH_LITERAL, 0,     -- 195: push_literal(0)
      ops.RETURN               -- 197: return
    }
  },
  ifunc.Function:new{ -- ".literal"
    name = jsval.newString(".literal"),
    id = 157,
    nargs = 1,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 12: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 224,-- 14: get_slot_direct(224)
      ops.PUSH_LITERAL, 0,     -- 16: push_literal(0)
      ops.BI_EQ,               -- 18: bi_eq
      ops.JMP_UNLESS, 48, 48,  -- 19: jmp_unless(48,48)
      ops.PUSH_LOCAL_FRAME,    -- 22: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 23: get_slot_direct(230)
      ops.DUP,                 -- 25: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 26: get_slot_direct_check(545)
      ops.SWAP,                -- 28: swap
      ops.PUSH_LITERAL, 473,   -- 29: push_literal(473)
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 32: get_slot_direct(230)
      ops.DUP,                 -- 34: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 35: get_slot_direct_check(374)
      ops.SWAP,                -- 37: swap
      ops.PUSH_LITERAL, 0,     -- 38: push_literal(0)
      ops.INVOKE, 1,           -- 40: invoke(1)
      ops.INVOKE, 2,           -- 42: invoke(2)
      ops.POP,                 -- 44: pop
      ops.PUSH_LITERAL, 0,     -- 45: push_literal(0)
      ops.RETURN,              -- 47: return
      ops.PHI,                 -- 48: phi
      ops.PUSH_LOCAL_FRAME,    -- 49: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 50: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 224,-- 52: get_slot_direct(224)
      ops.PUSH_LITERAL, 41,    -- 54: push_literal(41)
      ops.BI_EQ,               -- 56: bi_eq
      ops.JMP_UNLESS, 86, 86,  -- 57: jmp_unless(86,86)
      ops.PUSH_LOCAL_FRAME,    -- 60: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 61: get_slot_direct(230)
      ops.DUP,                 -- 63: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 64: get_slot_direct_check(545)
      ops.SWAP,                -- 66: swap
      ops.PUSH_LITERAL, 473,   -- 67: push_literal(473)
      ops.PUSH_LOCAL_FRAME,    -- 69: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 70: get_slot_direct(230)
      ops.DUP,                 -- 72: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 73: get_slot_direct_check(374)
      ops.SWAP,                -- 75: swap
      ops.PUSH_LITERAL, 41,    -- 76: push_literal(41)
      ops.INVOKE, 1,           -- 78: invoke(1)
      ops.INVOKE, 2,           -- 80: invoke(2)
      ops.POP,                 -- 82: pop
      ops.PUSH_LITERAL, 0,     -- 83: push_literal(0)
      ops.RETURN,              -- 85: return
      ops.PHI,                 -- 86: phi
      ops.PUSH_LOCAL_FRAME,    -- 87: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 88: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 224,-- 90: get_slot_direct(224)
      ops.UN_TYPEOF,           -- 92: un_typeof
      ops.PUSH_LITERAL, 88,    -- 93: push_literal(88)
      ops.BI_EQ,               -- 95: bi_eq
      ops.JMP_UNLESS, 180, 180,-- 96: jmp_unless(180,180)
      ops.PUSH_LOCAL_FRAME,    -- 99: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 100: push_literal(0)
      ops.SET_SLOT_DIRECT, 570,-- 102: set_slot_direct(570)
      ops.PUSH_FRAME,          -- 104: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 105: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 107: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 108: get_slot_direct(26)
      ops.PUSH_LITERAL, 32,    -- 110: push_literal(32)
      ops.PUSH_LITERAL, 571,   -- 112: push_literal(571)
      ops.INVOKE, 2,           -- 114: invoke(2)
      ops.POP,                 -- 116: pop
      ops.PUSH_LOCAL_FRAME,    -- 117: push_local_frame
      ops.PUSH_LITERAL, 14,    -- 118: push_literal(14)
      ops.SET_SLOT_DIRECT, 570,-- 120: set_slot_direct(570)
      ops.PUSH_LOCAL_FRAME,    -- 122: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 123: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 224,-- 125: get_slot_direct(224)
      ops.GET_SLOT_DIRECT, 55, -- 127: get_slot_direct(55)
      ops.PUSH_LITERAL, 18,    -- 129: push_literal(18)
      ops.BI_EQ,               -- 131: bi_eq
      ops.JMP_UNLESS, 140, 140,-- 132: jmp_unless(140,140)
      ops.PUSH_LOCAL_FRAME,    -- 135: push_local_frame
      ops.PUSH_LITERAL, 68,    -- 136: push_literal(68)
      ops.SET_SLOT_DIRECT, 570,-- 138: set_slot_direct(570)
      ops.PHI,                 -- 140: phi
      ops.PUSH_LOCAL_FRAME,    -- 141: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 142: get_slot_direct(230)
      ops.DUP,                 -- 144: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 145: get_slot_direct_check(545)
      ops.SWAP,                -- 147: swap
      ops.PUSH_LITERAL, 471,   -- 148: push_literal(471)
      ops.INVOKE, 1,           -- 150: invoke(1)
      ops.POP,                 -- 152: pop
      ops.PUSH_LOCAL_FRAME,    -- 153: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 154: get_slot_direct(230)
      ops.DUP,                 -- 156: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 157: get_slot_direct_check(545)
      ops.SWAP,                -- 159: swap
      ops.PUSH_LITERAL, 477,   -- 160: push_literal(477)
      ops.PUSH_LOCAL_FRAME,    -- 162: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 163: get_slot_direct(230)
      ops.DUP,                 -- 165: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 166: get_slot_direct_check(374)
      ops.SWAP,                -- 168: swap
      ops.PUSH_LOCAL_FRAME,    -- 169: push_local_frame
      ops.GET_SLOT_DIRECT, 570,-- 170: get_slot_direct(570)
      ops.INVOKE, 1,           -- 172: invoke(1)
      ops.INVOKE, 2,           -- 174: invoke(2)
      ops.POP,                 -- 176: pop
      ops.PUSH_LITERAL, 0,     -- 177: push_literal(0)
      ops.RETURN,              -- 179: return
      ops.PHI,                 -- 180: phi
      ops.PUSH_LOCAL_FRAME,    -- 181: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 182: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 224,-- 184: get_slot_direct(224)
      ops.UN_TYPEOF,           -- 186: un_typeof
      ops.PUSH_LITERAL, 38,    -- 187: push_literal(38)
      ops.BI_EQ,               -- 189: bi_eq
      ops.JMP_UNLESS, 222, 222,-- 190: jmp_unless(222,222)
      ops.PUSH_LOCAL_FRAME,    -- 193: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 194: get_slot_direct(230)
      ops.DUP,                 -- 196: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 197: get_slot_direct_check(545)
      ops.SWAP,                -- 199: swap
      ops.PUSH_LITERAL, 473,   -- 200: push_literal(473)
      ops.PUSH_LOCAL_FRAME,    -- 202: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 203: get_slot_direct(230)
      ops.DUP,                 -- 205: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 206: get_slot_direct_check(374)
      ops.SWAP,                -- 208: swap
      ops.PUSH_LOCAL_FRAME,    -- 209: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 210: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 224,-- 212: get_slot_direct(224)
      ops.INVOKE, 1,           -- 214: invoke(1)
      ops.INVOKE, 2,           -- 216: invoke(2)
      ops.POP,                 -- 218: pop
      ops.PUSH_LITERAL, 0,     -- 219: push_literal(0)
      ops.RETURN,              -- 221: return
      ops.PHI,                 -- 222: phi
      ops.PUSH_LOCAL_FRAME,    -- 223: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 224: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 224,-- 226: get_slot_direct(224)
      ops.UN_TYPEOF,           -- 228: un_typeof
      ops.PUSH_LITERAL, 554,   -- 229: push_literal(554)
      ops.BI_EQ,               -- 231: bi_eq
      ops.JMP_UNLESS, 264, 264,-- 232: jmp_unless(264,264)
      ops.PUSH_LOCAL_FRAME,    -- 235: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 236: get_slot_direct(230)
      ops.DUP,                 -- 238: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 239: get_slot_direct_check(545)
      ops.SWAP,                -- 241: swap
      ops.PUSH_LITERAL, 473,   -- 242: push_literal(473)
      ops.PUSH_LOCAL_FRAME,    -- 244: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 245: get_slot_direct(230)
      ops.DUP,                 -- 247: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 248: get_slot_direct_check(374)
      ops.SWAP,                -- 250: swap
      ops.PUSH_LOCAL_FRAME,    -- 251: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 252: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 224,-- 254: get_slot_direct(224)
      ops.INVOKE, 1,           -- 256: invoke(1)
      ops.INVOKE, 2,           -- 258: invoke(2)
      ops.POP,                 -- 260: pop
      ops.PUSH_LITERAL, 0,     -- 261: push_literal(0)
      ops.RETURN,              -- 263: return
      ops.PHI,                 -- 264: phi
      ops.PUSH_FRAME,          -- 265: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 266: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 268: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 269: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 271: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 272: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 224,-- 274: get_slot_direct(224)
      ops.UN_TYPEOF,           -- 276: un_typeof
      ops.PUSH_LITERAL, 86,    -- 277: push_literal(86)
      ops.BI_EQ,               -- 279: bi_eq
      ops.INVOKE, 1,           -- 280: invoke(1)
      ops.POP,                 -- 282: pop
      ops.PUSH_LOCAL_FRAME,    -- 283: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 284: get_slot_direct(230)
      ops.DUP,                 -- 286: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 287: get_slot_direct_check(545)
      ops.SWAP,                -- 289: swap
      ops.PUSH_LITERAL, 473,   -- 290: push_literal(473)
      ops.PUSH_LOCAL_FRAME,    -- 292: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 293: get_slot_direct(230)
      ops.DUP,                 -- 295: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 296: get_slot_direct_check(374)
      ops.SWAP,                -- 298: swap
      ops.PUSH_LOCAL_FRAME,    -- 299: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 300: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 224,-- 302: get_slot_direct(224)
      ops.INVOKE, 1,           -- 304: invoke(1)
      ops.INVOKE, 2,           -- 306: invoke(2)
      ops.POP,                 -- 308: pop
      ops.PUSH_LITERAL, 0,     -- 309: push_literal(0)
      ops.RETURN               -- 311: return
    }
  },
  ifunc.Function:new{ -- ".unary"
    name = jsval.newString(".unary"),
    id = 158,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 12: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 14: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 15: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 17: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 18: get_slot_direct(525)
      ops.GET_SLOT_DIRECT, 389,-- 20: get_slot_direct(389)
      ops.PUSH_LOCAL_FRAME,    -- 22: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 23: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 224,-- 25: get_slot_direct(224)
      ops.GET_SLOT_INDIRECT,   -- 27: get_slot_indirect
      ops.PUSH_LOCAL_FRAME,    -- 28: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 29: get_slot_direct(26)
      ops.INVOKE, 2,           -- 31: invoke(2)
      ops.POP,                 -- 33: pop
      ops.PUSH_FRAME,          -- 34: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 35: get_slot_direct(525)
      ops.GET_SLOT_DIRECT, 389,-- 37: get_slot_direct(389)
      ops.PUSH_LOCAL_FRAME,    -- 39: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 40: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 224,-- 42: get_slot_direct(224)
      ops.GET_SLOT_INDIRECT,   -- 44: get_slot_indirect
      ops.DUP,                 -- 45: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 46: get_slot_direct_check(93)
      ops.SWAP,                -- 48: swap
      ops.PUSH_LOCAL_FRAME,    -- 49: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 50: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 52: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 53: get_slot_direct(230)
      ops.INVOKE, 2,           -- 55: invoke(2)
      ops.POP,                 -- 57: pop
      ops.PUSH_LITERAL, 0,     -- 58: push_literal(0)
      ops.RETURN               -- 60: return
    }
  },
  ifunc.Function:new{ -- "unary"
    name = jsval.newString("unary"),
    id = 159,
    nargs = 2,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 541,-- 8: set_slot_direct(541)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_FRAME,          -- 13: push_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 109,-- 15: set_slot_direct(109)
      ops.POP,                 -- 17: pop
      ops.PUSH_FRAME,          -- 18: push_frame
      ops.GET_SLOT_DIRECT, 109,-- 19: get_slot_direct(109)
      ops.UN_TYPEOF,           -- 21: un_typeof
      ops.PUSH_LITERAL, 38,    -- 22: push_literal(38)
      ops.BI_EQ,               -- 24: bi_eq
      ops.JMP_UNLESS, 41, 53,  -- 25: jmp_unless(41,53)
      ops.PUSH_FRAME,          -- 28: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 29: get_slot_direct(525)
      ops.GET_SLOT_DIRECT, 389,-- 31: get_slot_direct(389)
      ops.PUSH_LOCAL_FRAME,    -- 33: push_local_frame
      ops.GET_SLOT_DIRECT, 541,-- 34: get_slot_direct(541)
      ops.NEW_FUNCTION, 160,   -- 36: new_function(160)
      ops.SET_SLOT_INDIRECT,   -- 38: set_slot_indirect
      ops.JMP, 53,             -- 39: jmp(53)
      ops.PUSH_FRAME,          -- 41: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 42: get_slot_direct(525)
      ops.GET_SLOT_DIRECT, 389,-- 44: get_slot_direct(389)
      ops.PUSH_LOCAL_FRAME,    -- 46: push_local_frame
      ops.GET_SLOT_DIRECT, 541,-- 47: get_slot_direct(541)
      ops.PUSH_FRAME,          -- 49: push_frame
      ops.GET_SLOT_DIRECT, 109,-- 50: get_slot_direct(109)
      ops.SET_SLOT_INDIRECT,   -- 52: set_slot_indirect
      ops.PHI,                 -- 53: phi
      ops.PUSH_LITERAL, 0,     -- 54: push_literal(0)
      ops.RETURN               -- 56: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 160,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 12: get_slot_direct(230)
      ops.DUP,                 -- 14: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 15: get_slot_direct_check(568)
      ops.SWAP,                -- 17: swap
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 19: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 21: get_slot_direct(39)
      ops.INVOKE, 1,           -- 23: invoke(1)
      ops.POP,                 -- 25: pop
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 27: get_slot_direct(230)
      ops.DUP,                 -- 29: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 30: get_slot_direct_check(545)
      ops.SWAP,                -- 32: swap
      ops.PUSH_FRAME,          -- 33: push_frame
      ops.GET_SLOT_DIRECT, 109,-- 34: get_slot_direct(109)
      ops.INVOKE, 1,           -- 36: invoke(1)
      ops.POP,                 -- 38: pop
      ops.PUSH_LITERAL, 0,     -- 39: push_literal(0)
      ops.RETURN               -- 41: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 161,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_FRAME,          -- 6: push_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 14: set_slot_direct(53)
      ops.PUSH_FRAME,          -- 16: push_frame
      ops.PUSH_LITERAL, 18,    -- 17: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 19: set_slot_direct(53)
      ops.PUSH_FRAME,          -- 21: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 22: get_slot_direct(230)
      ops.DUP,                 -- 24: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 25: get_slot_direct_check(545)
      ops.SWAP,                -- 27: swap
      ops.PUSH_LITERAL, 475,   -- 28: push_literal(475)
      ops.INVOKE, 1,           -- 30: invoke(1)
      ops.POP,                 -- 32: pop
      ops.PUSH_LOCAL_FRAME,    -- 33: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 34: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 36: get_slot_direct(39)
      ops.DUP,                 -- 38: dup
      ops.GET_SLOT_DIRECT_CHECK, 94,-- 39: get_slot_direct_check(94)
      ops.SWAP,                -- 41: swap
      ops.NEW_FUNCTION, 162,   -- 42: new_function(162)
      ops.INVOKE, 1,           -- 44: invoke(1)
      ops.POP,                 -- 46: pop
      ops.PUSH_LITERAL, 0,     -- 47: push_literal(0)
      ops.RETURN               -- 49: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 162,
    nargs = 2,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 87, -- 8: set_slot_direct(87)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 53, -- 15: set_slot_direct(53)
      ops.POP,                 -- 17: pop
      ops.PUSH_FRAME,          -- 18: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 19: get_slot_direct(230)
      ops.DUP,                 -- 21: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 22: get_slot_direct_check(545)
      ops.SWAP,                -- 24: swap
      ops.PUSH_LITERAL, 489,   -- 25: push_literal(489)
      ops.INVOKE, 1,           -- 27: invoke(1)
      ops.POP,                 -- 29: pop
      ops.PUSH_FRAME,          -- 30: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 31: get_slot_direct(230)
      ops.DUP,                 -- 33: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 34: get_slot_direct_check(568)
      ops.SWAP,                -- 36: swap
      ops.PUSH_LOCAL_FRAME,    -- 37: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 38: get_slot_direct(87)
      ops.INVOKE, 1,           -- 40: invoke(1)
      ops.POP,                 -- 42: pop
      ops.PUSH_FRAME,          -- 43: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 44: get_slot_direct(230)
      ops.DUP,                 -- 46: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 47: get_slot_direct_check(545)
      ops.SWAP,                -- 49: swap
      ops.PUSH_LITERAL, 480,   -- 50: push_literal(480)
      ops.PUSH_FRAME,          -- 52: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 53: get_slot_direct(230)
      ops.DUP,                 -- 55: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 56: get_slot_direct_check(374)
      ops.SWAP,                -- 58: swap
      ops.PUSH_LOCAL_FRAME,    -- 59: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 60: get_slot_direct(53)
      ops.INVOKE, 1,           -- 62: invoke(1)
      ops.INVOKE, 2,           -- 64: invoke(2)
      ops.POP,                 -- 66: pop
      ops.PUSH_LITERAL, 0,     -- 67: push_literal(0)
      ops.RETURN               -- 69: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 163,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_FRAME,          -- 6: push_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 14: set_slot_direct(53)
      ops.PUSH_FRAME,          -- 16: push_frame
      ops.PUSH_LITERAL, 18,    -- 17: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 19: set_slot_direct(53)
      ops.PUSH_FRAME,          -- 21: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 22: get_slot_direct(230)
      ops.DUP,                 -- 24: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 25: get_slot_direct_check(545)
      ops.SWAP,                -- 27: swap
      ops.PUSH_LITERAL, 474,   -- 28: push_literal(474)
      ops.INVOKE, 1,           -- 30: invoke(1)
      ops.POP,                 -- 32: pop
      ops.PUSH_LOCAL_FRAME,    -- 33: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 34: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 36: get_slot_direct(39)
      ops.DUP,                 -- 38: dup
      ops.GET_SLOT_DIRECT_CHECK, 94,-- 39: get_slot_direct_check(94)
      ops.SWAP,                -- 41: swap
      ops.NEW_FUNCTION, 164,   -- 42: new_function(164)
      ops.INVOKE, 1,           -- 44: invoke(1)
      ops.POP,                 -- 46: pop
      ops.PUSH_LITERAL, 0,     -- 47: push_literal(0)
      ops.RETURN               -- 49: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 164,
    nargs = 2,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 87, -- 8: set_slot_direct(87)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 53, -- 15: set_slot_direct(53)
      ops.POP,                 -- 17: pop
      ops.PUSH_FRAME,          -- 18: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 19: get_slot_direct(230)
      ops.DUP,                 -- 21: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 22: get_slot_direct_check(545)
      ops.SWAP,                -- 24: swap
      ops.PUSH_LITERAL, 489,   -- 25: push_literal(489)
      ops.INVOKE, 1,           -- 27: invoke(1)
      ops.POP,                 -- 29: pop
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 31: get_slot_direct(87)
      ops.GET_SLOT_DIRECT, 363,-- 33: get_slot_direct(363)
      ops.PUSH_LITERAL, 25,    -- 35: push_literal(25)
      ops.BI_EQ,               -- 37: bi_eq
      ops.JMP_UNLESS, 54, 54,  -- 38: jmp_unless(54,54)
      ops.PUSH_LOCAL_FRAME,    -- 41: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 42: get_slot_direct(87)
      ops.PUSH_LOCAL_FRAME,    -- 44: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 45: get_slot_direct(87)
      ops.GET_SLOT_DIRECT, 258,-- 47: get_slot_direct(258)
      ops.PUSH_LITERAL, 241,   -- 49: push_literal(241)
      ops.BI_ADD,              -- 51: bi_add
      ops.SET_SLOT_DIRECT, 572,-- 52: set_slot_direct(572)
      ops.PHI,                 -- 54: phi
      ops.PUSH_FRAME,          -- 55: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 56: get_slot_direct(230)
      ops.DUP,                 -- 58: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 59: get_slot_direct_check(568)
      ops.SWAP,                -- 61: swap
      ops.PUSH_LOCAL_FRAME,    -- 62: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 63: get_slot_direct(87)
      ops.INVOKE, 1,           -- 65: invoke(1)
      ops.POP,                 -- 67: pop
      ops.PUSH_FRAME,          -- 68: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 69: get_slot_direct(230)
      ops.DUP,                 -- 71: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 72: get_slot_direct_check(545)
      ops.SWAP,                -- 74: swap
      ops.PUSH_LITERAL, 480,   -- 75: push_literal(480)
      ops.PUSH_FRAME,          -- 77: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 78: get_slot_direct(230)
      ops.DUP,                 -- 80: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 81: get_slot_direct_check(374)
      ops.SWAP,                -- 83: swap
      ops.PUSH_LOCAL_FRAME,    -- 84: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 85: get_slot_direct(87)
      ops.GET_SLOT_DIRECT, 258,-- 87: get_slot_direct(258)
      ops.INVOKE, 1,           -- 89: invoke(1)
      ops.INVOKE, 2,           -- 91: invoke(2)
      ops.POP,                 -- 93: pop
      ops.PUSH_LITERAL, 0,     -- 94: push_literal(0)
      ops.RETURN               -- 96: return
    }
  },
  ifunc.Function:new{ -- ".binary"
    name = jsval.newString(".binary"),
    id = 165,
    nargs = 2,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 573,-- 15: set_slot_direct(573)
      ops.POP,                 -- 17: pop
      ops.PUSH_FRAME,          -- 18: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 19: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 22: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 24: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 25: get_slot_direct(525)
      ops.GET_SLOT_DIRECT, 386,-- 27: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 29: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 30: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 224,-- 32: get_slot_direct(224)
      ops.GET_SLOT_INDIRECT,   -- 34: get_slot_indirect
      ops.PUSH_LOCAL_FRAME,    -- 35: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 36: get_slot_direct(26)
      ops.INVOKE, 2,           -- 38: invoke(2)
      ops.POP,                 -- 40: pop
      ops.PUSH_FRAME,          -- 41: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 42: get_slot_direct(525)
      ops.GET_SLOT_DIRECT, 386,-- 44: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 46: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 47: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 224,-- 49: get_slot_direct(224)
      ops.GET_SLOT_INDIRECT,   -- 51: get_slot_indirect
      ops.DUP,                 -- 52: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 53: get_slot_direct_check(93)
      ops.SWAP,                -- 55: swap
      ops.PUSH_LOCAL_FRAME,    -- 56: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 57: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 59: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 60: get_slot_direct(230)
      ops.PUSH_LOCAL_FRAME,    -- 62: push_local_frame
      ops.GET_SLOT_DIRECT, 573,-- 63: get_slot_direct(573)
      ops.INVOKE, 3,           -- 65: invoke(3)
      ops.POP,                 -- 67: pop
      ops.PUSH_LITERAL, 0,     -- 68: push_literal(0)
      ops.RETURN               -- 70: return
    }
  },
  ifunc.Function:new{ -- "binary"
    name = jsval.newString("binary"),
    id = 166,
    nargs = 3,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 541,-- 8: set_slot_direct(541)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_FRAME,          -- 13: push_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 109,-- 15: set_slot_direct(109)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT, 136,-- 18: get_slot_direct(136)
      ops.PUSH_FRAME,          -- 20: push_frame
      ops.SWAP,                -- 21: swap
      ops.SET_SLOT_DIRECT, 493,-- 22: set_slot_direct(493)
      ops.POP,                 -- 24: pop
      ops.PUSH_FRAME,          -- 25: push_frame
      ops.GET_SLOT_DIRECT, 109,-- 26: get_slot_direct(109)
      ops.UN_TYPEOF,           -- 28: un_typeof
      ops.PUSH_LITERAL, 38,    -- 29: push_literal(38)
      ops.BI_EQ,               -- 31: bi_eq
      ops.JMP_UNLESS, 48, 60,  -- 32: jmp_unless(48,60)
      ops.PUSH_FRAME,          -- 35: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 36: get_slot_direct(525)
      ops.GET_SLOT_DIRECT, 386,-- 38: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 40: push_local_frame
      ops.GET_SLOT_DIRECT, 541,-- 41: get_slot_direct(541)
      ops.NEW_FUNCTION, 167,   -- 43: new_function(167)
      ops.SET_SLOT_INDIRECT,   -- 45: set_slot_indirect
      ops.JMP, 60,             -- 46: jmp(60)
      ops.PUSH_FRAME,          -- 48: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 49: get_slot_direct(525)
      ops.GET_SLOT_DIRECT, 386,-- 51: get_slot_direct(386)
      ops.PUSH_LOCAL_FRAME,    -- 53: push_local_frame
      ops.GET_SLOT_DIRECT, 541,-- 54: get_slot_direct(541)
      ops.PUSH_FRAME,          -- 56: push_frame
      ops.GET_SLOT_DIRECT, 109,-- 57: get_slot_direct(109)
      ops.SET_SLOT_INDIRECT,   -- 59: set_slot_indirect
      ops.PHI,                 -- 60: phi
      ops.PUSH_LITERAL, 0,     -- 61: push_literal(0)
      ops.RETURN               -- 63: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 167,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 12: get_slot_direct(230)
      ops.DUP,                 -- 14: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 15: get_slot_direct_check(568)
      ops.SWAP,                -- 17: swap
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 19: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 21: get_slot_direct(39)
      ops.INVOKE, 1,           -- 23: invoke(1)
      ops.POP,                 -- 25: pop
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 27: get_slot_direct(230)
      ops.DUP,                 -- 29: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 30: get_slot_direct_check(568)
      ops.SWAP,                -- 32: swap
      ops.PUSH_LOCAL_FRAME,    -- 33: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 34: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 36: get_slot_direct(40)
      ops.INVOKE, 1,           -- 38: invoke(1)
      ops.POP,                 -- 40: pop
      ops.PUSH_FRAME,          -- 41: push_frame
      ops.GET_SLOT_DIRECT, 493,-- 42: get_slot_direct(493)
      ops.JMP_UNLESS, 59, 59,  -- 44: jmp_unless(59,59)
      ops.PUSH_LOCAL_FRAME,    -- 47: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 48: get_slot_direct(230)
      ops.DUP,                 -- 50: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 51: get_slot_direct_check(545)
      ops.SWAP,                -- 53: swap
      ops.PUSH_LITERAL, 493,   -- 54: push_literal(493)
      ops.INVOKE, 1,           -- 56: invoke(1)
      ops.POP,                 -- 58: pop
      ops.PHI,                 -- 59: phi
      ops.PUSH_LOCAL_FRAME,    -- 60: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 61: get_slot_direct(230)
      ops.DUP,                 -- 63: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 64: get_slot_direct_check(545)
      ops.SWAP,                -- 66: swap
      ops.PUSH_FRAME,          -- 67: push_frame
      ops.GET_SLOT_DIRECT, 109,-- 68: get_slot_direct(109)
      ops.INVOKE, 1,           -- 70: invoke(1)
      ops.POP,                 -- 72: pop
      ops.PUSH_LITERAL, 0,     -- 73: push_literal(0)
      ops.RETURN               -- 75: return
    }
  },
  ifunc.Function:new{ -- "assignment"
    name = jsval.newString("assignment"),
    id = 168,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_FRAME,          -- 6: push_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 574,-- 8: set_slot_direct(574)
      ops.POP,                 -- 10: pop
      ops.NEW_FUNCTION, 169,   -- 11: new_function(169)
      ops.RETURN               -- 13: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 169,
    nargs = 2,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 573,-- 15: set_slot_direct(573)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 19: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 21: get_slot_direct(39)
      ops.GET_SLOT_DIRECT, 363,-- 23: get_slot_direct(363)
      ops.PUSH_LITERAL, 19,    -- 25: push_literal(19)
      ops.BI_EQ,               -- 27: bi_eq
      ops.JMP_UNLESS, 347, 347,-- 28: jmp_unless(347,347)
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 32: push_literal(0)
      ops.SET_SLOT_DIRECT, 53, -- 34: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 36: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 37: push_literal(0)
      ops.SET_SLOT_DIRECT, 569,-- 39: set_slot_direct(569)
      ops.PUSH_LOCAL_FRAME,    -- 41: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 42: push_literal(0)
      ops.SET_SLOT_DIRECT, 201,-- 44: set_slot_direct(201)
      ops.PUSH_LOCAL_FRAME,    -- 46: push_local_frame
      ops.PUSH_LITERAL, 18,    -- 47: push_literal(18)
      ops.SET_SLOT_DIRECT, 53, -- 49: set_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 51: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 52: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 53: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 328,-- 55: get_slot_direct(328)
      ops.PUSH_LOCAL_FRAME,    -- 57: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 58: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 60: get_slot_direct(39)
      ops.GET_SLOT_DIRECT, 328,-- 62: get_slot_direct(328)
      ops.GET_SLOT_DIRECT, 366,-- 64: get_slot_direct(366)
      ops.BI_SUB,              -- 66: bi_sub
      ops.SET_SLOT_DIRECT, 569,-- 67: set_slot_direct(569)
      ops.PUSH_LOCAL_FRAME,    -- 69: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 70: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 71: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 73: get_slot_direct(39)
      ops.GET_SLOT_DIRECT, 328,-- 75: get_slot_direct(328)
      ops.GET_SLOT_DIRECT, 359,-- 77: get_slot_direct(359)
      ops.PUSH_LOCAL_FRAME,    -- 79: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 80: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 82: get_slot_direct(39)
      ops.GET_SLOT_DIRECT, 224,-- 84: get_slot_direct(224)
      ops.GET_SLOT_INDIRECT,   -- 86: get_slot_indirect
      ops.SET_SLOT_DIRECT, 201,-- 87: set_slot_direct(201)
      ops.PUSH_LOCAL_FRAME,    -- 89: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 90: get_slot_direct(230)
      ops.DUP,                 -- 92: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 93: get_slot_direct_check(545)
      ops.SWAP,                -- 95: swap
      ops.PUSH_LOCAL_FRAME,    -- 96: push_local_frame
      ops.GET_SLOT_DIRECT, 201,-- 97: get_slot_direct(201)
      ops.JMP_UNLESS, 106, 108,-- 99: jmp_unless(106,108)
      ops.PUSH_LITERAL, 471,   -- 102: push_literal(471)
      ops.JMP, 108,            -- 104: jmp(108)
      ops.PUSH_LITERAL, 472,   -- 106: push_literal(472)
      ops.PHI,                 -- 108: phi
      ops.INVOKE, 1,           -- 109: invoke(1)
      ops.POP,                 -- 111: pop
      ops.PUSH_FRAME,          -- 112: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 113: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 115: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 116: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 118: push_local_frame
      ops.GET_SLOT_DIRECT, 201,-- 119: get_slot_direct(201)
      ops.DUP,                 -- 121: dup
      ops.UN_NOT,              -- 122: un_not
      ops.JMP_UNLESS, 133, 133,-- 123: jmp_unless(133,133)
      ops.POP,                 -- 126: pop
      ops.PUSH_LOCAL_FRAME,    -- 127: push_local_frame
      ops.GET_SLOT_DIRECT, 569,-- 128: get_slot_direct(569)
      ops.PUSH_LITERAL, 18,    -- 130: push_literal(18)
      ops.BI_EQ,               -- 132: bi_eq
      ops.PHI,                 -- 133: phi
      ops.INVOKE, 1,           -- 134: invoke(1)
      ops.POP,                 -- 136: pop
      ops.JMP_INTO_LOOP, 172, 185,-- 137: jmp_into_loop(172,185)
      ops.PUSH_LOCAL_FRAME,    -- 140: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 141: get_slot_direct(230)
      ops.DUP,                 -- 143: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 144: get_slot_direct_check(545)
      ops.SWAP,                -- 146: swap
      ops.PUSH_LITERAL, 477,   -- 147: push_literal(477)
      ops.PUSH_LOCAL_FRAME,    -- 149: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 150: get_slot_direct(230)
      ops.DUP,                 -- 152: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 153: get_slot_direct_check(374)
      ops.SWAP,                -- 155: swap
      ops.PUSH_LITERAL, 117,   -- 156: push_literal(117)
      ops.INVOKE, 1,           -- 158: invoke(1)
      ops.INVOKE, 2,           -- 160: invoke(2)
      ops.POP,                 -- 162: pop
      ops.PUSH_LOCAL_FRAME,    -- 163: push_local_frame
      ops.DUP,                 -- 164: dup
      ops.GET_SLOT_DIRECT, 53, -- 165: get_slot_direct(53)
      ops.PUSH_LITERAL, 31,    -- 167: push_literal(31)
      ops.BI_ADD,              -- 169: bi_add
      ops.SET_SLOT_DIRECT, 53, -- 170: set_slot_direct(53)
      ops.PHI,                 -- 172: phi
      ops.PUSH_LOCAL_FRAME,    -- 173: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 174: get_slot_direct(53)
      ops.PUSH_LOCAL_FRAME,    -- 176: push_local_frame
      ops.GET_SLOT_DIRECT, 569,-- 177: get_slot_direct(569)
      ops.SWAP,                -- 179: swap
      ops.BI_GT,               -- 180: bi_gt
      ops.UN_NOT,              -- 181: un_not
      ops.JMP_UNLESS, 140, 185,-- 182: jmp_unless(140,185)
      ops.PHI,                 -- 185: phi
      ops.PUSH_FRAME,          -- 186: push_frame
      ops.GET_SLOT_DIRECT, 574,-- 187: get_slot_direct(574)
      ops.JMP_UNLESS, 232, 232,-- 189: jmp_unless(232,232)
      ops.PUSH_LOCAL_FRAME,    -- 192: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 193: get_slot_direct(230)
      ops.DUP,                 -- 195: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 196: get_slot_direct_check(545)
      ops.SWAP,                -- 198: swap
      ops.PUSH_LITERAL, 489,   -- 199: push_literal(489)
      ops.INVOKE, 1,           -- 201: invoke(1)
      ops.POP,                 -- 203: pop
      ops.PUSH_LOCAL_FRAME,    -- 204: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 205: get_slot_direct(230)
      ops.DUP,                 -- 207: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 208: get_slot_direct_check(545)
      ops.SWAP,                -- 210: swap
      ops.PUSH_LITERAL, 477,   -- 211: push_literal(477)
      ops.PUSH_LOCAL_FRAME,    -- 213: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 214: get_slot_direct(230)
      ops.DUP,                 -- 216: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 217: get_slot_direct_check(374)
      ops.SWAP,                -- 219: swap
      ops.PUSH_LOCAL_FRAME,    -- 220: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 221: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 223: get_slot_direct(39)
      ops.GET_SLOT_DIRECT, 224,-- 225: get_slot_direct(224)
      ops.INVOKE, 1,           -- 227: invoke(1)
      ops.INVOKE, 2,           -- 229: invoke(2)
      ops.POP,                 -- 231: pop
      ops.PHI,                 -- 232: phi
      ops.PUSH_LOCAL_FRAME,    -- 233: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 234: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 236: get_slot_direct(40)
      ops.GET_SLOT_DIRECT, 363,-- 238: get_slot_direct(363)
      ops.PUSH_LITERAL, 25,    -- 240: push_literal(25)
      ops.BI_EQ,               -- 242: bi_eq
      ops.JMP_UNLESS, 260, 260,-- 243: jmp_unless(260,260)
      ops.PUSH_LOCAL_FRAME,    -- 246: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 247: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 249: get_slot_direct(40)
      ops.PUSH_LOCAL_FRAME,    -- 251: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 252: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 254: get_slot_direct(39)
      ops.GET_SLOT_DIRECT, 224,-- 256: get_slot_direct(224)
      ops.SET_SLOT_DIRECT, 572,-- 258: set_slot_direct(572)
      ops.PHI,                 -- 260: phi
      ops.PUSH_LOCAL_FRAME,    -- 261: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 262: get_slot_direct(230)
      ops.DUP,                 -- 264: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 265: get_slot_direct_check(568)
      ops.SWAP,                -- 267: swap
      ops.PUSH_LOCAL_FRAME,    -- 268: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 269: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 271: get_slot_direct(40)
      ops.INVOKE, 1,           -- 273: invoke(1)
      ops.POP,                 -- 275: pop
      ops.PUSH_FRAME,          -- 276: push_frame
      ops.GET_SLOT_DIRECT, 574,-- 277: get_slot_direct(574)
      ops.JMP_UNLESS, 295, 295,-- 279: jmp_unless(295,295)
      ops.PUSH_LOCAL_FRAME,    -- 282: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 283: get_slot_direct(230)
      ops.DUP,                 -- 285: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 286: get_slot_direct_check(545)
      ops.SWAP,                -- 288: swap
      ops.PUSH_FRAME,          -- 289: push_frame
      ops.GET_SLOT_DIRECT, 574,-- 290: get_slot_direct(574)
      ops.INVOKE, 1,           -- 292: invoke(1)
      ops.POP,                 -- 294: pop
      ops.PHI,                 -- 295: phi
      ops.PUSH_LOCAL_FRAME,    -- 296: push_local_frame
      ops.GET_SLOT_DIRECT, 573,-- 297: get_slot_direct(573)
      ops.UN_NOT,              -- 299: un_not
      ops.JMP_UNLESS, 315, 315,-- 300: jmp_unless(315,315)
      ops.PUSH_LOCAL_FRAME,    -- 303: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 304: get_slot_direct(230)
      ops.DUP,                 -- 306: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 307: get_slot_direct_check(545)
      ops.SWAP,                -- 309: swap
      ops.PUSH_LITERAL, 491,   -- 310: push_literal(491)
      ops.INVOKE, 1,           -- 312: invoke(1)
      ops.POP,                 -- 314: pop
      ops.PHI,                 -- 315: phi
      ops.PUSH_LOCAL_FRAME,    -- 316: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 317: get_slot_direct(230)
      ops.DUP,                 -- 319: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 320: get_slot_direct_check(545)
      ops.SWAP,                -- 322: swap
      ops.PUSH_LITERAL, 480,   -- 323: push_literal(480)
      ops.PUSH_LOCAL_FRAME,    -- 325: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 326: get_slot_direct(230)
      ops.DUP,                 -- 328: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 329: get_slot_direct_check(374)
      ops.SWAP,                -- 331: swap
      ops.PUSH_LOCAL_FRAME,    -- 332: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 333: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 335: get_slot_direct(39)
      ops.GET_SLOT_DIRECT, 224,-- 337: get_slot_direct(224)
      ops.INVOKE, 1,           -- 339: invoke(1)
      ops.INVOKE, 2,           -- 341: invoke(2)
      ops.POP,                 -- 343: pop
      ops.PUSH_LITERAL, 0,     -- 344: push_literal(0)
      ops.RETURN,              -- 346: return
      ops.PHI,                 -- 347: phi
      ops.PUSH_FRAME,          -- 348: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 349: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 351: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 352: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 354: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 355: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 357: get_slot_direct(39)
      ops.GET_SLOT_DIRECT, 363,-- 359: get_slot_direct(363)
      ops.PUSH_LITERAL, 386,   -- 361: push_literal(386)
      ops.BI_EQ,               -- 363: bi_eq
      ops.PUSH_LOCAL_FRAME,    -- 364: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 365: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 367: get_slot_direct(39)
      ops.INVOKE, 2,           -- 369: invoke(2)
      ops.POP,                 -- 371: pop
      ops.PUSH_LOCAL_FRAME,    -- 372: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 373: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 375: get_slot_direct(39)
      ops.GET_SLOT_DIRECT, 224,-- 377: get_slot_direct(224)
      ops.PUSH_LITERAL, 149,   -- 379: push_literal(149)
      ops.BI_EQ,               -- 381: bi_eq
      ops.JMP_UNLESS, 598, 598,-- 382: jmp_unless(598,598)
      ops.PUSH_FRAME,          -- 385: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 386: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 388: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 389: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 391: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 392: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 394: get_slot_direct(39)
      ops.GET_SLOT_DIRECT, 40, -- 396: get_slot_direct(40)
      ops.GET_SLOT_DIRECT, 363,-- 398: get_slot_direct(363)
      ops.PUSH_LITERAL, 374,   -- 400: push_literal(374)
      ops.BI_EQ,               -- 402: bi_eq
      ops.PUSH_LOCAL_FRAME,    -- 403: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 404: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 406: get_slot_direct(39)
      ops.INVOKE, 2,           -- 408: invoke(2)
      ops.POP,                 -- 410: pop
      ops.PUSH_LOCAL_FRAME,    -- 411: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 412: get_slot_direct(230)
      ops.DUP,                 -- 414: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 415: get_slot_direct_check(568)
      ops.SWAP,                -- 417: swap
      ops.PUSH_LOCAL_FRAME,    -- 418: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 419: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 421: get_slot_direct(39)
      ops.GET_SLOT_DIRECT, 39, -- 423: get_slot_direct(39)
      ops.INVOKE, 1,           -- 425: invoke(1)
      ops.POP,                 -- 427: pop
      ops.PUSH_FRAME,          -- 428: push_frame
      ops.GET_SLOT_DIRECT, 574,-- 429: get_slot_direct(574)
      ops.JMP_UNLESS, 476, 476,-- 431: jmp_unless(476,476)
      ops.PUSH_LOCAL_FRAME,    -- 434: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 435: get_slot_direct(230)
      ops.DUP,                 -- 437: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 438: get_slot_direct_check(545)
      ops.SWAP,                -- 440: swap
      ops.PUSH_LITERAL, 489,   -- 441: push_literal(489)
      ops.INVOKE, 1,           -- 443: invoke(1)
      ops.POP,                 -- 445: pop
      ops.PUSH_LOCAL_FRAME,    -- 446: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 447: get_slot_direct(230)
      ops.DUP,                 -- 449: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 450: get_slot_direct_check(545)
      ops.SWAP,                -- 452: swap
      ops.PUSH_LITERAL, 477,   -- 453: push_literal(477)
      ops.PUSH_LOCAL_FRAME,    -- 455: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 456: get_slot_direct(230)
      ops.DUP,                 -- 458: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 459: get_slot_direct_check(374)
      ops.SWAP,                -- 461: swap
      ops.PUSH_LOCAL_FRAME,    -- 462: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 463: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 465: get_slot_direct(39)
      ops.GET_SLOT_DIRECT, 40, -- 467: get_slot_direct(40)
      ops.GET_SLOT_DIRECT, 224,-- 469: get_slot_direct(224)
      ops.INVOKE, 1,           -- 471: invoke(1)
      ops.INVOKE, 2,           -- 473: invoke(2)
      ops.POP,                 -- 475: pop
      ops.PHI,                 -- 476: phi
      ops.PUSH_LOCAL_FRAME,    -- 477: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 478: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 480: get_slot_direct(40)
      ops.GET_SLOT_DIRECT, 363,-- 482: get_slot_direct(363)
      ops.PUSH_LITERAL, 25,    -- 484: push_literal(25)
      ops.BI_EQ,               -- 486: bi_eq
      ops.JMP_UNLESS, 509, 509,-- 487: jmp_unless(509,509)
      ops.PUSH_LOCAL_FRAME,    -- 490: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 491: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 493: get_slot_direct(40)
      ops.PUSH_LITERAL, 149,   -- 495: push_literal(149)
      ops.PUSH_LOCAL_FRAME,    -- 497: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 498: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 500: get_slot_direct(39)
      ops.GET_SLOT_DIRECT, 40, -- 502: get_slot_direct(40)
      ops.GET_SLOT_DIRECT, 224,-- 504: get_slot_direct(224)
      ops.BI_ADD,              -- 506: bi_add
      ops.SET_SLOT_DIRECT, 572,-- 507: set_slot_direct(572)
      ops.PHI,                 -- 509: phi
      ops.PUSH_LOCAL_FRAME,    -- 510: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 511: get_slot_direct(230)
      ops.DUP,                 -- 513: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 514: get_slot_direct_check(568)
      ops.SWAP,                -- 516: swap
      ops.PUSH_LOCAL_FRAME,    -- 517: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 518: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 520: get_slot_direct(40)
      ops.INVOKE, 1,           -- 522: invoke(1)
      ops.POP,                 -- 524: pop
      ops.PUSH_FRAME,          -- 525: push_frame
      ops.GET_SLOT_DIRECT, 574,-- 526: get_slot_direct(574)
      ops.JMP_UNLESS, 544, 544,-- 528: jmp_unless(544,544)
      ops.PUSH_LOCAL_FRAME,    -- 531: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 532: get_slot_direct(230)
      ops.DUP,                 -- 534: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 535: get_slot_direct_check(545)
      ops.SWAP,                -- 537: swap
      ops.PUSH_FRAME,          -- 538: push_frame
      ops.GET_SLOT_DIRECT, 574,-- 539: get_slot_direct(574)
      ops.INVOKE, 1,           -- 541: invoke(1)
      ops.POP,                 -- 543: pop
      ops.PHI,                 -- 544: phi
      ops.PUSH_LOCAL_FRAME,    -- 545: push_local_frame
      ops.GET_SLOT_DIRECT, 573,-- 546: get_slot_direct(573)
      ops.UN_NOT,              -- 548: un_not
      ops.JMP_UNLESS, 564, 564,-- 549: jmp_unless(564,564)
      ops.PUSH_LOCAL_FRAME,    -- 552: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 553: get_slot_direct(230)
      ops.DUP,                 -- 555: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 556: get_slot_direct_check(545)
      ops.SWAP,                -- 558: swap
      ops.PUSH_LITERAL, 491,   -- 559: push_literal(491)
      ops.INVOKE, 1,           -- 561: invoke(1)
      ops.POP,                 -- 563: pop
      ops.PHI,                 -- 564: phi
      ops.PUSH_LOCAL_FRAME,    -- 565: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 566: get_slot_direct(230)
      ops.DUP,                 -- 568: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 569: get_slot_direct_check(545)
      ops.SWAP,                -- 571: swap
      ops.PUSH_LITERAL, 480,   -- 572: push_literal(480)
      ops.PUSH_LOCAL_FRAME,    -- 574: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 575: get_slot_direct(230)
      ops.DUP,                 -- 577: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 578: get_slot_direct_check(374)
      ops.SWAP,                -- 580: swap
      ops.PUSH_LOCAL_FRAME,    -- 581: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 582: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 584: get_slot_direct(39)
      ops.GET_SLOT_DIRECT, 40, -- 586: get_slot_direct(40)
      ops.GET_SLOT_DIRECT, 224,-- 588: get_slot_direct(224)
      ops.INVOKE, 1,           -- 590: invoke(1)
      ops.INVOKE, 2,           -- 592: invoke(2)
      ops.POP,                 -- 594: pop
      ops.PUSH_LITERAL, 0,     -- 595: push_literal(0)
      ops.RETURN,              -- 597: return
      ops.PHI,                 -- 598: phi
      ops.PUSH_LOCAL_FRAME,    -- 599: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 600: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 602: get_slot_direct(39)
      ops.GET_SLOT_DIRECT, 224,-- 604: get_slot_direct(224)
      ops.PUSH_LITERAL, 254,   -- 606: push_literal(254)
      ops.BI_EQ,               -- 608: bi_eq
      ops.JMP_UNLESS, 747, 747,-- 609: jmp_unless(747,747)
      ops.PUSH_LOCAL_FRAME,    -- 612: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 613: get_slot_direct(230)
      ops.DUP,                 -- 615: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 616: get_slot_direct_check(568)
      ops.SWAP,                -- 618: swap
      ops.PUSH_LOCAL_FRAME,    -- 619: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 620: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 622: get_slot_direct(39)
      ops.GET_SLOT_DIRECT, 39, -- 624: get_slot_direct(39)
      ops.INVOKE, 1,           -- 626: invoke(1)
      ops.POP,                 -- 628: pop
      ops.PUSH_LOCAL_FRAME,    -- 629: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 630: get_slot_direct(230)
      ops.DUP,                 -- 632: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 633: get_slot_direct_check(568)
      ops.SWAP,                -- 635: swap
      ops.PUSH_LOCAL_FRAME,    -- 636: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 637: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 639: get_slot_direct(39)
      ops.GET_SLOT_DIRECT, 40, -- 641: get_slot_direct(40)
      ops.INVOKE, 1,           -- 643: invoke(1)
      ops.POP,                 -- 645: pop
      ops.PUSH_FRAME,          -- 646: push_frame
      ops.GET_SLOT_DIRECT, 574,-- 647: get_slot_direct(574)
      ops.JMP_UNLESS, 676, 676,-- 649: jmp_unless(676,676)
      ops.PUSH_LOCAL_FRAME,    -- 652: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 653: get_slot_direct(230)
      ops.DUP,                 -- 655: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 656: get_slot_direct_check(545)
      ops.SWAP,                -- 658: swap
      ops.PUSH_LITERAL, 490,   -- 659: push_literal(490)
      ops.INVOKE, 1,           -- 661: invoke(1)
      ops.POP,                 -- 663: pop
      ops.PUSH_LOCAL_FRAME,    -- 664: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 665: get_slot_direct(230)
      ops.DUP,                 -- 667: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 668: get_slot_direct_check(545)
      ops.SWAP,                -- 670: swap
      ops.PUSH_LITERAL, 478,   -- 671: push_literal(478)
      ops.INVOKE, 1,           -- 673: invoke(1)
      ops.POP,                 -- 675: pop
      ops.PHI,                 -- 676: phi
      ops.PUSH_LOCAL_FRAME,    -- 677: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 678: get_slot_direct(230)
      ops.DUP,                 -- 680: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 681: get_slot_direct_check(568)
      ops.SWAP,                -- 683: swap
      ops.PUSH_LOCAL_FRAME,    -- 684: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 685: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 687: get_slot_direct(40)
      ops.INVOKE, 1,           -- 689: invoke(1)
      ops.POP,                 -- 691: pop
      ops.PUSH_FRAME,          -- 692: push_frame
      ops.GET_SLOT_DIRECT, 574,-- 693: get_slot_direct(574)
      ops.JMP_UNLESS, 711, 711,-- 695: jmp_unless(711,711)
      ops.PUSH_LOCAL_FRAME,    -- 698: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 699: get_slot_direct(230)
      ops.DUP,                 -- 701: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 702: get_slot_direct_check(545)
      ops.SWAP,                -- 704: swap
      ops.PUSH_FRAME,          -- 705: push_frame
      ops.GET_SLOT_DIRECT, 574,-- 706: get_slot_direct(574)
      ops.INVOKE, 1,           -- 708: invoke(1)
      ops.POP,                 -- 710: pop
      ops.PHI,                 -- 711: phi
      ops.PUSH_LOCAL_FRAME,    -- 712: push_local_frame
      ops.GET_SLOT_DIRECT, 573,-- 713: get_slot_direct(573)
      ops.UN_NOT,              -- 715: un_not
      ops.JMP_UNLESS, 731, 731,-- 716: jmp_unless(731,731)
      ops.PUSH_LOCAL_FRAME,    -- 719: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 720: get_slot_direct(230)
      ops.DUP,                 -- 722: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 723: get_slot_direct_check(545)
      ops.SWAP,                -- 725: swap
      ops.PUSH_LITERAL, 492,   -- 726: push_literal(492)
      ops.INVOKE, 1,           -- 728: invoke(1)
      ops.POP,                 -- 730: pop
      ops.PHI,                 -- 731: phi
      ops.PUSH_LOCAL_FRAME,    -- 732: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 733: get_slot_direct(230)
      ops.DUP,                 -- 735: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 736: get_slot_direct_check(545)
      ops.SWAP,                -- 738: swap
      ops.PUSH_LITERAL, 481,   -- 739: push_literal(481)
      ops.INVOKE, 1,           -- 741: invoke(1)
      ops.POP,                 -- 743: pop
      ops.PUSH_LITERAL, 0,     -- 744: push_literal(0)
      ops.RETURN,              -- 746: return
      ops.PHI,                 -- 747: phi
      ops.PUSH_FRAME,          -- 748: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 749: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 751: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 752: get_slot_direct(26)
      ops.PUSH_LITERAL, 32,    -- 754: push_literal(32)
      ops.PUSH_LOCAL_FRAME,    -- 756: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 757: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 759: get_slot_direct(39)
      ops.INVOKE, 2,           -- 761: invoke(2)
      ops.POP,                 -- 763: pop
      ops.PUSH_LITERAL, 0,     -- 764: push_literal(0)
      ops.RETURN               -- 766: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 170,
    nargs = 1,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 575,-- 14: set_slot_direct(575)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 576,-- 19: set_slot_direct(576)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 22: push_literal(0)
      ops.SET_SLOT_DIRECT, 577,-- 24: set_slot_direct(577)
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 28: get_slot_direct(230)
      ops.DUP,                 -- 30: dup
      ops.GET_SLOT_DIRECT_CHECK, 558,-- 31: get_slot_direct_check(558)
      ops.SWAP,                -- 33: swap
      ops.INVOKE, 0,           -- 34: invoke(0)
      ops.SET_SLOT_DIRECT, 577,-- 36: set_slot_direct(577)
      ops.PUSH_LOCAL_FRAME,    -- 38: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 39: get_slot_direct(230)
      ops.DUP,                 -- 41: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 42: get_slot_direct_check(568)
      ops.SWAP,                -- 44: swap
      ops.PUSH_LOCAL_FRAME,    -- 45: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 46: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 48: get_slot_direct(39)
      ops.INVOKE, 1,           -- 50: invoke(1)
      ops.POP,                 -- 52: pop
      ops.PUSH_LOCAL_FRAME,    -- 53: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 54: get_slot_direct(230)
      ops.DUP,                 -- 56: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 57: get_slot_direct_check(545)
      ops.SWAP,                -- 59: swap
      ops.PUSH_LITERAL, 489,   -- 60: push_literal(489)
      ops.INVOKE, 1,           -- 62: invoke(1)
      ops.POP,                 -- 64: pop
      ops.PUSH_LOCAL_FRAME,    -- 65: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 66: get_slot_direct(230)
      ops.DUP,                 -- 68: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 69: get_slot_direct_check(545)
      ops.SWAP,                -- 71: swap
      ops.PUSH_LITERAL, 494,   -- 72: push_literal(494)
      ops.INVOKE, 1,           -- 74: invoke(1)
      ops.POP,                 -- 76: pop
      ops.PUSH_LOCAL_FRAME,    -- 77: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 78: get_slot_direct(230)
      ops.DUP,                 -- 80: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 81: get_slot_direct_check(545)
      ops.SWAP,                -- 83: swap
      ops.PUSH_LITERAL, 487,   -- 84: push_literal(487)
      ops.PUSH_LOCAL_FRAME,    -- 86: push_local_frame
      ops.GET_SLOT_DIRECT, 577,-- 87: get_slot_direct(577)
      ops.PUSH_LOCAL_FRAME,    -- 89: push_local_frame
      ops.GET_SLOT_DIRECT, 577,-- 90: get_slot_direct(577)
      ops.INVOKE, 3,           -- 92: invoke(3)
      ops.POP,                 -- 94: pop
      ops.PUSH_LOCAL_FRAME,    -- 95: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 96: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 97: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 543,-- 99: get_slot_direct(543)
      ops.GET_SLOT_DIRECT, 538,-- 101: get_slot_direct(538)
      ops.SET_SLOT_DIRECT, 575,-- 103: set_slot_direct(575)
      ops.PUSH_LOCAL_FRAME,    -- 105: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 106: get_slot_direct(230)
      ops.DUP,                 -- 108: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 109: get_slot_direct_check(545)
      ops.SWAP,                -- 111: swap
      ops.PUSH_LITERAL, 71,    -- 112: push_literal(71)
      ops.INVOKE, 1,           -- 114: invoke(1)
      ops.POP,                 -- 116: pop
      ops.PUSH_LOCAL_FRAME,    -- 117: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 118: get_slot_direct(230)
      ops.DUP,                 -- 120: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 121: get_slot_direct_check(568)
      ops.SWAP,                -- 123: swap
      ops.PUSH_LOCAL_FRAME,    -- 124: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 125: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 127: get_slot_direct(40)
      ops.INVOKE, 1,           -- 129: invoke(1)
      ops.POP,                 -- 131: pop
      ops.PUSH_LOCAL_FRAME,    -- 132: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 133: get_slot_direct(230)
      ops.DUP,                 -- 135: dup
      ops.GET_SLOT_DIRECT_CHECK, 559,-- 136: get_slot_direct_check(559)
      ops.SWAP,                -- 138: swap
      ops.PUSH_LOCAL_FRAME,    -- 139: push_local_frame
      ops.GET_SLOT_DIRECT, 577,-- 140: get_slot_direct(577)
      ops.INVOKE, 1,           -- 142: invoke(1)
      ops.POP,                 -- 144: pop
      ops.PUSH_LOCAL_FRAME,    -- 145: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 146: get_slot_direct(230)
      ops.DUP,                 -- 148: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 149: get_slot_direct_check(545)
      ops.SWAP,                -- 151: swap
      ops.PUSH_LITERAL, 488,   -- 152: push_literal(488)
      ops.INVOKE, 1,           -- 154: invoke(1)
      ops.POP,                 -- 156: pop
      ops.PUSH_LOCAL_FRAME,    -- 157: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 158: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 159: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 543,-- 161: get_slot_direct(543)
      ops.GET_SLOT_DIRECT, 538,-- 163: get_slot_direct(538)
      ops.SET_SLOT_DIRECT, 576,-- 165: set_slot_direct(576)
      ops.PUSH_FRAME,          -- 167: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 168: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 170: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 171: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 173: push_local_frame
      ops.GET_SLOT_DIRECT, 575,-- 174: get_slot_direct(575)
      ops.PUSH_LOCAL_FRAME,    -- 176: push_local_frame
      ops.GET_SLOT_DIRECT, 576,-- 177: get_slot_direct(576)
      ops.BI_EQ,               -- 179: bi_eq
      ops.PUSH_LOCAL_FRAME,    -- 180: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 181: get_slot_direct(26)
      ops.INVOKE, 2,           -- 183: invoke(2)
      ops.POP,                 -- 185: pop
      ops.PUSH_LITERAL, 0,     -- 186: push_literal(0)
      ops.RETURN               -- 188: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 171,
    nargs = 1,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 575,-- 14: set_slot_direct(575)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 576,-- 19: set_slot_direct(576)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 22: push_literal(0)
      ops.SET_SLOT_DIRECT, 577,-- 24: set_slot_direct(577)
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 28: get_slot_direct(230)
      ops.DUP,                 -- 30: dup
      ops.GET_SLOT_DIRECT_CHECK, 558,-- 31: get_slot_direct_check(558)
      ops.SWAP,                -- 33: swap
      ops.INVOKE, 0,           -- 34: invoke(0)
      ops.SET_SLOT_DIRECT, 577,-- 36: set_slot_direct(577)
      ops.PUSH_LOCAL_FRAME,    -- 38: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 39: get_slot_direct(230)
      ops.DUP,                 -- 41: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 42: get_slot_direct_check(568)
      ops.SWAP,                -- 44: swap
      ops.PUSH_LOCAL_FRAME,    -- 45: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 46: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 48: get_slot_direct(39)
      ops.INVOKE, 1,           -- 50: invoke(1)
      ops.POP,                 -- 52: pop
      ops.PUSH_LOCAL_FRAME,    -- 53: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 54: get_slot_direct(230)
      ops.DUP,                 -- 56: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 57: get_slot_direct_check(545)
      ops.SWAP,                -- 59: swap
      ops.PUSH_LITERAL, 489,   -- 60: push_literal(489)
      ops.INVOKE, 1,           -- 62: invoke(1)
      ops.POP,                 -- 64: pop
      ops.PUSH_LOCAL_FRAME,    -- 65: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 66: get_slot_direct(230)
      ops.DUP,                 -- 68: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 69: get_slot_direct_check(545)
      ops.SWAP,                -- 71: swap
      ops.PUSH_LITERAL, 487,   -- 72: push_literal(487)
      ops.PUSH_LOCAL_FRAME,    -- 74: push_local_frame
      ops.GET_SLOT_DIRECT, 577,-- 75: get_slot_direct(577)
      ops.PUSH_LOCAL_FRAME,    -- 77: push_local_frame
      ops.GET_SLOT_DIRECT, 577,-- 78: get_slot_direct(577)
      ops.INVOKE, 3,           -- 80: invoke(3)
      ops.POP,                 -- 82: pop
      ops.PUSH_LOCAL_FRAME,    -- 83: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 84: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 85: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 543,-- 87: get_slot_direct(543)
      ops.GET_SLOT_DIRECT, 538,-- 89: get_slot_direct(538)
      ops.SET_SLOT_DIRECT, 575,-- 91: set_slot_direct(575)
      ops.PUSH_LOCAL_FRAME,    -- 93: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 94: get_slot_direct(230)
      ops.DUP,                 -- 96: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 97: get_slot_direct_check(545)
      ops.SWAP,                -- 99: swap
      ops.PUSH_LITERAL, 71,    -- 100: push_literal(71)
      ops.INVOKE, 1,           -- 102: invoke(1)
      ops.POP,                 -- 104: pop
      ops.PUSH_LOCAL_FRAME,    -- 105: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 106: get_slot_direct(230)
      ops.DUP,                 -- 108: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 109: get_slot_direct_check(568)
      ops.SWAP,                -- 111: swap
      ops.PUSH_LOCAL_FRAME,    -- 112: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 113: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 115: get_slot_direct(40)
      ops.INVOKE, 1,           -- 117: invoke(1)
      ops.POP,                 -- 119: pop
      ops.PUSH_LOCAL_FRAME,    -- 120: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 121: get_slot_direct(230)
      ops.DUP,                 -- 123: dup
      ops.GET_SLOT_DIRECT_CHECK, 559,-- 124: get_slot_direct_check(559)
      ops.SWAP,                -- 126: swap
      ops.PUSH_LOCAL_FRAME,    -- 127: push_local_frame
      ops.GET_SLOT_DIRECT, 577,-- 128: get_slot_direct(577)
      ops.INVOKE, 1,           -- 130: invoke(1)
      ops.POP,                 -- 132: pop
      ops.PUSH_LOCAL_FRAME,    -- 133: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 134: get_slot_direct(230)
      ops.DUP,                 -- 136: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 137: get_slot_direct_check(545)
      ops.SWAP,                -- 139: swap
      ops.PUSH_LITERAL, 488,   -- 140: push_literal(488)
      ops.INVOKE, 1,           -- 142: invoke(1)
      ops.POP,                 -- 144: pop
      ops.PUSH_LOCAL_FRAME,    -- 145: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 146: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 147: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 543,-- 149: get_slot_direct(543)
      ops.GET_SLOT_DIRECT, 538,-- 151: get_slot_direct(538)
      ops.SET_SLOT_DIRECT, 576,-- 153: set_slot_direct(576)
      ops.PUSH_FRAME,          -- 155: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 156: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 158: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 159: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 161: push_local_frame
      ops.GET_SLOT_DIRECT, 575,-- 162: get_slot_direct(575)
      ops.PUSH_LOCAL_FRAME,    -- 164: push_local_frame
      ops.GET_SLOT_DIRECT, 576,-- 165: get_slot_direct(576)
      ops.BI_EQ,               -- 167: bi_eq
      ops.PUSH_LOCAL_FRAME,    -- 168: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 169: get_slot_direct(26)
      ops.INVOKE, 2,           -- 171: invoke(2)
      ops.POP,                 -- 173: pop
      ops.PUSH_LITERAL, 0,     -- 174: push_literal(0)
      ops.RETURN               -- 176: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 172,
    nargs = 1,
    max_stack = 7,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 12: get_slot_direct(230)
      ops.DUP,                 -- 14: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 15: get_slot_direct_check(568)
      ops.SWAP,                -- 17: swap
      ops.NEW_OBJECT,          -- 18: new_object
      ops.DUP,                 -- 19: dup
      ops.PUSH_LITERAL, 419,   -- 20: push_literal(419)
      ops.SET_SLOT_DIRECT, 224,-- 22: set_slot_direct(224)
      ops.DUP,                 -- 24: dup
      ops.PUSH_LITERAL, 389,   -- 25: push_literal(389)
      ops.SET_SLOT_DIRECT, 363,-- 27: set_slot_direct(363)
      ops.DUP,                 -- 29: dup
      ops.NEW_OBJECT,          -- 30: new_object
      ops.DUP,                 -- 31: dup
      ops.PUSH_LITERAL, 405,   -- 32: push_literal(405)
      ops.SET_SLOT_DIRECT, 224,-- 34: set_slot_direct(224)
      ops.DUP,                 -- 36: dup
      ops.PUSH_LITERAL, 386,   -- 37: push_literal(386)
      ops.SET_SLOT_DIRECT, 363,-- 39: set_slot_direct(363)
      ops.DUP,                 -- 41: dup
      ops.PUSH_LOCAL_FRAME,    -- 42: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 43: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 45: get_slot_direct(39)
      ops.SET_SLOT_DIRECT, 39, -- 47: set_slot_direct(39)
      ops.DUP,                 -- 49: dup
      ops.PUSH_LOCAL_FRAME,    -- 50: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 51: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 53: get_slot_direct(40)
      ops.SET_SLOT_DIRECT, 40, -- 55: set_slot_direct(40)
      ops.SET_SLOT_DIRECT, 39, -- 57: set_slot_direct(39)
      ops.INVOKE, 1,           -- 59: invoke(1)
      ops.POP,                 -- 61: pop
      ops.PUSH_LITERAL, 0,     -- 62: push_literal(0)
      ops.RETURN               -- 64: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 173,
    nargs = 1,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 12: get_slot_direct(230)
      ops.DUP,                 -- 14: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 15: get_slot_direct_check(568)
      ops.SWAP,                -- 17: swap
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 19: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 21: get_slot_direct(39)
      ops.INVOKE, 1,           -- 23: invoke(1)
      ops.POP,                 -- 25: pop
      ops.PUSH_FRAME,          -- 26: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 27: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 29: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 30: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 32: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 33: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 35: get_slot_direct(40)
      ops.GET_SLOT_DIRECT, 363,-- 37: get_slot_direct(363)
      ops.PUSH_LITERAL, 374,   -- 39: push_literal(374)
      ops.BI_EQ,               -- 41: bi_eq
      ops.PUSH_LOCAL_FRAME,    -- 42: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 43: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 45: get_slot_direct(40)
      ops.INVOKE, 2,           -- 47: invoke(2)
      ops.POP,                 -- 49: pop
      ops.PUSH_LOCAL_FRAME,    -- 50: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 51: get_slot_direct(230)
      ops.DUP,                 -- 53: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 54: get_slot_direct_check(545)
      ops.SWAP,                -- 56: swap
      ops.PUSH_LITERAL, 477,   -- 57: push_literal(477)
      ops.PUSH_LOCAL_FRAME,    -- 59: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 60: get_slot_direct(230)
      ops.DUP,                 -- 62: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 63: get_slot_direct_check(374)
      ops.SWAP,                -- 65: swap
      ops.PUSH_LOCAL_FRAME,    -- 66: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 67: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 69: get_slot_direct(40)
      ops.GET_SLOT_DIRECT, 224,-- 71: get_slot_direct(224)
      ops.INVOKE, 1,           -- 73: invoke(1)
      ops.INVOKE, 2,           -- 75: invoke(2)
      ops.POP,                 -- 77: pop
      ops.PUSH_LITERAL, 0,     -- 78: push_literal(0)
      ops.RETURN               -- 80: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 174,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 12: get_slot_direct(230)
      ops.DUP,                 -- 14: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 15: get_slot_direct_check(568)
      ops.SWAP,                -- 17: swap
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 19: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 21: get_slot_direct(39)
      ops.INVOKE, 1,           -- 23: invoke(1)
      ops.POP,                 -- 25: pop
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 27: get_slot_direct(230)
      ops.DUP,                 -- 29: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 30: get_slot_direct_check(568)
      ops.SWAP,                -- 32: swap
      ops.PUSH_LOCAL_FRAME,    -- 33: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 34: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 36: get_slot_direct(40)
      ops.INVOKE, 1,           -- 38: invoke(1)
      ops.POP,                 -- 40: pop
      ops.PUSH_LOCAL_FRAME,    -- 41: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 42: get_slot_direct(230)
      ops.DUP,                 -- 44: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 45: get_slot_direct_check(545)
      ops.SWAP,                -- 47: swap
      ops.PUSH_LITERAL, 478,   -- 48: push_literal(478)
      ops.INVOKE, 1,           -- 50: invoke(1)
      ops.POP,                 -- 52: pop
      ops.PUSH_LITERAL, 0,     -- 53: push_literal(0)
      ops.RETURN               -- 55: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 175,
    nargs = 1,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_FRAME,          -- 6: push_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 12: get_slot_direct(230)
      ops.DUP,                 -- 14: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 15: get_slot_direct_check(568)
      ops.SWAP,                -- 17: swap
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 19: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 21: get_slot_direct(39)
      ops.INVOKE, 1,           -- 23: invoke(1)
      ops.POP,                 -- 25: pop
      ops.PUSH_FRAME,          -- 26: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 27: get_slot_direct(230)
      ops.DUP,                 -- 29: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 30: get_slot_direct_check(568)
      ops.SWAP,                -- 32: swap
      ops.NEW_OBJECT,          -- 33: new_object
      ops.DUP,                 -- 34: dup
      ops.PUSH_LITERAL, 26,    -- 35: push_literal(26)
      ops.SET_SLOT_DIRECT, 224,-- 37: set_slot_direct(224)
      ops.DUP,                 -- 39: dup
      ops.PUSH_LITERAL, 26,    -- 40: push_literal(26)
      ops.SET_SLOT_DIRECT, 363,-- 42: set_slot_direct(363)
      ops.INVOKE, 1,           -- 44: invoke(1)
      ops.POP,                 -- 46: pop
      ops.PUSH_LOCAL_FRAME,    -- 47: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 48: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 50: get_slot_direct(40)
      ops.DUP,                 -- 52: dup
      ops.GET_SLOT_DIRECT_CHECK, 94,-- 53: get_slot_direct_check(94)
      ops.SWAP,                -- 55: swap
      ops.NEW_FUNCTION, 176,   -- 56: new_function(176)
      ops.INVOKE, 1,           -- 58: invoke(1)
      ops.POP,                 -- 60: pop
      ops.PUSH_FRAME,          -- 61: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 62: get_slot_direct(230)
      ops.DUP,                 -- 64: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 65: get_slot_direct_check(545)
      ops.SWAP,                -- 67: swap
      ops.PUSH_LITERAL, 482,   -- 68: push_literal(482)
      ops.PUSH_LOCAL_FRAME,    -- 70: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 71: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 73: get_slot_direct(40)
      ops.GET_SLOT_DIRECT, 55, -- 75: get_slot_direct(55)
      ops.INVOKE, 2,           -- 77: invoke(2)
      ops.POP,                 -- 79: pop
      ops.PUSH_LITERAL, 0,     -- 80: push_literal(0)
      ops.RETURN               -- 82: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 176,
    nargs = 2,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 87, -- 8: set_slot_direct(87)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 53, -- 15: set_slot_direct(53)
      ops.POP,                 -- 17: pop
      ops.PUSH_FRAME,          -- 18: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 19: get_slot_direct(230)
      ops.DUP,                 -- 21: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 22: get_slot_direct_check(568)
      ops.SWAP,                -- 24: swap
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 26: get_slot_direct(87)
      ops.INVOKE, 1,           -- 28: invoke(1)
      ops.POP,                 -- 30: pop
      ops.PUSH_LITERAL, 0,     -- 31: push_literal(0)
      ops.RETURN               -- 33: return
    }
  },
  ifunc.Function:new{ -- ".ternary"
    name = jsval.newString(".ternary"),
    id = 177,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 12: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 14: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 15: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 17: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 18: get_slot_direct(525)
      ops.GET_SLOT_DIRECT, 400,-- 20: get_slot_direct(400)
      ops.PUSH_LOCAL_FRAME,    -- 22: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 23: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 224,-- 25: get_slot_direct(224)
      ops.GET_SLOT_INDIRECT,   -- 27: get_slot_indirect
      ops.PUSH_LOCAL_FRAME,    -- 28: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 29: get_slot_direct(26)
      ops.INVOKE, 2,           -- 31: invoke(2)
      ops.POP,                 -- 33: pop
      ops.PUSH_FRAME,          -- 34: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 35: get_slot_direct(525)
      ops.GET_SLOT_DIRECT, 400,-- 37: get_slot_direct(400)
      ops.PUSH_LOCAL_FRAME,    -- 39: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 40: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 224,-- 42: get_slot_direct(224)
      ops.GET_SLOT_INDIRECT,   -- 44: get_slot_indirect
      ops.DUP,                 -- 45: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 46: get_slot_direct_check(93)
      ops.SWAP,                -- 48: swap
      ops.PUSH_LOCAL_FRAME,    -- 49: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 50: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 52: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 53: get_slot_direct(230)
      ops.INVOKE, 2,           -- 55: invoke(2)
      ops.POP,                 -- 57: pop
      ops.PUSH_LITERAL, 0,     -- 58: push_literal(0)
      ops.RETURN               -- 60: return
    }
  },
  ifunc.Function:new{ -- "ternary"
    name = jsval.newString("ternary"),
    id = 178,
    nargs = 2,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 541,-- 8: set_slot_direct(541)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 109,-- 15: set_slot_direct(109)
      ops.POP,                 -- 17: pop
      ops.PUSH_FRAME,          -- 18: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 19: get_slot_direct(525)
      ops.GET_SLOT_DIRECT, 400,-- 21: get_slot_direct(400)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.GET_SLOT_DIRECT, 541,-- 24: get_slot_direct(541)
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.GET_SLOT_DIRECT, 109,-- 27: get_slot_direct(109)
      ops.SET_SLOT_INDIRECT,   -- 29: set_slot_indirect
      ops.PUSH_LITERAL, 0,     -- 30: push_literal(0)
      ops.RETURN               -- 32: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 179,
    nargs = 1,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 575,-- 14: set_slot_direct(575)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 576,-- 19: set_slot_direct(576)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 22: push_literal(0)
      ops.SET_SLOT_DIRECT, 578,-- 24: set_slot_direct(578)
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 27: push_literal(0)
      ops.SET_SLOT_DIRECT, 577,-- 29: set_slot_direct(577)
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 32: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 33: get_slot_direct(230)
      ops.DUP,                 -- 35: dup
      ops.GET_SLOT_DIRECT_CHECK, 558,-- 36: get_slot_direct_check(558)
      ops.SWAP,                -- 38: swap
      ops.INVOKE, 0,           -- 39: invoke(0)
      ops.SET_SLOT_DIRECT, 578,-- 41: set_slot_direct(578)
      ops.PUSH_LOCAL_FRAME,    -- 43: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 44: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 45: get_slot_direct(230)
      ops.DUP,                 -- 47: dup
      ops.GET_SLOT_DIRECT_CHECK, 558,-- 48: get_slot_direct_check(558)
      ops.SWAP,                -- 50: swap
      ops.INVOKE, 0,           -- 51: invoke(0)
      ops.SET_SLOT_DIRECT, 577,-- 53: set_slot_direct(577)
      ops.PUSH_LOCAL_FRAME,    -- 55: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 56: get_slot_direct(230)
      ops.DUP,                 -- 58: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 59: get_slot_direct_check(568)
      ops.SWAP,                -- 61: swap
      ops.PUSH_LOCAL_FRAME,    -- 62: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 63: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 65: get_slot_direct(39)
      ops.INVOKE, 1,           -- 67: invoke(1)
      ops.POP,                 -- 69: pop
      ops.PUSH_LOCAL_FRAME,    -- 70: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 71: get_slot_direct(230)
      ops.DUP,                 -- 73: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 74: get_slot_direct_check(545)
      ops.SWAP,                -- 76: swap
      ops.PUSH_LITERAL, 487,   -- 77: push_literal(487)
      ops.PUSH_LOCAL_FRAME,    -- 79: push_local_frame
      ops.GET_SLOT_DIRECT, 578,-- 80: get_slot_direct(578)
      ops.PUSH_LOCAL_FRAME,    -- 82: push_local_frame
      ops.GET_SLOT_DIRECT, 577,-- 83: get_slot_direct(577)
      ops.INVOKE, 3,           -- 85: invoke(3)
      ops.POP,                 -- 87: pop
      ops.PUSH_LOCAL_FRAME,    -- 88: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 89: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 90: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 543,-- 92: get_slot_direct(543)
      ops.GET_SLOT_DIRECT, 538,-- 94: get_slot_direct(538)
      ops.SET_SLOT_DIRECT, 575,-- 96: set_slot_direct(575)
      ops.PUSH_LOCAL_FRAME,    -- 98: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 99: get_slot_direct(230)
      ops.DUP,                 -- 101: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 102: get_slot_direct_check(568)
      ops.SWAP,                -- 104: swap
      ops.PUSH_LOCAL_FRAME,    -- 105: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 106: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 108: get_slot_direct(40)
      ops.INVOKE, 1,           -- 110: invoke(1)
      ops.POP,                 -- 112: pop
      ops.PUSH_LOCAL_FRAME,    -- 113: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 114: get_slot_direct(230)
      ops.DUP,                 -- 116: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 117: get_slot_direct_check(545)
      ops.SWAP,                -- 119: swap
      ops.PUSH_LITERAL, 485,   -- 120: push_literal(485)
      ops.PUSH_LOCAL_FRAME,    -- 122: push_local_frame
      ops.GET_SLOT_DIRECT, 577,-- 123: get_slot_direct(577)
      ops.INVOKE, 2,           -- 125: invoke(2)
      ops.POP,                 -- 127: pop
      ops.PUSH_LOCAL_FRAME,    -- 128: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 129: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 130: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 543,-- 132: get_slot_direct(543)
      ops.GET_SLOT_DIRECT, 538,-- 134: get_slot_direct(538)
      ops.SET_SLOT_DIRECT, 576,-- 136: set_slot_direct(576)
      ops.PUSH_LOCAL_FRAME,    -- 138: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 139: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 543,-- 141: get_slot_direct(543)
      ops.PUSH_LOCAL_FRAME,    -- 143: push_local_frame
      ops.GET_SLOT_DIRECT, 575,-- 144: get_slot_direct(575)
      ops.SET_SLOT_DIRECT, 538,-- 146: set_slot_direct(538)
      ops.PUSH_LOCAL_FRAME,    -- 148: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 149: get_slot_direct(230)
      ops.DUP,                 -- 151: dup
      ops.GET_SLOT_DIRECT_CHECK, 559,-- 152: get_slot_direct_check(559)
      ops.SWAP,                -- 154: swap
      ops.PUSH_LOCAL_FRAME,    -- 155: push_local_frame
      ops.GET_SLOT_DIRECT, 578,-- 156: get_slot_direct(578)
      ops.INVOKE, 1,           -- 158: invoke(1)
      ops.POP,                 -- 160: pop
      ops.PUSH_LOCAL_FRAME,    -- 161: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 162: get_slot_direct(230)
      ops.DUP,                 -- 164: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 165: get_slot_direct_check(568)
      ops.SWAP,                -- 167: swap
      ops.PUSH_LOCAL_FRAME,    -- 168: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 169: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 399,-- 171: get_slot_direct(399)
      ops.INVOKE, 1,           -- 173: invoke(1)
      ops.POP,                 -- 175: pop
      ops.PUSH_LOCAL_FRAME,    -- 176: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 177: get_slot_direct(230)
      ops.DUP,                 -- 179: dup
      ops.GET_SLOT_DIRECT_CHECK, 559,-- 180: get_slot_direct_check(559)
      ops.SWAP,                -- 182: swap
      ops.PUSH_LOCAL_FRAME,    -- 183: push_local_frame
      ops.GET_SLOT_DIRECT, 577,-- 184: get_slot_direct(577)
      ops.INVOKE, 1,           -- 186: invoke(1)
      ops.POP,                 -- 188: pop
      ops.PUSH_LOCAL_FRAME,    -- 189: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 190: get_slot_direct(230)
      ops.DUP,                 -- 192: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 193: get_slot_direct_check(545)
      ops.SWAP,                -- 195: swap
      ops.PUSH_LITERAL, 488,   -- 196: push_literal(488)
      ops.INVOKE, 1,           -- 198: invoke(1)
      ops.POP,                 -- 200: pop
      ops.PUSH_FRAME,          -- 201: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 202: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 204: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 205: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 207: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 208: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 543,-- 210: get_slot_direct(543)
      ops.GET_SLOT_DIRECT, 538,-- 212: get_slot_direct(538)
      ops.PUSH_LOCAL_FRAME,    -- 214: push_local_frame
      ops.GET_SLOT_DIRECT, 576,-- 215: get_slot_direct(576)
      ops.BI_EQ,               -- 217: bi_eq
      ops.PUSH_LOCAL_FRAME,    -- 218: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 219: get_slot_direct(26)
      ops.INVOKE, 2,           -- 221: invoke(2)
      ops.POP,                 -- 223: pop
      ops.PUSH_LITERAL, 0,     -- 224: push_literal(0)
      ops.RETURN               -- 226: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 180,
    nargs = 1,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_FRAME,          -- 6: push_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 12: get_slot_direct(230)
      ops.DUP,                 -- 14: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 15: get_slot_direct_check(568)
      ops.SWAP,                -- 17: swap
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 19: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 21: get_slot_direct(39)
      ops.INVOKE, 1,           -- 23: invoke(1)
      ops.POP,                 -- 25: pop
      ops.PUSH_FRAME,          -- 26: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 27: get_slot_direct(230)
      ops.DUP,                 -- 29: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 30: get_slot_direct_check(545)
      ops.SWAP,                -- 32: swap
      ops.PUSH_LITERAL, 489,   -- 33: push_literal(489)
      ops.INVOKE, 1,           -- 35: invoke(1)
      ops.POP,                 -- 37: pop
      ops.PUSH_LOCAL_FRAME,    -- 38: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 39: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 41: get_slot_direct(40)
      ops.GET_SLOT_DIRECT, 363,-- 43: get_slot_direct(363)
      ops.PUSH_LITERAL, 374,   -- 45: push_literal(374)
      ops.BI_EQ,               -- 47: bi_eq
      ops.DUP,                 -- 48: dup
      ops.JMP_UNLESS, 64, 64,  -- 49: jmp_unless(64,64)
      ops.POP,                 -- 52: pop
      ops.PUSH_LOCAL_FRAME,    -- 53: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 54: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 56: get_slot_direct(40)
      ops.GET_SLOT_DIRECT, 224,-- 58: get_slot_direct(224)
      ops.UN_TYPEOF,           -- 60: un_typeof
      ops.PUSH_LITERAL, 38,    -- 61: push_literal(38)
      ops.BI_EQ,               -- 63: bi_eq
      ops.PHI,                 -- 64: phi
      ops.JMP_UNLESS, 98, 125, -- 65: jmp_unless(98,125)
      ops.PUSH_FRAME,          -- 68: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 69: get_slot_direct(230)
      ops.DUP,                 -- 71: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 72: get_slot_direct_check(545)
      ops.SWAP,                -- 74: swap
      ops.PUSH_LITERAL, 479,   -- 75: push_literal(479)
      ops.PUSH_FRAME,          -- 77: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 78: get_slot_direct(230)
      ops.DUP,                 -- 80: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 81: get_slot_direct_check(374)
      ops.SWAP,                -- 83: swap
      ops.PUSH_LOCAL_FRAME,    -- 84: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 85: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 87: get_slot_direct(40)
      ops.GET_SLOT_DIRECT, 224,-- 89: get_slot_direct(224)
      ops.INVOKE, 1,           -- 91: invoke(1)
      ops.INVOKE, 2,           -- 93: invoke(2)
      ops.POP,                 -- 95: pop
      ops.JMP, 125,            -- 96: jmp(125)
      ops.PUSH_FRAME,          -- 98: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 99: get_slot_direct(230)
      ops.DUP,                 -- 101: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 102: get_slot_direct_check(568)
      ops.SWAP,                -- 104: swap
      ops.PUSH_LOCAL_FRAME,    -- 105: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 106: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 108: get_slot_direct(40)
      ops.INVOKE, 1,           -- 110: invoke(1)
      ops.POP,                 -- 112: pop
      ops.PUSH_FRAME,          -- 113: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 114: get_slot_direct(230)
      ops.DUP,                 -- 116: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 117: get_slot_direct_check(545)
      ops.SWAP,                -- 119: swap
      ops.PUSH_LITERAL, 478,   -- 120: push_literal(478)
      ops.INVOKE, 1,           -- 122: invoke(1)
      ops.POP,                 -- 124: pop
      ops.PHI,                 -- 125: phi
      ops.PUSH_FRAME,          -- 126: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 127: get_slot_direct(230)
      ops.DUP,                 -- 129: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 130: get_slot_direct_check(545)
      ops.SWAP,                -- 132: swap
      ops.PUSH_LITERAL, 493,   -- 133: push_literal(493)
      ops.INVOKE, 1,           -- 135: invoke(1)
      ops.POP,                 -- 137: pop
      ops.PUSH_LOCAL_FRAME,    -- 138: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 139: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 399,-- 141: get_slot_direct(399)
      ops.DUP,                 -- 143: dup
      ops.GET_SLOT_DIRECT_CHECK, 94,-- 144: get_slot_direct_check(94)
      ops.SWAP,                -- 146: swap
      ops.NEW_FUNCTION, 181,   -- 147: new_function(181)
      ops.INVOKE, 1,           -- 149: invoke(1)
      ops.POP,                 -- 151: pop
      ops.PUSH_FRAME,          -- 152: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 153: get_slot_direct(230)
      ops.DUP,                 -- 155: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 156: get_slot_direct_check(545)
      ops.SWAP,                -- 158: swap
      ops.PUSH_LITERAL, 482,   -- 159: push_literal(482)
      ops.PUSH_LOCAL_FRAME,    -- 161: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 162: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 399,-- 164: get_slot_direct(399)
      ops.GET_SLOT_DIRECT, 55, -- 166: get_slot_direct(55)
      ops.INVOKE, 2,           -- 168: invoke(2)
      ops.POP,                 -- 170: pop
      ops.PUSH_LITERAL, 0,     -- 171: push_literal(0)
      ops.RETURN               -- 173: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 181,
    nargs = 2,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 87, -- 8: set_slot_direct(87)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 53, -- 15: set_slot_direct(53)
      ops.POP,                 -- 17: pop
      ops.PUSH_FRAME,          -- 18: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 19: get_slot_direct(230)
      ops.DUP,                 -- 21: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 22: get_slot_direct_check(568)
      ops.SWAP,                -- 24: swap
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 26: get_slot_direct(87)
      ops.INVOKE, 1,           -- 28: invoke(1)
      ops.POP,                 -- 30: pop
      ops.PUSH_LITERAL, 0,     -- 31: push_literal(0)
      ops.RETURN               -- 33: return
    }
  },
  ifunc.Function:new{ -- ".statement"
    name = jsval.newString(".statement"),
    id = 182,
    nargs = 1,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_FRAME,          -- 11: push_frame
      ops.GET_SLOT_DIRECT, 524,-- 12: get_slot_direct(524)
      ops.PUSH_LOCAL_FRAME,    -- 14: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 15: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 17: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 18: get_slot_direct(525)
      ops.GET_SLOT_DIRECT, 339,-- 20: get_slot_direct(339)
      ops.PUSH_LOCAL_FRAME,    -- 22: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 23: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 224,-- 25: get_slot_direct(224)
      ops.GET_SLOT_INDIRECT,   -- 27: get_slot_indirect
      ops.PUSH_LOCAL_FRAME,    -- 28: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 29: get_slot_direct(26)
      ops.INVOKE, 2,           -- 31: invoke(2)
      ops.POP,                 -- 33: pop
      ops.PUSH_FRAME,          -- 34: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 35: get_slot_direct(525)
      ops.GET_SLOT_DIRECT, 339,-- 37: get_slot_direct(339)
      ops.PUSH_LOCAL_FRAME,    -- 39: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 40: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 224,-- 42: get_slot_direct(224)
      ops.GET_SLOT_INDIRECT,   -- 44: get_slot_indirect
      ops.DUP,                 -- 45: dup
      ops.GET_SLOT_DIRECT_CHECK, 93,-- 46: get_slot_direct_check(93)
      ops.SWAP,                -- 48: swap
      ops.PUSH_LOCAL_FRAME,    -- 49: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 50: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 52: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 53: get_slot_direct(230)
      ops.INVOKE, 2,           -- 55: invoke(2)
      ops.POP,                 -- 57: pop
      ops.PUSH_LITERAL, 0,     -- 58: push_literal(0)
      ops.RETURN               -- 60: return
    }
  },
  ifunc.Function:new{ -- "stmt"
    name = jsval.newString("stmt"),
    id = 183,
    nargs = 2,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 224,-- 8: set_slot_direct(224)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 109,-- 15: set_slot_direct(109)
      ops.POP,                 -- 17: pop
      ops.PUSH_FRAME,          -- 18: push_frame
      ops.GET_SLOT_DIRECT, 525,-- 19: get_slot_direct(525)
      ops.GET_SLOT_DIRECT, 339,-- 21: get_slot_direct(339)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.GET_SLOT_DIRECT, 224,-- 24: get_slot_direct(224)
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.GET_SLOT_DIRECT, 109,-- 27: get_slot_direct(109)
      ops.SET_SLOT_INDIRECT,   -- 29: set_slot_indirect
      ops.PUSH_LITERAL, 0,     -- 30: push_literal(0)
      ops.RETURN               -- 32: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 184,
    nargs = 1,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_FRAME,          -- 6: push_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 12: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 14: get_slot_direct(39)
      ops.DUP,                 -- 16: dup
      ops.GET_SLOT_DIRECT_CHECK, 94,-- 17: get_slot_direct_check(94)
      ops.SWAP,                -- 19: swap
      ops.NEW_FUNCTION, 185,   -- 20: new_function(185)
      ops.INVOKE, 1,           -- 22: invoke(1)
      ops.POP,                 -- 24: pop
      ops.PUSH_LITERAL, 0,     -- 25: push_literal(0)
      ops.RETURN               -- 27: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 185,
    nargs = 2,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 87, -- 8: set_slot_direct(87)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 53, -- 15: set_slot_direct(53)
      ops.POP,                 -- 17: pop
      ops.PUSH_FRAME,          -- 18: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 19: get_slot_direct(230)
      ops.DUP,                 -- 21: dup
      ops.GET_SLOT_DIRECT_CHECK, 566,-- 22: get_slot_direct_check(566)
      ops.SWAP,                -- 24: swap
      ops.PUSH_LOCAL_FRAME,    -- 25: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 26: get_slot_direct(87)
      ops.INVOKE, 1,           -- 28: invoke(1)
      ops.POP,                 -- 30: pop
      ops.PUSH_LITERAL, 0,     -- 31: push_literal(0)
      ops.RETURN               -- 33: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 186,
    nargs = 1,
    max_stack = 7,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 12: get_slot_direct(230)
      ops.DUP,                 -- 14: dup
      ops.GET_SLOT_DIRECT_CHECK, 566,-- 15: get_slot_direct_check(566)
      ops.SWAP,                -- 17: swap
      ops.NEW_OBJECT,          -- 18: new_object
      ops.DUP,                 -- 19: dup
      ops.PUSH_LITERAL, 386,   -- 20: push_literal(386)
      ops.SET_SLOT_DIRECT, 363,-- 22: set_slot_direct(363)
      ops.DUP,                 -- 24: dup
      ops.PUSH_LITERAL, 392,   -- 25: push_literal(392)
      ops.SET_SLOT_DIRECT, 224,-- 27: set_slot_direct(224)
      ops.DUP,                 -- 29: dup
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 31: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 33: get_slot_direct(39)
      ops.SET_SLOT_DIRECT, 39, -- 35: set_slot_direct(39)
      ops.DUP,                 -- 37: dup
      ops.NEW_OBJECT,          -- 38: new_object
      ops.DUP,                 -- 39: dup
      ops.PUSH_LITERAL, 374,   -- 40: push_literal(374)
      ops.SET_SLOT_DIRECT, 363,-- 42: set_slot_direct(363)
      ops.DUP,                 -- 44: dup
      ops.PUSH_LITERAL, 0,     -- 45: push_literal(0)
      ops.SET_SLOT_DIRECT, 224,-- 47: set_slot_direct(224)
      ops.SET_SLOT_DIRECT, 40, -- 49: set_slot_direct(40)
      ops.INVOKE, 1,           -- 51: invoke(1)
      ops.POP,                 -- 53: pop
      ops.PUSH_LITERAL, 0,     -- 54: push_literal(0)
      ops.RETURN               -- 56: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 187,
    nargs = 1,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 577,-- 14: set_slot_direct(577)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 578,-- 19: set_slot_direct(578)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 22: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 23: get_slot_direct(230)
      ops.DUP,                 -- 25: dup
      ops.GET_SLOT_DIRECT_CHECK, 558,-- 26: get_slot_direct_check(558)
      ops.SWAP,                -- 28: swap
      ops.INVOKE, 0,           -- 29: invoke(0)
      ops.SET_SLOT_DIRECT, 577,-- 31: set_slot_direct(577)
      ops.PUSH_LOCAL_FRAME,    -- 33: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 34: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 35: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 399,-- 37: get_slot_direct(399)
      ops.JMP_UNLESS, 53, 56,  -- 39: jmp_unless(53,56)
      ops.PUSH_LOCAL_FRAME,    -- 42: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 43: get_slot_direct(230)
      ops.DUP,                 -- 45: dup
      ops.GET_SLOT_DIRECT_CHECK, 558,-- 46: get_slot_direct_check(558)
      ops.SWAP,                -- 48: swap
      ops.INVOKE, 0,           -- 49: invoke(0)
      ops.JMP, 56,             -- 51: jmp(56)
      ops.PUSH_LOCAL_FRAME,    -- 53: push_local_frame
      ops.GET_SLOT_DIRECT, 577,-- 54: get_slot_direct(577)
      ops.PHI,                 -- 56: phi
      ops.SET_SLOT_DIRECT, 578,-- 57: set_slot_direct(578)
      ops.PUSH_LOCAL_FRAME,    -- 59: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 60: get_slot_direct(230)
      ops.DUP,                 -- 62: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 63: get_slot_direct_check(568)
      ops.SWAP,                -- 65: swap
      ops.PUSH_LOCAL_FRAME,    -- 66: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 67: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 69: get_slot_direct(39)
      ops.INVOKE, 1,           -- 71: invoke(1)
      ops.POP,                 -- 73: pop
      ops.PUSH_LOCAL_FRAME,    -- 74: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 75: get_slot_direct(230)
      ops.DUP,                 -- 77: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 78: get_slot_direct_check(545)
      ops.SWAP,                -- 80: swap
      ops.PUSH_LITERAL, 487,   -- 81: push_literal(487)
      ops.PUSH_LOCAL_FRAME,    -- 83: push_local_frame
      ops.GET_SLOT_DIRECT, 578,-- 84: get_slot_direct(578)
      ops.PUSH_LOCAL_FRAME,    -- 86: push_local_frame
      ops.GET_SLOT_DIRECT, 577,-- 87: get_slot_direct(577)
      ops.INVOKE, 3,           -- 89: invoke(3)
      ops.POP,                 -- 91: pop
      ops.PUSH_LOCAL_FRAME,    -- 92: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 93: get_slot_direct(230)
      ops.DUP,                 -- 95: dup
      ops.GET_SLOT_DIRECT_CHECK, 566,-- 96: get_slot_direct_check(566)
      ops.SWAP,                -- 98: swap
      ops.PUSH_LOCAL_FRAME,    -- 99: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 100: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 102: get_slot_direct(40)
      ops.INVOKE, 1,           -- 104: invoke(1)
      ops.POP,                 -- 106: pop
      ops.PUSH_LOCAL_FRAME,    -- 107: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 108: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 399,-- 110: get_slot_direct(399)
      ops.JMP_UNLESS, 158, 158,-- 112: jmp_unless(158,158)
      ops.PUSH_LOCAL_FRAME,    -- 115: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 116: get_slot_direct(230)
      ops.DUP,                 -- 118: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 119: get_slot_direct_check(545)
      ops.SWAP,                -- 121: swap
      ops.PUSH_LITERAL, 485,   -- 122: push_literal(485)
      ops.PUSH_LOCAL_FRAME,    -- 124: push_local_frame
      ops.GET_SLOT_DIRECT, 577,-- 125: get_slot_direct(577)
      ops.INVOKE, 2,           -- 127: invoke(2)
      ops.POP,                 -- 129: pop
      ops.PUSH_LOCAL_FRAME,    -- 130: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 131: get_slot_direct(230)
      ops.DUP,                 -- 133: dup
      ops.GET_SLOT_DIRECT_CHECK, 559,-- 134: get_slot_direct_check(559)
      ops.SWAP,                -- 136: swap
      ops.PUSH_LOCAL_FRAME,    -- 137: push_local_frame
      ops.GET_SLOT_DIRECT, 578,-- 138: get_slot_direct(578)
      ops.INVOKE, 1,           -- 140: invoke(1)
      ops.POP,                 -- 142: pop
      ops.PUSH_LOCAL_FRAME,    -- 143: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 144: get_slot_direct(230)
      ops.DUP,                 -- 146: dup
      ops.GET_SLOT_DIRECT_CHECK, 566,-- 147: get_slot_direct_check(566)
      ops.SWAP,                -- 149: swap
      ops.PUSH_LOCAL_FRAME,    -- 150: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 151: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 399,-- 153: get_slot_direct(399)
      ops.INVOKE, 1,           -- 155: invoke(1)
      ops.POP,                 -- 157: pop
      ops.PHI,                 -- 158: phi
      ops.PUSH_LOCAL_FRAME,    -- 159: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 160: get_slot_direct(230)
      ops.DUP,                 -- 162: dup
      ops.GET_SLOT_DIRECT_CHECK, 559,-- 163: get_slot_direct_check(559)
      ops.SWAP,                -- 165: swap
      ops.PUSH_LOCAL_FRAME,    -- 166: push_local_frame
      ops.GET_SLOT_DIRECT, 577,-- 167: get_slot_direct(577)
      ops.INVOKE, 1,           -- 169: invoke(1)
      ops.POP,                 -- 171: pop
      ops.PUSH_LOCAL_FRAME,    -- 172: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 173: get_slot_direct(230)
      ops.DUP,                 -- 175: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 176: get_slot_direct_check(545)
      ops.SWAP,                -- 178: swap
      ops.PUSH_LITERAL, 488,   -- 179: push_literal(488)
      ops.INVOKE, 1,           -- 181: invoke(1)
      ops.POP,                 -- 183: pop
      ops.PUSH_LITERAL, 0,     -- 184: push_literal(0)
      ops.RETURN               -- 186: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 188,
    nargs = 1,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 12: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 14: get_slot_direct(39)
      ops.JMP_UNLESS, 36, 59,  -- 16: jmp_unless(36,59)
      ops.PUSH_LOCAL_FRAME,    -- 19: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 20: get_slot_direct(230)
      ops.DUP,                 -- 22: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 23: get_slot_direct_check(568)
      ops.SWAP,                -- 25: swap
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 27: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 29: get_slot_direct(39)
      ops.INVOKE, 1,           -- 31: invoke(1)
      ops.POP,                 -- 33: pop
      ops.JMP, 59,             -- 34: jmp(59)
      ops.PUSH_LOCAL_FRAME,    -- 36: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 37: get_slot_direct(230)
      ops.DUP,                 -- 39: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 40: get_slot_direct_check(545)
      ops.SWAP,                -- 42: swap
      ops.PUSH_LITERAL, 473,   -- 43: push_literal(473)
      ops.PUSH_LOCAL_FRAME,    -- 45: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 46: get_slot_direct(230)
      ops.DUP,                 -- 48: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 49: get_slot_direct_check(374)
      ops.SWAP,                -- 51: swap
      ops.PUSH_LITERAL, 0,     -- 52: push_literal(0)
      ops.INVOKE, 1,           -- 54: invoke(1)
      ops.INVOKE, 2,           -- 56: invoke(2)
      ops.POP,                 -- 58: pop
      ops.PHI,                 -- 59: phi
      ops.PUSH_LOCAL_FRAME,    -- 60: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 61: get_slot_direct(230)
      ops.DUP,                 -- 63: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 64: get_slot_direct_check(545)
      ops.SWAP,                -- 66: swap
      ops.PUSH_LITERAL, 427,   -- 67: push_literal(427)
      ops.INVOKE, 1,           -- 69: invoke(1)
      ops.POP,                 -- 71: pop
      ops.PUSH_LOCAL_FRAME,    -- 72: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 73: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 543,-- 75: get_slot_direct(543)
      ops.PUSH_LITERAL, 32,    -- 77: push_literal(32)
      ops.SET_SLOT_DIRECT, 544,-- 79: set_slot_direct(544)
      ops.PUSH_LITERAL, 0,     -- 81: push_literal(0)
      ops.RETURN               -- 83: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 189,
    nargs = 1,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 12: get_slot_direct(230)
      ops.DUP,                 -- 14: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 15: get_slot_direct_check(545)
      ops.SWAP,                -- 17: swap
      ops.PUSH_LITERAL, 485,   -- 18: push_literal(485)
      ops.PUSH_LOCAL_FRAME,    -- 20: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 21: get_slot_direct(230)
      ops.DUP,                 -- 23: dup
      ops.GET_SLOT_DIRECT_CHECK, 561,-- 24: get_slot_direct_check(561)
      ops.SWAP,                -- 26: swap
      ops.INVOKE, 0,           -- 27: invoke(0)
      ops.INVOKE, 2,           -- 29: invoke(2)
      ops.POP,                 -- 31: pop
      ops.PUSH_LITERAL, 0,     -- 32: push_literal(0)
      ops.RETURN               -- 34: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 190,
    nargs = 1,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 579,-- 14: set_slot_direct(579)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 580,-- 19: set_slot_direct(580)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 22: push_literal(0)
      ops.SET_SLOT_DIRECT, 581,-- 24: set_slot_direct(581)
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 28: get_slot_direct(230)
      ops.DUP,                 -- 30: dup
      ops.GET_SLOT_DIRECT_CHECK, 558,-- 31: get_slot_direct_check(558)
      ops.SWAP,                -- 33: swap
      ops.INVOKE, 0,           -- 34: invoke(0)
      ops.SET_SLOT_DIRECT, 579,-- 36: set_slot_direct(579)
      ops.PUSH_LOCAL_FRAME,    -- 38: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 39: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 40: get_slot_direct(230)
      ops.DUP,                 -- 42: dup
      ops.GET_SLOT_DIRECT_CHECK, 558,-- 43: get_slot_direct_check(558)
      ops.SWAP,                -- 45: swap
      ops.INVOKE, 0,           -- 46: invoke(0)
      ops.SET_SLOT_DIRECT, 580,-- 48: set_slot_direct(580)
      ops.PUSH_LOCAL_FRAME,    -- 50: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 51: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 52: get_slot_direct(230)
      ops.DUP,                 -- 54: dup
      ops.GET_SLOT_DIRECT_CHECK, 558,-- 55: get_slot_direct_check(558)
      ops.SWAP,                -- 57: swap
      ops.INVOKE, 0,           -- 58: invoke(0)
      ops.SET_SLOT_DIRECT, 581,-- 60: set_slot_direct(581)
      ops.PUSH_LOCAL_FRAME,    -- 62: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 63: get_slot_direct(230)
      ops.DUP,                 -- 65: dup
      ops.GET_SLOT_DIRECT_CHECK, 563,-- 66: get_slot_direct_check(563)
      ops.SWAP,                -- 68: swap
      ops.PUSH_LOCAL_FRAME,    -- 69: push_local_frame
      ops.GET_SLOT_DIRECT, 581,-- 70: get_slot_direct(581)
      ops.INVOKE, 1,           -- 72: invoke(1)
      ops.POP,                 -- 74: pop
      ops.PUSH_LOCAL_FRAME,    -- 75: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 76: get_slot_direct(230)
      ops.DUP,                 -- 78: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 79: get_slot_direct_check(545)
      ops.SWAP,                -- 81: swap
      ops.PUSH_LITERAL, 486,   -- 82: push_literal(486)
      ops.PUSH_LOCAL_FRAME,    -- 84: push_local_frame
      ops.GET_SLOT_DIRECT, 580,-- 85: get_slot_direct(580)
      ops.PUSH_LOCAL_FRAME,    -- 87: push_local_frame
      ops.GET_SLOT_DIRECT, 581,-- 88: get_slot_direct(581)
      ops.INVOKE, 3,           -- 90: invoke(3)
      ops.POP,                 -- 92: pop
      ops.PUSH_LOCAL_FRAME,    -- 93: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 94: get_slot_direct(230)
      ops.DUP,                 -- 96: dup
      ops.GET_SLOT_DIRECT_CHECK, 559,-- 97: get_slot_direct_check(559)
      ops.SWAP,                -- 99: swap
      ops.PUSH_LOCAL_FRAME,    -- 100: push_local_frame
      ops.GET_SLOT_DIRECT, 579,-- 101: get_slot_direct(579)
      ops.INVOKE, 1,           -- 103: invoke(1)
      ops.POP,                 -- 105: pop
      ops.PUSH_LOCAL_FRAME,    -- 106: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 107: get_slot_direct(230)
      ops.DUP,                 -- 109: dup
      ops.GET_SLOT_DIRECT_CHECK, 566,-- 110: get_slot_direct_check(566)
      ops.SWAP,                -- 112: swap
      ops.PUSH_LOCAL_FRAME,    -- 113: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 114: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 116: get_slot_direct(40)
      ops.INVOKE, 1,           -- 118: invoke(1)
      ops.POP,                 -- 120: pop
      ops.PUSH_LOCAL_FRAME,    -- 121: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 122: get_slot_direct(230)
      ops.DUP,                 -- 124: dup
      ops.GET_SLOT_DIRECT_CHECK, 559,-- 125: get_slot_direct_check(559)
      ops.SWAP,                -- 127: swap
      ops.PUSH_LOCAL_FRAME,    -- 128: push_local_frame
      ops.GET_SLOT_DIRECT, 580,-- 129: get_slot_direct(580)
      ops.INVOKE, 1,           -- 131: invoke(1)
      ops.POP,                 -- 133: pop
      ops.PUSH_LOCAL_FRAME,    -- 134: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 135: get_slot_direct(230)
      ops.DUP,                 -- 137: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 138: get_slot_direct_check(545)
      ops.SWAP,                -- 140: swap
      ops.PUSH_LITERAL, 488,   -- 141: push_literal(488)
      ops.INVOKE, 1,           -- 143: invoke(1)
      ops.POP,                 -- 145: pop
      ops.PUSH_LOCAL_FRAME,    -- 146: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 147: get_slot_direct(230)
      ops.DUP,                 -- 149: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 150: get_slot_direct_check(568)
      ops.SWAP,                -- 152: swap
      ops.PUSH_LOCAL_FRAME,    -- 153: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 154: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 156: get_slot_direct(39)
      ops.INVOKE, 1,           -- 158: invoke(1)
      ops.POP,                 -- 160: pop
      ops.PUSH_LOCAL_FRAME,    -- 161: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 162: get_slot_direct(230)
      ops.DUP,                 -- 164: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 165: get_slot_direct_check(545)
      ops.SWAP,                -- 167: swap
      ops.PUSH_LITERAL, 494,   -- 168: push_literal(494)
      ops.INVOKE, 1,           -- 170: invoke(1)
      ops.POP,                 -- 172: pop
      ops.PUSH_LOCAL_FRAME,    -- 173: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 174: get_slot_direct(230)
      ops.DUP,                 -- 176: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 177: get_slot_direct_check(545)
      ops.SWAP,                -- 179: swap
      ops.PUSH_LITERAL, 487,   -- 180: push_literal(487)
      ops.PUSH_LOCAL_FRAME,    -- 182: push_local_frame
      ops.GET_SLOT_DIRECT, 579,-- 183: get_slot_direct(579)
      ops.PUSH_LOCAL_FRAME,    -- 185: push_local_frame
      ops.GET_SLOT_DIRECT, 581,-- 186: get_slot_direct(581)
      ops.INVOKE, 3,           -- 188: invoke(3)
      ops.POP,                 -- 190: pop
      ops.PUSH_LOCAL_FRAME,    -- 191: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 192: get_slot_direct(230)
      ops.DUP,                 -- 194: dup
      ops.GET_SLOT_DIRECT_CHECK, 559,-- 195: get_slot_direct_check(559)
      ops.SWAP,                -- 197: swap
      ops.PUSH_LOCAL_FRAME,    -- 198: push_local_frame
      ops.GET_SLOT_DIRECT, 581,-- 199: get_slot_direct(581)
      ops.INVOKE, 1,           -- 201: invoke(1)
      ops.POP,                 -- 203: pop
      ops.PUSH_LOCAL_FRAME,    -- 204: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 205: get_slot_direct(230)
      ops.DUP,                 -- 207: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 208: get_slot_direct_check(545)
      ops.SWAP,                -- 210: swap
      ops.PUSH_LITERAL, 488,   -- 211: push_literal(488)
      ops.INVOKE, 1,           -- 213: invoke(1)
      ops.POP,                 -- 215: pop
      ops.PUSH_LOCAL_FRAME,    -- 216: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 217: get_slot_direct(230)
      ops.DUP,                 -- 219: dup
      ops.GET_SLOT_DIRECT_CHECK, 562,-- 220: get_slot_direct_check(562)
      ops.SWAP,                -- 222: swap
      ops.INVOKE, 0,           -- 223: invoke(0)
      ops.POP,                 -- 225: pop
      ops.PUSH_LITERAL, 0,     -- 226: push_literal(0)
      ops.RETURN               -- 228: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 191,
    nargs = 1,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 12: get_slot_direct(230)
      ops.DUP,                 -- 14: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 15: get_slot_direct_check(545)
      ops.SWAP,                -- 17: swap
      ops.PUSH_LITERAL, 472,   -- 18: push_literal(472)
      ops.INVOKE, 1,           -- 20: invoke(1)
      ops.POP,                 -- 22: pop
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 24: get_slot_direct(230)
      ops.DUP,                 -- 26: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 27: get_slot_direct_check(545)
      ops.SWAP,                -- 29: swap
      ops.PUSH_LITERAL, 477,   -- 30: push_literal(477)
      ops.PUSH_LOCAL_FRAME,    -- 32: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 33: get_slot_direct(230)
      ops.DUP,                 -- 35: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 36: get_slot_direct_check(374)
      ops.SWAP,                -- 38: swap
      ops.PUSH_LITERAL, 26,    -- 39: push_literal(26)
      ops.INVOKE, 1,           -- 41: invoke(1)
      ops.INVOKE, 2,           -- 43: invoke(2)
      ops.POP,                 -- 45: pop
      ops.PUSH_LITERAL, 0,     -- 46: push_literal(0)
      ops.RETURN               -- 48: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 192,
    nargs = 1,
    max_stack = 7,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_FRAME,          -- 6: push_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 582,-- 14: set_slot_direct(582)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 17: push_literal(0)
      ops.SET_SLOT_DIRECT, 583,-- 19: set_slot_direct(583)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 22: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 19, -- 24: get_slot_direct(19)
      ops.JMP_UNLESS, 124, 124,-- 26: jmp_unless(124,124)
      ops.PUSH_FRAME,          -- 29: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 30: get_slot_direct(230)
      ops.DUP,                 -- 32: dup
      ops.GET_SLOT_DIRECT_CHECK, 568,-- 33: get_slot_direct_check(568)
      ops.SWAP,                -- 35: swap
      ops.NEW_OBJECT,          -- 36: new_object
      ops.DUP,                 -- 37: dup
      ops.PUSH_LITERAL, 392,   -- 38: push_literal(392)
      ops.SET_SLOT_DIRECT, 224,-- 40: set_slot_direct(224)
      ops.DUP,                 -- 42: dup
      ops.PUSH_LITERAL, 386,   -- 43: push_literal(386)
      ops.SET_SLOT_DIRECT, 363,-- 45: set_slot_direct(363)
      ops.DUP,                 -- 47: dup
      ops.NEW_OBJECT,          -- 48: new_object
      ops.DUP,                 -- 49: dup
      ops.PUSH_LOCAL_FRAME,    -- 50: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 51: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 19, -- 53: get_slot_direct(19)
      ops.SET_SLOT_DIRECT, 224,-- 55: set_slot_direct(224)
      ops.DUP,                 -- 57: dup
      ops.PUSH_LITERAL, 19,    -- 58: push_literal(19)
      ops.SET_SLOT_DIRECT, 363,-- 60: set_slot_direct(363)
      ops.DUP,                 -- 62: dup
      ops.PUSH_LOCAL_FRAME,    -- 63: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 64: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 328,-- 66: get_slot_direct(328)
      ops.SET_SLOT_DIRECT, 328,-- 68: set_slot_direct(328)
      ops.SET_SLOT_DIRECT, 39, -- 70: set_slot_direct(39)
      ops.DUP,                 -- 72: dup
      ops.NEW_OBJECT,          -- 73: new_object
      ops.DUP,                 -- 74: dup
      ops.PUSH_LITERAL, 25,    -- 75: push_literal(25)
      ops.SET_SLOT_DIRECT, 224,-- 77: set_slot_direct(224)
      ops.DUP,                 -- 79: dup
      ops.PUSH_LITERAL, 25,    -- 80: push_literal(25)
      ops.SET_SLOT_DIRECT, 363,-- 82: set_slot_direct(363)
      ops.DUP,                 -- 84: dup
      ops.PUSH_LOCAL_FRAME,    -- 85: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 86: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 88: get_slot_direct(39)
      ops.SET_SLOT_DIRECT, 39, -- 90: set_slot_direct(39)
      ops.DUP,                 -- 92: dup
      ops.PUSH_LOCAL_FRAME,    -- 93: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 94: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 96: get_slot_direct(40)
      ops.SET_SLOT_DIRECT, 40, -- 98: set_slot_direct(40)
      ops.DUP,                 -- 100: dup
      ops.PUSH_LOCAL_FRAME,    -- 101: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 102: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 423,-- 104: get_slot_direct(423)
      ops.SET_SLOT_DIRECT, 423,-- 106: set_slot_direct(423)
      ops.DUP,                 -- 108: dup
      ops.PUSH_LOCAL_FRAME,    -- 109: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 110: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 19, -- 112: get_slot_direct(19)
      ops.SET_SLOT_DIRECT, 572,-- 114: set_slot_direct(572)
      ops.SET_SLOT_DIRECT, 40, -- 116: set_slot_direct(40)
      ops.INVOKE, 1,           -- 118: invoke(1)
      ops.POP,                 -- 120: pop
      ops.PUSH_LITERAL, 0,     -- 121: push_literal(0)
      ops.RETURN,              -- 123: return
      ops.PHI,                 -- 124: phi
      ops.PUSH_LOCAL_FRAME,    -- 125: push_local_frame
      ops.PUSH_FRAME,          -- 126: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 127: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 543,-- 129: get_slot_direct(543)
      ops.SET_SLOT_DIRECT, 582,-- 131: set_slot_direct(582)
      ops.PUSH_LOCAL_FRAME,    -- 133: push_local_frame
      ops.PUSH_FRAME,          -- 134: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 135: get_slot_direct(230)
      ops.DUP,                 -- 137: dup
      ops.GET_SLOT_DIRECT_CHECK, 476,-- 138: get_slot_direct_check(476)
      ops.SWAP,                -- 140: swap
      ops.PUSH_LOCAL_FRAME,    -- 141: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 142: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 144: get_slot_direct(39)
      ops.GET_SLOT_DIRECT, 55, -- 146: get_slot_direct(55)
      ops.INVOKE, 1,           -- 148: invoke(1)
      ops.SET_SLOT_DIRECT, 583,-- 150: set_slot_direct(583)
      ops.PUSH_LOCAL_FRAME,    -- 152: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 153: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 572,-- 155: get_slot_direct(572)
      ops.JMP_UNLESS, 170, 170,-- 157: jmp_unless(170,170)
      ops.PUSH_LOCAL_FRAME,    -- 160: push_local_frame
      ops.GET_SLOT_DIRECT, 583,-- 161: get_slot_direct(583)
      ops.PUSH_LOCAL_FRAME,    -- 163: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 164: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 572,-- 166: get_slot_direct(572)
      ops.SET_SLOT_DIRECT, 19, -- 168: set_slot_direct(19)
      ops.PHI,                 -- 170: phi
      ops.PUSH_FRAME,          -- 171: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 172: get_slot_direct(230)
      ops.PUSH_LOCAL_FRAME,    -- 174: push_local_frame
      ops.GET_SLOT_DIRECT, 583,-- 175: get_slot_direct(583)
      ops.SET_SLOT_DIRECT, 543,-- 177: set_slot_direct(543)
      ops.PUSH_FRAME,          -- 179: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 180: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 543,-- 182: get_slot_direct(543)
      ops.PUSH_LITERAL, 118,   -- 184: push_literal(118)
      ops.SET_SLOT_DIRECT, 544,-- 186: set_slot_direct(544)
      ops.PUSH_FRAME,          -- 188: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 189: get_slot_direct(230)
      ops.DUP,                 -- 191: dup
      ops.GET_SLOT_DIRECT, 328,-- 192: get_slot_direct(328)
      ops.PUSH_LITERAL, 31,    -- 194: push_literal(31)
      ops.BI_ADD,              -- 196: bi_add
      ops.SET_SLOT_DIRECT, 328,-- 197: set_slot_direct(328)
      ops.PUSH_LOCAL_FRAME,    -- 199: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 200: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 423,-- 202: get_slot_direct(423)
      ops.JMP_UNLESS, 277, 277,-- 204: jmp_unless(277,277)
      ops.PUSH_FRAME,          -- 207: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 208: get_slot_direct(230)
      ops.DUP,                 -- 210: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 211: get_slot_direct_check(545)
      ops.SWAP,                -- 213: swap
      ops.PUSH_LITERAL, 471,   -- 214: push_literal(471)
      ops.INVOKE, 1,           -- 216: invoke(1)
      ops.POP,                 -- 218: pop
      ops.PUSH_FRAME,          -- 219: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 220: get_slot_direct(230)
      ops.DUP,                 -- 222: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 223: get_slot_direct_check(545)
      ops.SWAP,                -- 225: swap
      ops.PUSH_LITERAL, 472,   -- 226: push_literal(472)
      ops.INVOKE, 1,           -- 228: invoke(1)
      ops.POP,                 -- 230: pop
      ops.PUSH_FRAME,          -- 231: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 232: get_slot_direct(230)
      ops.DUP,                 -- 234: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 235: get_slot_direct_check(545)
      ops.SWAP,                -- 237: swap
      ops.PUSH_LITERAL, 477,   -- 238: push_literal(477)
      ops.PUSH_FRAME,          -- 240: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 241: get_slot_direct(230)
      ops.DUP,                 -- 243: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 244: get_slot_direct_check(374)
      ops.SWAP,                -- 246: swap
      ops.PUSH_LITERAL, 17,    -- 247: push_literal(17)
      ops.INVOKE, 1,           -- 249: invoke(1)
      ops.INVOKE, 2,           -- 251: invoke(2)
      ops.POP,                 -- 253: pop
      ops.PUSH_FRAME,          -- 254: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 255: get_slot_direct(230)
      ops.DUP,                 -- 257: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 258: get_slot_direct_check(545)
      ops.SWAP,                -- 260: swap
      ops.PUSH_LITERAL, 480,   -- 261: push_literal(480)
      ops.PUSH_FRAME,          -- 263: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 264: get_slot_direct(230)
      ops.DUP,                 -- 266: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 267: get_slot_direct_check(374)
      ops.SWAP,                -- 269: swap
      ops.PUSH_LITERAL, 17,    -- 270: push_literal(17)
      ops.INVOKE, 1,           -- 272: invoke(1)
      ops.INVOKE, 2,           -- 274: invoke(2)
      ops.POP,                 -- 276: pop
      ops.PHI,                 -- 277: phi
      ops.PUSH_LOCAL_FRAME,    -- 278: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 279: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 281: get_slot_direct(39)
      ops.GET_SLOT_DIRECT, 55, -- 283: get_slot_direct(55)
      ops.PUSH_LITERAL, 18,    -- 285: push_literal(18)
      ops.BI_GT,               -- 287: bi_gt
      ops.JMP_UNLESS, 352, 352,-- 288: jmp_unless(352,352)
      ops.PUSH_FRAME,          -- 291: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 292: get_slot_direct(230)
      ops.DUP,                 -- 294: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 295: get_slot_direct_check(545)
      ops.SWAP,                -- 297: swap
      ops.PUSH_LITERAL, 472,   -- 298: push_literal(472)
      ops.INVOKE, 1,           -- 300: invoke(1)
      ops.POP,                 -- 302: pop
      ops.PUSH_FRAME,          -- 303: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 304: get_slot_direct(230)
      ops.DUP,                 -- 306: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 307: get_slot_direct_check(545)
      ops.SWAP,                -- 309: swap
      ops.PUSH_LITERAL, 477,   -- 310: push_literal(477)
      ops.PUSH_FRAME,          -- 312: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 313: get_slot_direct(230)
      ops.DUP,                 -- 315: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 316: get_slot_direct_check(374)
      ops.SWAP,                -- 318: swap
      ops.PUSH_LITERAL, 17,    -- 319: push_literal(17)
      ops.INVOKE, 1,           -- 321: invoke(1)
      ops.INVOKE, 2,           -- 323: invoke(2)
      ops.POP,                 -- 325: pop
      ops.PUSH_LOCAL_FRAME,    -- 326: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 327: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 39, -- 329: get_slot_direct(39)
      ops.DUP,                 -- 331: dup
      ops.GET_SLOT_DIRECT_CHECK, 94,-- 332: get_slot_direct_check(94)
      ops.SWAP,                -- 334: swap
      ops.NEW_FUNCTION, 193,   -- 335: new_function(193)
      ops.INVOKE, 1,           -- 337: invoke(1)
      ops.POP,                 -- 339: pop
      ops.PUSH_FRAME,          -- 340: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 341: get_slot_direct(230)
      ops.DUP,                 -- 343: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 344: get_slot_direct_check(545)
      ops.SWAP,                -- 346: swap
      ops.PUSH_LITERAL, 71,    -- 347: push_literal(71)
      ops.INVOKE, 1,           -- 349: invoke(1)
      ops.POP,                 -- 351: pop
      ops.PHI,                 -- 352: phi
      ops.PUSH_FRAME,          -- 353: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 354: get_slot_direct(230)
      ops.DUP,                 -- 356: dup
      ops.GET_SLOT_DIRECT_CHECK, 567,-- 357: get_slot_direct_check(567)
      ops.SWAP,                -- 359: swap
      ops.PUSH_LOCAL_FRAME,    -- 360: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 361: get_slot_direct(26)
      ops.GET_SLOT_DIRECT, 40, -- 363: get_slot_direct(40)
      ops.INVOKE, 1,           -- 365: invoke(1)
      ops.POP,                 -- 367: pop
      ops.PUSH_FRAME,          -- 368: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 369: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 543,-- 371: get_slot_direct(543)
      ops.GET_SLOT_DIRECT, 544,-- 373: get_slot_direct(544)
      ops.JMP_UNLESS, 399, 399,-- 375: jmp_unless(399,399)
      ops.PUSH_FRAME,          -- 378: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 379: get_slot_direct(230)
      ops.DUP,                 -- 381: dup
      ops.GET_SLOT_DIRECT_CHECK, 566,-- 382: get_slot_direct_check(566)
      ops.SWAP,                -- 384: swap
      ops.NEW_OBJECT,          -- 385: new_object
      ops.DUP,                 -- 386: dup
      ops.PUSH_LITERAL, 427,   -- 387: push_literal(427)
      ops.SET_SLOT_DIRECT, 224,-- 389: set_slot_direct(224)
      ops.DUP,                 -- 391: dup
      ops.PUSH_LITERAL, 339,   -- 392: push_literal(339)
      ops.SET_SLOT_DIRECT, 363,-- 394: set_slot_direct(363)
      ops.INVOKE, 1,           -- 396: invoke(1)
      ops.POP,                 -- 398: pop
      ops.PHI,                 -- 399: phi
      ops.PUSH_FRAME,          -- 400: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 401: get_slot_direct(230)
      ops.PUSH_LOCAL_FRAME,    -- 403: push_local_frame
      ops.GET_SLOT_DIRECT, 582,-- 404: get_slot_direct(582)
      ops.SET_SLOT_DIRECT, 543,-- 406: set_slot_direct(543)
      ops.PUSH_FRAME,          -- 408: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 409: get_slot_direct(230)
      ops.DUP,                 -- 411: dup
      ops.GET_SLOT_DIRECT, 328,-- 412: get_slot_direct(328)
      ops.PUSH_LITERAL, 31,    -- 414: push_literal(31)
      ops.BI_SUB,              -- 416: bi_sub
      ops.SET_SLOT_DIRECT, 328,-- 417: set_slot_direct(328)
      ops.PUSH_FRAME,          -- 419: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 420: get_slot_direct(230)
      ops.DUP,                 -- 422: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 423: get_slot_direct_check(545)
      ops.SWAP,                -- 425: swap
      ops.PUSH_LITERAL, 476,   -- 426: push_literal(476)
      ops.PUSH_LOCAL_FRAME,    -- 428: push_local_frame
      ops.GET_SLOT_DIRECT, 583,-- 429: get_slot_direct(583)
      ops.GET_SLOT_DIRECT, 368,-- 431: get_slot_direct(368)
      ops.INVOKE, 2,           -- 433: invoke(2)
      ops.POP,                 -- 435: pop
      ops.PUSH_LITERAL, 0,     -- 436: push_literal(0)
      ops.RETURN               -- 438: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 193,
    nargs = 2,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 87, -- 8: set_slot_direct(87)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 53, -- 15: set_slot_direct(53)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 19: push_literal(0)
      ops.SET_SLOT_DIRECT, 201,-- 21: set_slot_direct(201)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 24: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 25: get_slot_direct(87)
      ops.GET_SLOT_DIRECT, 328,-- 27: get_slot_direct(328)
      ops.GET_SLOT_DIRECT, 359,-- 29: get_slot_direct(359)
      ops.PUSH_LOCAL_FRAME,    -- 31: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 32: get_slot_direct(87)
      ops.GET_SLOT_DIRECT, 224,-- 34: get_slot_direct(224)
      ops.GET_SLOT_INDIRECT,   -- 36: get_slot_indirect
      ops.SET_SLOT_DIRECT, 201,-- 37: set_slot_direct(201)
      ops.PUSH_FRAME,          -- 39: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 40: get_slot_direct(230)
      ops.DUP,                 -- 42: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 43: get_slot_direct_check(545)
      ops.SWAP,                -- 45: swap
      ops.PUSH_LITERAL, 489,   -- 46: push_literal(489)
      ops.INVOKE, 1,           -- 48: invoke(1)
      ops.POP,                 -- 50: pop
      ops.PUSH_FRAME,          -- 51: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 52: get_slot_direct(230)
      ops.DUP,                 -- 54: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 55: get_slot_direct_check(545)
      ops.SWAP,                -- 57: swap
      ops.PUSH_LITERAL, 477,   -- 58: push_literal(477)
      ops.PUSH_FRAME,          -- 60: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 61: get_slot_direct(230)
      ops.DUP,                 -- 63: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 64: get_slot_direct_check(374)
      ops.SWAP,                -- 66: swap
      ops.PUSH_LOCAL_FRAME,    -- 67: push_local_frame
      ops.GET_SLOT_DIRECT, 53, -- 68: get_slot_direct(53)
      ops.INVOKE, 1,           -- 70: invoke(1)
      ops.INVOKE, 2,           -- 72: invoke(2)
      ops.POP,                 -- 74: pop
      ops.PUSH_FRAME,          -- 75: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 76: get_slot_direct(230)
      ops.DUP,                 -- 78: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 79: get_slot_direct_check(545)
      ops.SWAP,                -- 81: swap
      ops.PUSH_LOCAL_FRAME,    -- 82: push_local_frame
      ops.GET_SLOT_DIRECT, 201,-- 83: get_slot_direct(201)
      ops.JMP_UNLESS, 92, 94,  -- 85: jmp_unless(92,94)
      ops.PUSH_LITERAL, 471,   -- 88: push_literal(471)
      ops.JMP, 94,             -- 90: jmp(94)
      ops.PUSH_LITERAL, 472,   -- 92: push_literal(472)
      ops.PHI,                 -- 94: phi
      ops.INVOKE, 1,           -- 95: invoke(1)
      ops.POP,                 -- 97: pop
      ops.PUSH_FRAME,          -- 98: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 99: get_slot_direct(230)
      ops.DUP,                 -- 101: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 102: get_slot_direct_check(545)
      ops.SWAP,                -- 104: swap
      ops.PUSH_LITERAL, 493,   -- 105: push_literal(493)
      ops.INVOKE, 1,           -- 107: invoke(1)
      ops.POP,                 -- 109: pop
      ops.PUSH_FRAME,          -- 110: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 111: get_slot_direct(230)
      ops.DUP,                 -- 113: dup
      ops.GET_SLOT_DIRECT_CHECK, 545,-- 114: get_slot_direct_check(545)
      ops.SWAP,                -- 116: swap
      ops.PUSH_LITERAL, 480,   -- 117: push_literal(480)
      ops.PUSH_FRAME,          -- 119: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 120: get_slot_direct(230)
      ops.DUP,                 -- 122: dup
      ops.GET_SLOT_DIRECT_CHECK, 374,-- 123: get_slot_direct_check(374)
      ops.SWAP,                -- 125: swap
      ops.PUSH_LOCAL_FRAME,    -- 126: push_local_frame
      ops.GET_SLOT_DIRECT, 87, -- 127: get_slot_direct(87)
      ops.GET_SLOT_DIRECT, 224,-- 129: get_slot_direct(224)
      ops.INVOKE, 1,           -- 131: invoke(1)
      ops.INVOKE, 2,           -- 133: invoke(2)
      ops.POP,                 -- 135: pop
      ops.PUSH_LITERAL, 0,     -- 136: push_literal(0)
      ops.RETURN               -- 138: return
    }
  },
  ifunc.Function:new{ -- "bcompile"
    name = jsval.newString("bcompile"),
    id = 194,
    nargs = 2,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 584,-- 8: set_slot_direct(584)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 530,-- 15: set_slot_direct(530)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 19: push_literal(0)
      ops.SET_SLOT_DIRECT, 230,-- 21: set_slot_direct(230)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.PUSH_FRAME,          -- 24: push_frame
      ops.GET_SLOT_DIRECT, 526,-- 25: get_slot_direct(526)
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 28: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 30: push_local_frame
      ops.GET_SLOT_DIRECT, 530,-- 31: get_slot_direct(530)
      ops.INVOKE, 1,           -- 33: invoke(1)
      ops.SET_SLOT_DIRECT, 230,-- 35: set_slot_direct(230)
      ops.PUSH_LOCAL_FRAME,    -- 37: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 38: get_slot_direct(230)
      ops.PUSH_LOCAL_FRAME,    -- 40: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 41: get_slot_direct(230)
      ops.DUP,                 -- 43: dup
      ops.GET_SLOT_DIRECT_CHECK, 476,-- 44: get_slot_direct_check(476)
      ops.SWAP,                -- 46: swap
      ops.PUSH_LITERAL, 18,    -- 47: push_literal(18)
      ops.INVOKE, 1,           -- 49: invoke(1)
      ops.SET_SLOT_DIRECT, 543,-- 51: set_slot_direct(543)
      ops.PUSH_LOCAL_FRAME,    -- 53: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 54: get_slot_direct(230)
      ops.DUP,                 -- 56: dup
      ops.GET_SLOT_DIRECT_CHECK, 567,-- 57: get_slot_direct_check(567)
      ops.SWAP,                -- 59: swap
      ops.PUSH_LOCAL_FRAME,    -- 60: push_local_frame
      ops.GET_SLOT_DIRECT, 584,-- 61: get_slot_direct(584)
      ops.INVOKE, 1,           -- 63: invoke(1)
      ops.POP,                 -- 65: pop
      ops.PUSH_LOCAL_FRAME,    -- 66: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 67: get_slot_direct(230)
      ops.GET_SLOT_DIRECT, 543,-- 69: get_slot_direct(543)
      ops.GET_SLOT_DIRECT, 544,-- 71: get_slot_direct(544)
      ops.JMP_UNLESS, 97, 97,  -- 73: jmp_unless(97,97)
      ops.PUSH_LOCAL_FRAME,    -- 76: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 77: get_slot_direct(230)
      ops.DUP,                 -- 79: dup
      ops.GET_SLOT_DIRECT_CHECK, 566,-- 80: get_slot_direct_check(566)
      ops.SWAP,                -- 82: swap
      ops.NEW_OBJECT,          -- 83: new_object
      ops.DUP,                 -- 84: dup
      ops.PUSH_LITERAL, 427,   -- 85: push_literal(427)
      ops.SET_SLOT_DIRECT, 224,-- 87: set_slot_direct(224)
      ops.DUP,                 -- 89: dup
      ops.PUSH_LITERAL, 339,   -- 90: push_literal(339)
      ops.SET_SLOT_DIRECT, 363,-- 92: set_slot_direct(363)
      ops.INVOKE, 1,           -- 94: invoke(1)
      ops.POP,                 -- 96: pop
      ops.PHI,                 -- 97: phi
      ops.PUSH_LOCAL_FRAME,    -- 98: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 99: get_slot_direct(230)
      ops.DUP,                 -- 101: dup
      ops.GET_SLOT_DIRECT_CHECK, 564,-- 102: get_slot_direct_check(564)
      ops.SWAP,                -- 104: swap
      ops.INVOKE, 0,           -- 105: invoke(0)
      ops.POP,                 -- 107: pop
      ops.PUSH_LOCAL_FRAME,    -- 108: push_local_frame
      ops.GET_SLOT_DIRECT, 230,-- 109: get_slot_direct(230)
      ops.RETURN               -- 111: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 195,
    nargs = 0,
    max_stack = 1,
    bytecode = {
      ops.PUSH_LITERAL, 587,   -- 0: push_literal(587)
      ops.RETURN               -- 2: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 196,
    nargs = 6,
    max_stack = 3,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_FRAME,          -- 6: push_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 325,-- 8: set_slot_direct(325)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_FRAME,          -- 13: push_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 446,-- 15: set_slot_direct(446)
      ops.DUP,                 -- 17: dup
      ops.GET_SLOT_DIRECT, 136,-- 18: get_slot_direct(136)
      ops.PUSH_FRAME,          -- 20: push_frame
      ops.SWAP,                -- 21: swap
      ops.SET_SLOT_DIRECT, 520,-- 22: set_slot_direct(520)
      ops.DUP,                 -- 24: dup
      ops.GET_SLOT_DIRECT, 159,-- 25: get_slot_direct(159)
      ops.PUSH_FRAME,          -- 27: push_frame
      ops.SWAP,                -- 28: swap
      ops.SET_SLOT_DIRECT, 589,-- 29: set_slot_direct(589)
      ops.DUP,                 -- 31: dup
      ops.GET_SLOT_DIRECT, 162,-- 32: get_slot_direct(162)
      ops.PUSH_FRAME,          -- 34: push_frame
      ops.SWAP,                -- 35: swap
      ops.SET_SLOT_DIRECT, 511,-- 36: set_slot_direct(511)
      ops.DUP,                 -- 38: dup
      ops.GET_SLOT_DIRECT, 165,-- 39: get_slot_direct(165)
      ops.PUSH_FRAME,          -- 41: push_frame
      ops.SWAP,                -- 42: swap
      ops.SET_SLOT_DIRECT, 590,-- 43: set_slot_direct(590)
      ops.POP,                 -- 45: pop
      ops.PUSH_FRAME,          -- 46: push_frame
      ops.PUSH_LITERAL, 0,     -- 47: push_literal(0)
      ops.SET_SLOT_DIRECT, 591,-- 49: set_slot_direct(591)
      ops.PUSH_LOCAL_FRAME,    -- 51: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 52: push_literal(0)
      ops.SET_SLOT_DIRECT, 588,-- 54: set_slot_direct(588)
      ops.PUSH_FRAME,          -- 56: push_frame
      ops.NEW_FUNCTION, 197,   -- 57: new_function(197)
      ops.SET_SLOT_DIRECT, 591,-- 59: set_slot_direct(591)
      ops.PUSH_LOCAL_FRAME,    -- 61: push_local_frame
      ops.NEW_FUNCTION, 199,   -- 62: new_function(199)
      ops.SET_SLOT_DIRECT, 588,-- 64: set_slot_direct(588)
      ops.PUSH_LOCAL_FRAME,    -- 66: push_local_frame
      ops.GET_SLOT_DIRECT, 588,-- 67: get_slot_direct(588)
      ops.NEW_FUNCTION, 200,   -- 69: new_function(200)
      ops.SET_SLOT_DIRECT, 596,-- 71: set_slot_direct(596)
      ops.PUSH_LOCAL_FRAME,    -- 73: push_local_frame
      ops.GET_SLOT_DIRECT, 588,-- 74: get_slot_direct(588)
      ops.NEW_FUNCTION, 202,   -- 76: new_function(202)
      ops.SET_SLOT_DIRECT, 446,-- 78: set_slot_direct(446)
      ops.PUSH_LOCAL_FRAME,    -- 80: push_local_frame
      ops.GET_SLOT_DIRECT, 588,-- 81: get_slot_direct(588)
      ops.RETURN               -- 83: return
    }
  },
  ifunc.Function:new{ -- "compile_analyze_and_encode"
    name = jsval.newString("compile_analyze_and_encode"),
    id = 197,
    nargs = 2,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 441,-- 8: set_slot_direct(441)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 592,-- 15: set_slot_direct(592)
      ops.POP,                 -- 17: pop
      ops.PUSH_FRAME,          -- 18: push_frame
      ops.PUSH_LITERAL, 0,     -- 19: push_literal(0)
      ops.SET_SLOT_DIRECT, 455,-- 21: set_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 24: push_literal(0)
      ops.SET_SLOT_DIRECT, 75, -- 26: set_slot_direct(75)
      ops.PUSH_FRAME,          -- 28: push_frame
      ops.PUSH_FRAME,          -- 29: push_frame
      ops.GET_SLOT_DIRECT, 520,-- 30: get_slot_direct(520)
      ops.PUSH_LOCAL_FRAME,    -- 32: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 33: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 35: push_local_frame
      ops.GET_SLOT_DIRECT, 441,-- 36: get_slot_direct(441)
      ops.PUSH_LITERAL, 118,   -- 38: push_literal(118)
      ops.INVOKE, 2,           -- 40: invoke(2)
      ops.SET_SLOT_DIRECT, 455,-- 42: set_slot_direct(455)
      ops.PUSH_FRAME,          -- 44: push_frame
      ops.GET_SLOT_DIRECT, 589,-- 45: get_slot_direct(589)
      ops.JMP_UNLESS, 86, 86,  -- 47: jmp_unless(86,86)
      ops.PUSH_FRAME,          -- 50: push_frame
      ops.PUSH_LITERAL, 0,     -- 51: push_literal(0)
      ops.SET_SLOT_DIRECT, 593,-- 53: set_slot_direct(593)
      ops.PUSH_FRAME,          -- 55: push_frame
      ops.PUSH_FRAME,          -- 56: push_frame
      ops.GET_SLOT_DIRECT, 511,-- 57: get_slot_direct(511)
      ops.DUP,                 -- 59: dup
      ops.GET_SLOT_DIRECT_CHECK, 22,-- 60: get_slot_direct_check(22)
      ops.SWAP,                -- 62: swap
      ops.PUSH_FRAME,          -- 63: push_frame
      ops.GET_SLOT_DIRECT, 455,-- 64: get_slot_direct(455)
      ops.GET_SLOT_DIRECT, 467,-- 66: get_slot_direct(467)
      ops.INVOKE, 1,           -- 68: invoke(1)
      ops.SET_SLOT_DIRECT, 593,-- 70: set_slot_direct(593)
      ops.PUSH_FRAME,          -- 72: push_frame
      ops.GET_SLOT_DIRECT, 455,-- 73: get_slot_direct(455)
      ops.GET_SLOT_DIRECT, 534,-- 75: get_slot_direct(534)
      ops.DUP,                 -- 77: dup
      ops.GET_SLOT_DIRECT_CHECK, 94,-- 78: get_slot_direct_check(94)
      ops.SWAP,                -- 80: swap
      ops.NEW_FUNCTION, 198,   -- 81: new_function(198)
      ops.INVOKE, 1,           -- 83: invoke(1)
      ops.POP,                 -- 85: pop
      ops.PHI,                 -- 86: phi
      ops.PUSH_LOCAL_FRAME,    -- 87: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 88: push_local_frame
      ops.GET_SLOT_DIRECT, 592,-- 89: get_slot_direct(592)
      ops.JMP_UNLESS, 99, 108, -- 91: jmp_unless(99,108)
      ops.PUSH_FRAME,          -- 94: push_frame
      ops.GET_SLOT_DIRECT, 455,-- 95: get_slot_direct(455)
      ops.JMP, 108,            -- 97: jmp(108)
      ops.PUSH_FRAME,          -- 99: push_frame
      ops.GET_SLOT_DIRECT, 455,-- 100: get_slot_direct(455)
      ops.DUP,                 -- 102: dup
      ops.GET_SLOT_DIRECT_CHECK, 556,-- 103: get_slot_direct_check(556)
      ops.SWAP,                -- 105: swap
      ops.INVOKE, 0,           -- 106: invoke(0)
      ops.PHI,                 -- 108: phi
      ops.SET_SLOT_DIRECT, 75, -- 109: set_slot_direct(75)
      ops.PUSH_LOCAL_FRAME,    -- 111: push_local_frame
      ops.GET_SLOT_DIRECT, 75, -- 112: get_slot_direct(75)
      ops.RETURN               -- 114: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 198,
    nargs = 2,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 109,-- 8: set_slot_direct(109)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 53, -- 15: set_slot_direct(53)
      ops.POP,                 -- 17: pop
      ops.PUSH_FRAME,          -- 18: push_frame
      ops.GET_SLOT_DIRECT, 589,-- 19: get_slot_direct(589)
      ops.PUSH_LOCAL_FRAME,    -- 21: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 22: get_slot_direct(26)
      ops.PUSH_FRAME,          -- 24: push_frame
      ops.GET_SLOT_DIRECT, 455,-- 25: get_slot_direct(455)
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.GET_SLOT_DIRECT, 109,-- 28: get_slot_direct(109)
      ops.GET_SLOT_DIRECT, 368,-- 30: get_slot_direct(368)
      ops.PUSH_FRAME,          -- 32: push_frame
      ops.GET_SLOT_DIRECT, 593,-- 33: get_slot_direct(593)
      ops.INVOKE, 3,           -- 35: invoke(3)
      ops.POP,                 -- 37: pop
      ops.PUSH_LITERAL, 0,     -- 38: push_literal(0)
      ops.RETURN               -- 40: return
    }
  },
  ifunc.Function:new{ -- "compile_from_source"
    name = jsval.newString("compile_from_source"),
    id = 199,
    nargs = 2,
    max_stack = 5,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 430,-- 8: set_slot_direct(430)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 592,-- 15: set_slot_direct(592)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 19: push_literal(0)
      ops.SET_SLOT_DIRECT, 441,-- 21: set_slot_direct(441)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.PUSH_LOCAL_FRAME,    -- 24: push_local_frame
      ops.GET_SLOT_DIRECT, 430,-- 25: get_slot_direct(430)
      ops.DUP,                 -- 27: dup
      ops.UN_NOT,              -- 28: un_not
      ops.JMP_UNLESS, 35, 35,  -- 29: jmp_unless(35,35)
      ops.POP,                 -- 32: pop
      ops.PUSH_LITERAL, 594,   -- 33: push_literal(594)
      ops.PHI,                 -- 35: phi
      ops.SET_SLOT_DIRECT, 430,-- 36: set_slot_direct(430)
      ops.PUSH_LOCAL_FRAME,    -- 38: push_local_frame
      ops.PUSH_FRAME,          -- 39: push_frame
      ops.GET_SLOT_DIRECT, 325,-- 40: get_slot_direct(325)
      ops.PUSH_LOCAL_FRAME,    -- 42: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 43: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 45: push_local_frame
      ops.GET_SLOT_DIRECT, 430,-- 46: get_slot_direct(430)
      ops.PUSH_FRAME,          -- 48: push_frame
      ops.GET_SLOT_DIRECT, 590,-- 49: get_slot_direct(590)
      ops.INVOKE, 2,           -- 51: invoke(2)
      ops.SET_SLOT_DIRECT, 441,-- 53: set_slot_direct(441)
      ops.PUSH_FRAME,          -- 55: push_frame
      ops.GET_SLOT_DIRECT, 591,-- 56: get_slot_direct(591)
      ops.PUSH_LOCAL_FRAME,    -- 58: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 59: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 61: push_local_frame
      ops.GET_SLOT_DIRECT, 441,-- 62: get_slot_direct(441)
      ops.PUSH_LOCAL_FRAME,    -- 64: push_local_frame
      ops.GET_SLOT_DIRECT, 592,-- 65: get_slot_direct(592)
      ops.INVOKE, 2,           -- 67: invoke(2)
      ops.RETURN               -- 69: return
    }
  },
  ifunc.Function:new{ -- ".make_repl"
    name = jsval.newString(".make_repl"),
    id = 200,
    nargs = 0,
    max_stack = 2,
    bytecode = {
      ops.PUSH_FRAME,          -- 0: push_frame
      ops.PUSH_LITERAL, 0,     -- 1: push_literal(0)
      ops.SET_SLOT_DIRECT, 230,-- 3: set_slot_direct(230)
      ops.PUSH_FRAME,          -- 5: push_frame
      ops.PUSH_LITERAL, 41,    -- 6: push_literal(41)
      ops.SET_SLOT_DIRECT, 230,-- 8: set_slot_direct(230)
      ops.NEW_FUNCTION, 201,   -- 10: new_function(201)
      ops.RETURN               -- 12: return
    }
  },
  ifunc.Function:new{
    name = jsval.Undefined,
    id = 201,
    nargs = 1,
    max_stack = 6,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 430,-- 8: set_slot_direct(430)
      ops.POP,                 -- 10: pop
      ops.PUSH_LOCAL_FRAME,    -- 11: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 12: push_literal(0)
      ops.SET_SLOT_DIRECT, 595,-- 14: set_slot_direct(595)
      ops.PUSH_LOCAL_FRAME,    -- 16: push_local_frame
      ops.PUSH_FRAME,          -- 17: push_frame
      ops.GET_SLOT_DIRECT, 325,-- 18: get_slot_direct(325)
      ops.DUP,                 -- 20: dup
      ops.GET_SLOT_DIRECT_CHECK, 445,-- 21: get_slot_direct_check(445)
      ops.SWAP,                -- 23: swap
      ops.PUSH_FRAME,          -- 24: push_frame
      ops.GET_SLOT_DIRECT, 230,-- 25: get_slot_direct(230)
      ops.PUSH_LOCAL_FRAME,    -- 27: push_local_frame
      ops.GET_SLOT_DIRECT, 430,-- 28: get_slot_direct(430)
      ops.PUSH_FRAME,          -- 30: push_frame
      ops.GET_SLOT_DIRECT, 590,-- 31: get_slot_direct(590)
      ops.INVOKE, 3,           -- 33: invoke(3)
      ops.SET_SLOT_DIRECT, 595,-- 35: set_slot_direct(595)
      ops.PUSH_FRAME,          -- 37: push_frame
      ops.GET_SLOT_DIRECT, 117,-- 38: get_slot_direct(117)
      ops.PUSH_LOCAL_FRAME,    -- 40: push_local_frame
      ops.GET_SLOT_DIRECT, 595,-- 41: get_slot_direct(595)
      ops.GET_SLOT_DIRECT, 230,-- 43: get_slot_direct(230)
      ops.SET_SLOT_DIRECT, 230,-- 45: set_slot_direct(230)
      ops.PUSH_FRAME,          -- 47: push_frame
      ops.GET_SLOT_DIRECT, 520,-- 48: get_slot_direct(520)
      ops.PUSH_LOCAL_FRAME,    -- 50: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 51: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 53: push_local_frame
      ops.GET_SLOT_DIRECT, 595,-- 54: get_slot_direct(595)
      ops.GET_SLOT_DIRECT, 441,-- 56: get_slot_direct(441)
      ops.INVOKE, 1,           -- 58: invoke(1)
      ops.DUP,                 -- 60: dup
      ops.GET_SLOT_DIRECT_CHECK, 556,-- 61: get_slot_direct_check(556)
      ops.SWAP,                -- 63: swap
      ops.INVOKE, 0,           -- 64: invoke(0)
      ops.RETURN               -- 66: return
    }
  },
  ifunc.Function:new{ -- ".parse_json"
    name = jsval.newString(".parse_json"),
    id = 202,
    nargs = 2,
    max_stack = 4,
    bytecode = {
      ops.PUSH_LOCAL_FRAME,    -- 0: push_local_frame
      ops.GET_SLOT_DIRECT, 17, -- 1: get_slot_direct(17)
      ops.DUP,                 -- 3: dup
      ops.GET_SLOT_DIRECT, 18, -- 4: get_slot_direct(18)
      ops.PUSH_LOCAL_FRAME,    -- 6: push_local_frame
      ops.SWAP,                -- 7: swap
      ops.SET_SLOT_DIRECT, 430,-- 8: set_slot_direct(430)
      ops.DUP,                 -- 10: dup
      ops.GET_SLOT_DIRECT, 31, -- 11: get_slot_direct(31)
      ops.PUSH_LOCAL_FRAME,    -- 13: push_local_frame
      ops.SWAP,                -- 14: swap
      ops.SET_SLOT_DIRECT, 592,-- 15: set_slot_direct(592)
      ops.POP,                 -- 17: pop
      ops.PUSH_LOCAL_FRAME,    -- 18: push_local_frame
      ops.PUSH_LITERAL, 0,     -- 19: push_literal(0)
      ops.SET_SLOT_DIRECT, 441,-- 21: set_slot_direct(441)
      ops.PUSH_LOCAL_FRAME,    -- 23: push_local_frame
      ops.PUSH_LITERAL, 66,    -- 24: push_literal(66)
      ops.PUSH_LOCAL_FRAME,    -- 26: push_local_frame
      ops.GET_SLOT_DIRECT, 430,-- 27: get_slot_direct(430)
      ops.BI_ADD,              -- 29: bi_add
      ops.SET_SLOT_DIRECT, 430,-- 30: set_slot_direct(430)
      ops.PUSH_LOCAL_FRAME,    -- 32: push_local_frame
      ops.PUSH_FRAME,          -- 33: push_frame
      ops.GET_SLOT_DIRECT, 446,-- 34: get_slot_direct(446)
      ops.PUSH_LOCAL_FRAME,    -- 36: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 37: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 39: push_local_frame
      ops.GET_SLOT_DIRECT, 430,-- 40: get_slot_direct(430)
      ops.INVOKE, 1,           -- 42: invoke(1)
      ops.SET_SLOT_DIRECT, 441,-- 44: set_slot_direct(441)
      ops.PUSH_FRAME,          -- 46: push_frame
      ops.GET_SLOT_DIRECT, 591,-- 47: get_slot_direct(591)
      ops.PUSH_LOCAL_FRAME,    -- 49: push_local_frame
      ops.GET_SLOT_DIRECT, 26, -- 50: get_slot_direct(26)
      ops.PUSH_LOCAL_FRAME,    -- 52: push_local_frame
      ops.GET_SLOT_DIRECT, 441,-- 53: get_slot_direct(441)
      ops.PUSH_LOCAL_FRAME,    -- 55: push_local_frame
      ops.GET_SLOT_DIRECT, 592,-- 56: get_slot_direct(592)
      ops.INVOKE, 2,           -- 58: invoke(2)
      ops.RETURN               -- 60: return
    }
  }
}
-- literals
startup.literals = {
  jsval.Undefined, -- 0
  jsval.newString("__modules__"), -- 1
  jsval.newString("BooleanPrototypeValueOf"), -- 2
  jsval.newString("NumberPrototypeValueOf"), -- 3
  jsval.newString("ObjectPrototypeToString"), -- 4
  jsval.newString("ObjectDefineProperty"), -- 5
  jsval.newString("Throw"), -- 6
  jsval.newString("ToInteger"), -- 7
  jsval.newString("makeNonEnumerable"), -- 8
  jsval.newString("makeFrozen"), -- 9
  jsval.newString("Boolean"), -- 10
  jsval.newString("prototype"), -- 11
  jsval.newString("valueOf"), -- 12
  jsval.newString("Number"), -- 13
  jsval.newString("Object"), -- 14
  jsval.newString("toString"), -- 15
  jsval.newString("defineProperty"), -- 16
  jsval.newString("arguments"), -- 17
  jsval.newNumber(0), -- 18
  jsval.newString("name"), -- 19
  jsval.newString("ex"), -- 20
  jsval.newString("globalThis"), -- 21
  jsval.newString("New"), -- 22
  jsval.newString("n"), -- 23
  jsval.newString("negate"), -- 24
  jsval.newString("function"), -- 25
  jsval.newString("this"), -- 26
  jsval.newNumber(1/0), -- 27
  jsval.newString("Math"), -- 28
  jsval.newString("floor"), -- 29
  jsval.newString("obj"), -- 30
  jsval.newNumber(1), -- 31
  jsval.False, -- 32
  jsval.newString("enumerable"), -- 33
  jsval.newString("writable"), -- 34
  jsval.newString("configurable"), -- 35
  jsval.newString("String"), -- 36
  jsval.newString("position"), -- 37
  jsval.newString("string"), -- 38
  jsval.newString("first"), -- 39
  jsval.newString("second"), -- 40
  jsval.Null, -- 41
  jsval.newString("TypeError"), -- 42
  jsval.newString("charCodeAt"), -- 43
  jsval.newNumber(55296), -- 44
  jsval.newNumber(56319), -- 45
  jsval.newNumber(56320), -- 46
  jsval.newNumber(57343), -- 47
  jsval.newNumber(1024), -- 48
  jsval.newNumber(65536), -- 49
  jsval.newString("codePointAt"), -- 50
  jsval.newString("searchValue"), -- 51
  jsval.newString("from"), -- 52
  jsval.newString("i"), -- 53
  jsval.newString("j"), -- 54
  jsval.newString("length"), -- 55
  jsval.newString("charAt"), -- 56
  jsval.newString("indexOf"), -- 57
  jsval.newString("beginIndex"), -- 58
  jsval.newString("endIndex"), -- 59
  jsval.newString("len"), -- 60
  jsval.newString("substring"), -- 61
  jsval.newString("slice"), -- 62
  jsval.newString("str"), -- 63
  jsval.newString("whitespace"), -- 64
  jsval.newString(" \010\013\009\012\011\194\160\226\128\128\226\128\129\226\128\130\226\128\131\226\128\132\226\128\133\226\128\134\226\128\135\226\128\136\226\128\137\226\128\138\226\128\139\226\128\168\226\128\169\227\128\128"), -- 65
  jsval.newString(""), -- 66
  jsval.newString("trim"), -- 67
  jsval.newString("Array"), -- 68
  jsval.newString("push"), -- 69
  jsval.newString("last"), -- 70
  jsval.newString("pop"), -- 71
  jsval.newString("sep"), -- 72
  jsval.newString("O"), -- 73
  jsval.newString("k"), -- 74
  jsval.newString("result"), -- 75
  jsval.newString(","), -- 76
  jsval.newString("elem"), -- 77
  jsval.newString("join"), -- 78
  jsval.newString("begin"), -- 79
  jsval.newString("end"), -- 80
  jsval.newString("upTo"), -- 81
  jsval.newString("size"), -- 82
  jsval.newString("cloned"), -- 83
  jsval.newString("start"), -- 84
  jsval.newString("undefined"), -- 85
  jsval.newString("number"), -- 86
  jsval.newString("e"), -- 87
  jsval.newString("object"), -- 88
  jsval.newString("hasOwnProperty"), -- 89
  jsval.newString("concat"), -- 90
  jsval.newString("block"), -- 91
  jsval.newString("thisObject"), -- 92
  jsval.newString("call"), -- 93
  jsval.newString("forEach"), -- 94
  jsval.newString("fun"), -- 95
  jsval.newString("res"), -- 96
  jsval.newString("thisp"), -- 97
  jsval.newString("map"), -- 98
  jsval.newString("array"), -- 99
  jsval.newString("func"), -- 100
  jsval.newString("arg"), -- 101
  jsval.newString("[object Array]"), -- 102
  jsval.newString("isArray"), -- 103
  jsval.newString("Function"), -- 104
  jsval.newString("method"), -- 105
  jsval.newString("addHasInstance"), -- 106
  jsval.newString("nthis"), -- 107
  jsval.newString("nargs"), -- 108
  jsval.newString("f"), -- 109
  jsval.newString("v"), -- 110
  jsval.newString("hasInstance"), -- 111
  jsval.newString("apply"), -- 112
  jsval.newString("bind0"), -- 113
  jsval.newString("bindN"), -- 114
  jsval.newString("bind"), -- 115
  jsval.newString("o"), -- 116
  jsval.newString("__proto__"), -- 117
  jsval.True, -- 118
  jsval.newString("create"), -- 119
  jsval.newString("function "), -- 120
  jsval.newString("() { [native code] }"), -- 121
  jsval.newString("true"), -- 122
  jsval.newString("false"), -- 123
  jsval.newString("isFinite"), -- 124
  jsval.newString("isNaN"), -- 125
  jsval.newString("parseInt"), -- 126
  jsval.newString("radix"), -- 127
  jsval.newString("x"), -- 128
  jsval.newString("radixNumber"), -- 129
  jsval.newString("minus"), -- 130
  jsval.newString("intPart"), -- 131
  jsval.newString("floatPart"), -- 132
  jsval.newString("r"), -- 133
  jsval.newString("ACCURACY"), -- 134
  jsval.newNumber(10), -- 135
  jsval.newNumber(2), -- 136
  jsval.newNumber(36), -- 137
  jsval.newString("RangeError"), -- 138
  jsval.newString("NaN"), -- 139
  jsval.newString("0"), -- 140
  jsval.newString("-"), -- 141
  jsval.newString("Infinity"), -- 142
  jsval.newString("nextIntPart"), -- 143
  jsval.newString("digit"), -- 144
  jsval.newString("fromCharCode"), -- 145
  jsval.newNumber(48), -- 146
  jsval.newNumber(97), -- 147
  jsval.newNumber(0.00001), -- 148
  jsval.newString("."), -- 149
  jsval.newString("toLocaleString"), -- 150
  jsval.newString("E"), -- 151
  jsval.newNumber(2.718281828459045), -- 152
  jsval.newString("LN10"), -- 153
  jsval.newNumber(2.302585092994046), -- 154
  jsval.newString("LN2"), -- 155
  jsval.newNumber(0.6931471805599453), -- 156
  jsval.newString("LOG10E"), -- 157
  jsval.newNumber(0.4342944819032518), -- 158
  jsval.newNumber(3), -- 159
  jsval.newString("LOG2E"), -- 160
  jsval.newNumber(1.4426950408889634), -- 161
  jsval.newNumber(4), -- 162
  jsval.newString("PI"), -- 163
  jsval.newNumber(3.141592653589793), -- 164
  jsval.newNumber(5), -- 165
  jsval.newString("SQRT1_2"), -- 166
  jsval.newNumber(0.7071067811865476), -- 167
  jsval.newNumber(6), -- 168
  jsval.newString("SQRT2"), -- 169
  jsval.newNumber(1.4142135623730951), -- 170
  jsval.newNumber(7), -- 171
  jsval.newString("MAX_SAFE_INTEGER"), -- 172
  jsval.newNumber(9007199254740991), -- 173
  jsval.newNumber(8), -- 174
  jsval.newString("MIN_SAFE_INTEGER"), -- 175
  jsval.newNumber(9), -- 176
  jsval.newNumber(0/0), -- 177
  jsval.newString("NEGATIVE_INFINITY"), -- 178
  jsval.newNumber(11), -- 179
  jsval.newString("POSITIVE_INFINITY"), -- 180
  jsval.newNumber(12), -- 181
  jsval.newString("cnst"), -- 182
  jsval.newString("base"), -- 183
  jsval.newString("val"), -- 184
  jsval.newString("while"), -- 185
  jsval.newString("_this_"), -- 186
  jsval.newString("cond"), -- 187
  jsval.newString("body"), -- 188
  jsval.newString("ifElse"), -- 189
  jsval.newString("ifTrue"), -- 190
  jsval.newString("ifFalse"), -- 191
  jsval.newString("_make_stdlib"), -- 192
  jsval.newString("ArrayIsArray"), -- 193
  jsval.newString("StringSlice"), -- 194
  jsval.newString("ObjectCreate"), -- 195
  jsval.newString("ObjectKeys"), -- 196
  jsval.newString("NumberIsFinite"), -- 197
  jsval.newString("ArrayJoin"), -- 198
  jsval.newString("ArrayForEach"), -- 199
  jsval.newString("ToIntegerOrInfinity"), -- 200
  jsval.newString("escapes"), -- 201
  jsval.newString("UnicodeEscape"), -- 202
  jsval.newString("QuoteJSONString"), -- 203
  jsval.newString("SerializeJSONObject"), -- 204
  jsval.newString("SerializeJSONArray"), -- 205
  jsval.newString("SerializeJSONProperty"), -- 206
  jsval.newString("keys"), -- 207
  jsval.newString("_ToIntegerOrInfinity"), -- 208
  jsval.newString("\092b"), -- 209
  jsval.newString("\092t"), -- 210
  jsval.newString("\092n"), -- 211
  jsval.newString("\092f"), -- 212
  jsval.newNumber(13), -- 213
  jsval.newString("\092r"), -- 214
  jsval.newNumber(34), -- 215
  jsval.newString("\092\034"), -- 216
  jsval.newNumber(92), -- 217
  jsval.newString("\092\092"), -- 218
  jsval.newString("C"), -- 219
  jsval.newString("hex"), -- 220
  jsval.newNumber(16), -- 221
  jsval.newString("\092u"), -- 222
  jsval.newString("_UnicodeEscape"), -- 223
  jsval.newString("value"), -- 224
  jsval.newString("product"), -- 225
  jsval.newString("\034"), -- 226
  jsval.newString("c"), -- 227
  jsval.newNumber(32), -- 228
  jsval.newString("_QuoteJSONString"), -- 229
  jsval.newString("state"), -- 230
  jsval.newString("stepback"), -- 231
  jsval.newString("K"), -- 232
  jsval.newString("partial"), -- 233
  jsval.newString("final"), -- 234
  jsval.newString("indent"), -- 235
  jsval.newString("gap"), -- 236
  jsval.newString("propertyList"), -- 237
  jsval.newString("P"), -- 238
  jsval.newString("strP"), -- 239
  jsval.newString("member"), -- 240
  jsval.newString(":"), -- 241
  jsval.newString(" "), -- 242
  jsval.newString("{}"), -- 243
  jsval.newString("{"), -- 244
  jsval.newString("}"), -- 245
  jsval.newString("separator"), -- 246
  jsval.newString(",\010"), -- 247
  jsval.newString("{\010"), -- 248
  jsval.newString("\010"), -- 249
  jsval.newString("_SerializeJSONObject"), -- 250
  jsval.newString("index"), -- 251
  jsval.newString("null"), -- 252
  jsval.newString("[]"), -- 253
  jsval.newString("["), -- 254
  jsval.newString("]"), -- 255
  jsval.newString("[\010"), -- 256
  jsval.newString("_SerializeJSONArray"), -- 257
  jsval.newString("key"), -- 258
  jsval.newString("holder"), -- 259
  jsval.newString("toJSON"), -- 260
  jsval.newString("replacerFunction"), -- 261
  jsval.newString("_SerializeJSONProperty"), -- 262
  jsval.newString("JSON"), -- 263
  jsval.newString("replacer"), -- 264
  jsval.newString("space"), -- 265
  jsval.newString("wrapper"), -- 266
  jsval.newString("seen"), -- 267
  jsval.newString("$"), -- 268
  jsval.newString("spaceMV"), -- 269
  jsval.newString("stack"), -- 270
  jsval.newString("stringify"), -- 271
  jsval.newString("_make_json"), -- 272
  jsval.newString("deps"), -- 273
  jsval.newString("init_func"), -- 274
  jsval.newString("d"), -- 275
  jsval.newString("m"), -- 276
  jsval.newString("_define"), -- 277
  jsval.newString("define"), -- 278
  jsval.newString("tokenize"), -- 279
  jsval.newString("text!tokenize.js"), -- 280
  jsval.newString("tokenize_source"), -- 281
  jsval.newString("prefix"), -- 282
  jsval.newString("suffix"), -- 283
  jsval.newString("DEBUG"), -- 284
  jsval.newString("q"), -- 285
  jsval.newString("error"), -- 286
  jsval.newString("make"), -- 287
  jsval.newString("message"), -- 288
  jsval.newString("t"), -- 289
  jsval.newString("Syntax Error"), -- 290
  jsval.newString("to"), -- 291
  jsval.newString(" ["), -- 292
  jsval.newString("type"), -- 293
  jsval.newString("<>+-&"), -- 294
  jsval.newString("=>&:"), -- 295
  jsval.newString("a"), -- 296
  jsval.newString("z"), -- 297
  jsval.newString("A"), -- 298
  jsval.newString("Z"), -- 299
  jsval.newString("_"), -- 300
  jsval.newString("9"), -- 301
  jsval.newString("isHex"), -- 302
  jsval.newString("F"), -- 303
  jsval.newString("+"), -- 304
  jsval.newString("Bad exponent"), -- 305
  jsval.newString("Bad number"), -- 306
  jsval.newString("'"), -- 307
  jsval.newString("\013"), -- 308
  jsval.newString("Unterminated string."), -- 309
  jsval.newString("Control character in string."), -- 310
  jsval.newString("\092"), -- 311
  jsval.newString("Unterminated string"), -- 312
  jsval.newString("b"), -- 313
  jsval.newString("\008"), -- 314
  jsval.newString("\012"), -- 315
  jsval.newString("\009"), -- 316
  jsval.newString("u"), -- 317
  jsval.newString("/"), -- 318
  jsval.newString("*"), -- 319
  jsval.newString("operator"), -- 320
  jsval.newString("__module_name__"), -- 321
  jsval.newString("make_tokenize"), -- 322
  jsval.newString("__module_init__"), -- 323
  jsval.newString("__module_source__"), -- 324
  jsval.newString("parse"), -- 325
  jsval.newString("text!parse.js"), -- 326
  jsval.newString("parse_source"), -- 327
  jsval.newString("scope"), -- 328
  jsval.newString("symbol_table"), -- 329
  jsval.newString("token"), -- 330
  jsval.newString("tokens"), -- 331
  jsval.newString("token_nr"), -- 332
  jsval.newString("itself"), -- 333
  jsval.newString("original_scope"), -- 334
  jsval.newString("new_scope"), -- 335
  jsval.newString("copy_scope"), -- 336
  jsval.newString("advance"), -- 337
  jsval.newString("expression"), -- 338
  jsval.newString("statement"), -- 339
  jsval.newString("hoist_var"), -- 340
  jsval.newString("statements"), -- 341
  jsval.newString("original_symbol"), -- 342
  jsval.newString("symbol"), -- 343
  jsval.newString("constant"), -- 344
  jsval.newString("infix"), -- 345
  jsval.newString("infixr"), -- 346
  jsval.newString("assignment"), -- 347
  jsval.newString("stmt"), -- 348
  jsval.newString("parse_repl"), -- 349
  jsval.newString("prop"), -- 350
  jsval.newString("def"), -- 351
  jsval.newString("reserved"), -- 352
  jsval.newString("Already reserved."), -- 353
  jsval.newString("Already defined."), -- 354
  jsval.newString("nud"), -- 355
  jsval.newString("led"), -- 356
  jsval.newString("std"), -- 357
  jsval.newString("lbp"), -- 358
  jsval.newString("escape"), -- 359
  jsval.newString("parent"), -- 360
  jsval.newString("(name)"), -- 361
  jsval.newString("find"), -- 362
  jsval.newString("arity"), -- 363
  jsval.newString("reserve"), -- 364
  jsval.newString("s"), -- 365
  jsval.newString("level"), -- 366
  jsval.newString("assign"), -- 367
  jsval.newString("id"), -- 368
  jsval.newString("Expected '"), -- 369
  jsval.newString("'."), -- 370
  jsval.newString("(end)"), -- 371
  jsval.newString("Unknown operator: "), -- 372
  jsval.newString("(literal)"), -- 373
  jsval.newString("literal"), -- 374
  jsval.newString("Unexpected token."), -- 375
  jsval.newString("rbp"), -- 376
  jsval.newString("left"), -- 377
  jsval.newString("("), -- 378
  jsval.newString("Bad expression statement."), -- 379
  jsval.newString(";"), -- 380
  jsval.newString("stmt_list"), -- 381
  jsval.newString("var"), -- 382
  jsval.newString("Undefined: "), -- 383
  jsval.newString("Missing operator."), -- 384
  jsval.newString("bp"), -- 385
  jsval.newString("binary"), -- 386
  jsval.newString("Bad lvalue."), -- 387
  jsval.newNumber(70), -- 388
  jsval.newString("unary"), -- 389
  jsval.newString(")"), -- 390
  jsval.newString("else"), -- 391
  jsval.newString("="), -- 392
  jsval.newString("+="), -- 393
  jsval.newString("-="), -- 394
  jsval.newString("*="), -- 395
  jsval.newString("/="), -- 396
  jsval.newString("?"), -- 397
  jsval.newNumber(20), -- 398
  jsval.newString("third"), -- 399
  jsval.newString("ternary"), -- 400
  jsval.newString("||"), -- 401
  jsval.newNumber(30), -- 402
  jsval.newString("&&"), -- 403
  jsval.newNumber(35), -- 404
  jsval.newString("==="), -- 405
  jsval.newNumber(40), -- 406
  jsval.newString("!=="), -- 407
  jsval.newString("<"), -- 408
  jsval.newNumber(45), -- 409
  jsval.newString("<="), -- 410
  jsval.newString(">"), -- 411
  jsval.newString(">="), -- 412
  jsval.newNumber(50), -- 413
  jsval.newNumber(60), -- 414
  jsval.newNumber(80), -- 415
  jsval.newString("Expected a property name."), -- 416
  jsval.newNumber(75), -- 417
  jsval.newString("Expected a variable name."), -- 418
  jsval.newString("!"), -- 419
  jsval.newString("typeof"), -- 420
  jsval.newString("Expected a parameter name."), -- 421
  jsval.newString("use strict"), -- 422
  jsval.newString("arguments_escapes"), -- 423
  jsval.newString("Bad property name."), -- 424
  jsval.newString("Expected a new variable name."), -- 425
  jsval.newString("if"), -- 426
  jsval.newString("return"), -- 427
  jsval.newString("Unreachable statement."), -- 428
  jsval.newString("break"), -- 429
  jsval.newString("source"), -- 430
  jsval.newString("top_level"), -- 431
  jsval.newString("debug"), -- 432
  jsval.newString("old_scope"), -- 433
  jsval.newString("Try"), -- 434
  jsval.newString("=<>!+-*&|/%^"), -- 435
  jsval.newString("=<>&|"), -- 436
  jsval.newString("TOKEN_PREFIX"), -- 437
  jsval.newString("TOKEN_SUFFIX"), -- 438
  jsval.newString("nstate"), -- 439
  jsval.newString("repl_tokens"), -- 440
  jsval.newString("tree"), -- 441
  jsval.newString("ee"), -- 442
  jsval.newString("make_parse"), -- 443
  jsval.newString("__module_deps__"), -- 444
  jsval.newString("repl"), -- 445
  jsval.newString("parse_json"), -- 446
  jsval.newString("text!parse_json.js"), -- 447
  jsval.newString("parse_json_source"), -- 448
  jsval.newString("make_parse_json"), -- 449
  jsval.newString("bytecode-table"), -- 450
  jsval.newString("text!bytecode-table.js"), -- 451
  jsval.newString("bytecode_table_source"), -- 452
  jsval.newString("bytecodes_by_num"), -- 453
  jsval.newString("bytecodes_by_name"), -- 454
  jsval.newString("bc"), -- 455
  jsval.newString("print_literal"), -- 456
  jsval.newString("print_label"), -- 457
  jsval.newString("args"), -- 458
  jsval.newString("stackpop"), -- 459
  jsval.newString("stackpush"), -- 460
  jsval.newString("printargs"), -- 461
  jsval.newString("nbc"), -- 462
  jsval.newString("bytecode"), -- 463
  jsval.newString("pc"), -- 464
  jsval.newString("idx"), -- 465
  jsval.newString(" /* "), -- 466
  jsval.newString("literals"), -- 467
  jsval.newString(" */"), -- 468
  jsval.newString("lbl"), -- 469
  jsval.newString("label"), -- 470
  jsval.newString("push_frame"), -- 471
  jsval.newString("push_local_frame"), -- 472
  jsval.newString("push_literal"), -- 473
  jsval.newString("new_object"), -- 474
  jsval.newString("new_array"), -- 475
  jsval.newString("new_function"), -- 476
  jsval.newString("get_slot_direct"), -- 477
  jsval.newString("get_slot_indirect"), -- 478
  jsval.newString("get_slot_direct_check"), -- 479
  jsval.newString("set_slot_direct"), -- 480
  jsval.newString("set_slot_indirect"), -- 481
  jsval.newString("invoke"), -- 482
  jsval.newString("opname"), -- 483
  jsval.newString("arg0"), -- 484
  jsval.newString("jmp"), -- 485
  jsval.newString("jmp_into_loop"), -- 486
  jsval.newString("jmp_unless"), -- 487
  jsval.newString("phi"), -- 488
  jsval.newString("dup"), -- 489
  jsval.newString("2dup"), -- 490
  jsval.newString("over"), -- 491
  jsval.newString("over2"), -- 492
  jsval.newString("swap"), -- 493
  jsval.newString("un_not"), -- 494
  jsval.newString("un_minus"), -- 495
  jsval.newString("un_typeof"), -- 496
  jsval.newString("bi_eq"), -- 497
  jsval.newString("bi_gt"), -- 498
  jsval.newString("bi_gte"), -- 499
  jsval.newString("bi_add"), -- 500
  jsval.newString("bi_sub"), -- 501
  jsval.newString("bi_mul"), -- 502
  jsval.newString("bi_div"), -- 503
  jsval.newString("make_bytecode_table"), -- 504
  jsval.newString("for_num"), -- 505
  jsval.newString("for_name"), -- 506
  jsval.newString("literal-map"), -- 507
  jsval.newString("text!literal-map.js"), -- 508
  jsval.newString("literal_map_source"), -- 509
  jsval.newString("ObjectIs"), -- 510
  jsval.newString("LiteralMap"), -- 511
  jsval.newString("is"), -- 512
  jsval.newString("items"), -- 513
  jsval.newString("list"), -- 514
  jsval.newString("get"), -- 515
  jsval.newString("constructor"), -- 516
  jsval.newString("pair"), -- 517
  jsval.newString("entries"), -- 518
  jsval.newString("make_literal_map"), -- 519
  jsval.newString("bcompile"), -- 520
  jsval.newString("text!bcompile.js"), -- 521
  jsval.newString("bcompile_source"), -- 522
  jsval.newString("bytecode_table"), -- 523
  jsval.newString("assert"), -- 524
  jsval.newString("dispatch"), -- 525
  jsval.newString("mkstate"), -- 526
  jsval.newString("console"), -- 527
  jsval.newString("log"), -- 528
  jsval.newString("ASSERTION FAILURE"), -- 529
  jsval.newString("dont_desugar_frame_get"), -- 530
  jsval.newString("lm"), -- 531
  jsval.newString("encode_uint"), -- 532
  jsval.newString("encode_str"), -- 533
  jsval.newString("functions"), -- 534
  jsval.newString("desugar_frame_get"), -- 535
  jsval.newString("newf"), -- 536
  jsval.newString("max_stack"), -- 537
  jsval.newString("stack_depth"), -- 538
  jsval.newString("loop_label_stack"), -- 539
  jsval.newString("bytecode_op"), -- 540
  jsval.newString("op"), -- 541
  jsval.newString("cf"), -- 542
  jsval.newString("current_func"), -- 543
  jsval.newString("can_fall_off"), -- 544
  jsval.newString("emit"), -- 545
  jsval.newString("func_id"), -- 546
  jsval.newString(": "), -- 547
  jsval.newString("decompile"), -- 548
  jsval.newString("out"), -- 549
  jsval.newString("msb"), -- 550
  jsval.newString("lsb"), -- 551
  jsval.newNumber(128), -- 552
  jsval.newString("lv"), -- 553
  jsval.newString("boolean"), -- 554
  jsval.newString("UNKNOWN LITERAL TYPE"), -- 555
  jsval.newString("encode"), -- 556
  jsval.newString("<undefined>"), -- 557
  jsval.newString("new_label"), -- 558
  jsval.newString("set_label"), -- 559
  jsval.newString("lls"), -- 560
  jsval.newString("peek_loop_label"), -- 561
  jsval.newString("pop_loop_label"), -- 562
  jsval.newString("push_loop_label"), -- 563
  jsval.newString("flatten_labels"), -- 564
  jsval.newString("tree_lst"), -- 565
  jsval.newString("bcompile_stmt"), -- 566
  jsval.newString("bcompile_stmts"), -- 567
  jsval.newString("bcompile_expr"), -- 568
  jsval.newString("depth"), -- 569
  jsval.newString("which"), -- 570
  jsval.newString("This isn't actually emitted by the parser anymore"), -- 571
  jsval.newString("extra_name"), -- 572
  jsval.newString("is_stmt"), -- 573
  jsval.newString("mode"), -- 574
  jsval.newString("sd_before"), -- 575
  jsval.newString("sd_after"), -- 576
  jsval.newString("mergeLabel"), -- 577
  jsval.newString("falseLabel"), -- 578
  jsval.newString("startLabel"), -- 579
  jsval.newString("testLabel"), -- 580
  jsval.newString("endLabel"), -- 581
  jsval.newString("this_func"), -- 582
  jsval.newString("new_func"), -- 583
  jsval.newString("parse_tree"), -- 584
  jsval.newString("make_bcompile"), -- 585
  jsval.newString("top-level"), -- 586
  jsval.newString("isFinite parseInt parseFloat isNaN Array Boolean Error Function Math Number Object JSON RangeError RegExp String SyntaxError TypeError console arguments now define document eval globalThis"), -- 587
  jsval.newString("compile_from_source"), -- 588
  jsval.newString("banalyze"), -- 589
  jsval.newString("TOP_LEVEL"), -- 590
  jsval.newString("compile_analyze_and_encode"), -- 591
  jsval.newString("as_object"), -- 592
  jsval.newString("literalMap"), -- 593
  jsval.newString("{ return 1+2; }"), -- 594
  jsval.newString("rv"), -- 595
  jsval.newString("make_repl") -- 596
}

return startup

end)

register('luaturtle.module', function(myrequire)
-- A compilation unit (which can be as small as a single function)
local startup = myrequire('luaturtle.startup')
local jsval = myrequire('luaturtle.jsval')
local ifunc = myrequire('luaturtle.ifunc')
local compat = myrequire('luaturtle.compat')

-- Helper class to read the bytecode format
local ModuleReader = {}
ModuleReader.__index = ModuleReader
function ModuleReader:new(buf)
   return setmetatable({ buf = buf, pos = 1 }, self)
end

function ModuleReader:decodeUint()
   local val = string.byte(self.buf, self.pos)
   self.pos = self.pos + 1
   if val < 128 then
      return val
   end
   return (val - 128) + ( 128 * self:decodeUint() )
end

function ModuleReader:decodeUtf16Str()
   local len = self:decodeUint()
   local s = {}
   for i = 1, len do
      local c = self:decodeUint()
      local msb, lsb = compat.splitBytes(c)
      table.insert(s, string.char(msb, lsb))
   end
   return table.concat(s)
end

function ModuleReader:decodeUtf8Str()
   return jsval.convertUtf16ToUtf8(self:decodeUtf16Str())
end

function ModuleReader:decodeJsStr()
   return jsval.newStringFromUtf16(self:decodeUtf16Str())
end

-- A compilation unit
local Module = {}
Module.__index = Module

function Module:new(o)
   o = o or { functions = {}, literals = {} }
   setmetatable(o, self)
   o.type = 'Module'
   return o
end

function Module:newStartupModule()
   return self:new{functions = startup.functions, literals = startup.literals}
end

function Module:newFromBytes(buf)
   local reader = ModuleReader:new(buf)
   -- Parse the functions
   local num_funcs = reader:decodeUint()
   local functions = {}
   local func_id = 0
   while func_id < num_funcs do
      local nargs = reader:decodeUint()
      local max_stack = reader:decodeUint()
      local name = reader:decodeJsStr()
      local blen = reader:decodeUint()
      local bytecode = {}
      while #bytecode < blen do
         table.insert(bytecode, reader:decodeUint())
      end
      if #name == 0 then name = jsval.Undefined end
      local func = ifunc.Function:new{
         name = name,
         id = func_id,
         nargs = nargs,
         max_stack = max_stack,
         bytecode = bytecode,
      }
      table.insert(functions, func)
      func_id = func_id + 1
   end
   -- Parse literals
   local num_lits = reader:decodeUint()
   local literals = {}
   local decode = {
      [0] = function() -- Number
         local numStr = reader:decodeJsStr()
         return jsval.invokePrivate(nil, numStr, 'ToNumber')
      end,
      [1] = function() -- String
         return reader:decodeJsStr()
      end,
      [2] = function() -- Boolean tags
         return jsval.True
      end,
      [3] = function() return jsval.False end,
      [4] = function() return jsval.Null end,
      [5] = function() return jsval.Undefined end,
   }
   while #literals < num_lits do
      local ty = reader:decodeUint()
      local val = decode[ty]()
      table.insert(literals, val)
   end
   return self:new{ functions = functions, literals = literals }
end

return Module

end)

register('luaturtle.interp', function(myrequire)
local Env = myrequire('luaturtle.env')
local Module = myrequire('luaturtle.module')
local jsval = myrequire('luaturtle.jsval')

local Interpreter = {}
Interpreter.__index = Interpreter

function Interpreter:new()
   local i = {}
   setmetatable(i, self)
   i.env = Env:new()
   i.modul = Module:newStartupModule()
   i.frame = i.env:makeTopLevelFrame( jsval.Null, {} )
   i.compileFromSource = i.env:interpret( i.modul, 0, i.frame )
   -- Create JSON parser
   i.compileJSON = jsval.invokePrivate(
      i.env, i.compileFromSource, 'GetV', jsval.newString('parse_json')
   )
   local JSON = i.env.realm.JSON
   i.env:addNativeFunc(i.env.realm.JSON, 'parse', 2, function(this, args)
      local status, bc = i.env:interpretFunction(
         i.compileJSON, jsval.Null, { (args[1] or jsval.Undefined) }
      )
      if not status then
         error(bc) -- native throw!
      end
      status, result = i:createModuleAndExecute(bc)
      if not status then
         error(bc) -- this should never happen
      end
      return result
   end)
   -- Create repl
   local makeRepl = jsval.invokePrivate(
      i.env, i.compileFromSource, 'GetV', jsval.newString('make_repl')
   )
   local status, replFunc = i.env:interpretFunction( makeRepl, jsval.Null, {} )
   assert(status, replFunc)
   i.replFunc = replFunc
   return i
end

-- Compile a source string to bytecode and then execute it
-- Returns a status, result pair
function Interpreter:interpret(source)
   -- compile source to bytecode
   local status, bc = self.env:interpretFunction(
      self.compileFromSource, jsval.Null, { jsval.newString( source ) }
   )
   if not status then
      return status, bc -- Syntax error during compilation
   end
   -- Create a new module from the bytecode
   return self:createModuleAndExecute( bc )
end

-- Execute a source string in a REPL.
function Interpreter:repl(source)
   -- compile source to bytecode
   local status, bc = self.env:interpretFunction(
      self.replFunc, jsval.Null, { jsval.newString( source ) }
   )
   if not status then
      return status, bc -- Syntax error during compilation
   end
   -- Create a new module from the bytecode
   return self:createModuleAndExecute( bc )
end

function Interpreter:createModuleAndExecute(bc)
   local buf = {}
   self.env:arrayEach(bc, function(val)
     table.insert(buf, string.char(jsval.toLua(self.env, val)))
   end)
   local nm = Module:newFromBytes( table.concat(buf) )
   -- Execute the new module
   if true then -- lua 5.1
      return pcall(function()
            return self.env:interpret(nm, 0, self.frame)
      end)
   else
      -- Set up error-handling
      return xpcall(
         self.env.interpret, debug.traceback, self.env, nm, 0, self.frame
      )
   end
end

return Interpreter

end)

register('luaturtle.repl', function(myrequire)
-- Simple REPL
local Interpreter = myrequire('luaturtle.interp')
local jsval = myrequire('luaturtle.jsval')

local i = nil
function reset()
   i = Interpreter:new()
end

function repl(line)
   local status, result = i:repl(line)
   if status then
      if not silent then print(i.env:prettyPrint(result)) end
   elseif jsval.isJsVal(result) then
      local msg = i.env:prettyPrint(result)
      if silent then error(msg) else print('*', msg) end
   else
      error(result)
   end
end

-- This version takes a Scribunto 'frame' argument.
function eval(frame)
   local line = frame.args[1] or '"Hello, world"'
   local status, result = i:repl(line)
   if status then
      if jsval.Type(result) == 'String' then
         -- If the JS returns a string, don't try to "pretty print" it,
         -- just return it directly
         return tostring(result)
      end
      -- otherwise try to pretty print the result to make it
      -- human-friendly
      return i.env:prettyPrint(result)
   elseif jsval.isJsVal(result) then
      local msg = i.env:prettyPrint(result)
      return '* ' .. msg
   else
      return result
   end
end

reset()

return {
   reset = reset,
   repl = repl,
   eval = eval,
}

end)

local modules = {}
modules['table'] = require('table')
modules['string'] = require('string')
function myrequire(name)
  if modules[name] == nil then
    modules[name] = true
    modules[name] = (builders[name])(myrequire)
  end
  return modules[name]
end
return myrequire('luaturtle.repl')
end)()