/* Emit code for order comparisons. When using an immediate operand, 'isfloat' tells whether the original value was a float.  */
static void codeorder(FuncState *fs, OpCode op, expdesc *e1, expdesc *e2)
/* Emit code for order comparisons. When using an immediate operand, 'isfloat' tells whether the original value was a float.  */
static void codeorder(FuncState *fs, OpCode op, expdesc *e1, expdesc *e2)
{
    r1 = luaK_exp2anyreg(fs, e1);
    r2 = im;
    op = cast(OpCode, (op - OP_LT) + OP_LTI);
  }
  else if (isSCnumber(e1, &im, &isfloat)) {
    r1 = luaK_exp2anyreg(fs, e2);
    r2 = im;
    op = (op == OP_LT) ? OP_GTI : OP_GEI;
  }
  else {
    r1 = luaK_exp2anyreg(fs, e1);
    r2 = luaK_exp2anyreg(fs, e2);
  }
  freeexps(fs, e1, e2);
  e1->u.info = condjump(fs, op, r1, r2, isfloat, 1);
  e1->k = VJMP;
}