module opt_share_test(
  input [15:0]      a,
  input [15:0]      b,
  input [15:0]      c,
  input [2:0]       sel,
  output reg [31:0] res
  );

  always @* begin
    case(sel)
      0: res = {a + b, a};
      1: res = {a - b, b};
      2: res = {a + c, c};
      3: res = {a - c, a};
      4: res = {b, b};
      5: res = {c, c};
      default: res = 32'bx;
    endcase
  end

endmodule