def op_bsh(i, s):
    a = operand_value(s, i.input0)
    b = operand_value(s, i.input1)
    dst = i.output

    operation_size = max(a.size, b.size, dst.size)

    a = a.resize(operation_size)
    b = b.resize(operation_size)

    # TODO: support symbolic shifts

    if 0 >= b.value:
        result = a << b
    else:
        result = a >> bv.Constant(b.size, abs(b.value))
    result = result.resize(dst.size)

    s.registers[dst.name] = result
    return [s]
dataset/ETHPy150Open c01db33f/concolica/emulator.py/op_bsh/swapped operands of `>=`