function luaK.exp2RK(i,E,l)i:exp2val(E,l)local h=l.k if h=="\086\075\078\085\077"or h=="\086\084\082\085\069"or h=="\086\070\065\076\083\069"or h=="\086\078\073\076"then if E.nk<=luaP.MAXINDEXRK then if l.k=="\086\078\073\076"then l.info=i:nilK(E)else l.info=l.k=="\086\075\078\085\077"and i:numberK(E,l.nval)or i:boolK(E,l.k=="\086\084\082\085\069")end l.k="\086\075"return luaP:RKASK(l.info)end elseif h=="\086\075"then if l.info<=luaP.MAXINDEXRK then return luaP:RKASK(l.info)end else end return i:exp2anyreg(E,l)end

function luaK:exp2RK(fs, e)
  self:exp2val(fs, e)
  local k = e.k
  if k == "VKNUM" or k == "VTRUE" or k == "VFALSE" or k == "VNIL" then
    if fs.nk <= luaP.MAXINDEXRK then  -- constant fit in RK operand?
      -- converted from a 2-deep ternary operator expression
      if e.k == "VNIL" then
        e.info = self:nilK(fs)
      else
        e.info = (e.k == "VKNUM") and self:numberK(fs, e.nval)
                                  or self:boolK(fs, e.k == "VTRUE")
      end
      e.k = "VK"
      return luaP:RKASK(e.info)
    end
  elseif k == "VK" then
    if e.info <= luaP.MAXINDEXRK then  -- constant fit in argC?
      return luaP:RKASK(e.info)
    end
  else
    -- default
  end
  -- not a constant in the right range: put it in a register
  return self:exp2anyreg(fs, e)
end
