rl_binop
*rl = rl_binop(orig, '+', alloc_rl(sval, sval));
res = rl_binop(offset_rl, '*', bytes_rl);
res = rl_binop(res, '+', array_rl);
*rl_p = rl_binop(rl, flip_op(expr->op), alloc_rl(sval, sval));
*rl_p = rl_binop(rl, flip_op(expr->op), alloc_rl(sval, sval));
left_rl = rl_binop(rl, '/', alloc_rl(sval, sval));
struct range_list *rl_binop(struct range_list *left, int op, struct range_list *right);
rl = rl_binop(left, '%', right);
rl = rl_binop(left, '/', abs_right);
rl = rl_binop(rl, '*', alloc_rl(sval, sval));
*res = rl_binop(rl, '+', alloc_rl(sval, sval));
*res = rl_binop(left_rl, '/', right_rl);
*res = rl_binop(left_rl, '-', right_rl);
*res = rl_binop(left_rl, '&', right_rl);
*res = rl_binop(left_rl, expr->op, right_rl);
rl = rl_binop(left_rl, SPECIAL_LEFTSHIFT, alloc_rl(right, right));
res = rl_binop(left, op, right);
return rl_binop(left, '+', right);