module __bfloat16__to_uint16( input wire [15:0] x, output wire [15:0] out ); wire [7:0] x_bexp__2; wire [7:0] exp; wire [8:0] add_427; wire [6:0] x_fraction__2; wire [8:0] neg_431; wire [15:0] fraction; wire [31:0] effective_exp; wire [7:0] fraction_shift_bits; wire eq_439; wire ne_440; wire x_sign__2; wire exp_oob; wire [15:0] and_465; wire [15:0] result; assign x_bexp__2 = x[14:7]; assign exp = x_bexp__2 + 8'h81; assign add_427 = {{1{exp[7]}}, exp} + 9'h1f9; assign x_fraction__2 = x[6:0]; assign neg_431 = -add_427; assign fraction = {9'h001, x_fraction__2}; assign effective_exp = {{23{add_427[8]}}, add_427}; assign fraction_shift_bits = {1'h1, x_fraction__2}; assign eq_439 = x_bexp__2 == 8'hff; assign ne_440 = x_fraction__2 != 7'h00; assign x_sign__2 = x[15:15]; assign exp_oob = $signed(exp) >= $signed(8'h10); assign and_465 = (x_bexp__2 == 8'h7f ? 16'h0001 : (effective_exp[31] ? {8'h00, {{23{neg_431[8]}}, neg_431} >= 32'h0000_0008 ? 8'h00 : fraction_shift_bits >> {{23{neg_431[8]}}, neg_431}} : ($signed(add_427) > $signed(9'h000) ? (effective_exp >= 32'h0000_0010 ? 16'h0000 : fraction << effective_exp) : fraction))) & {16{~(eq_439 & ne_440 | exp[7])}}; assign result = exp_oob | ~(~eq_439 | ne_440) | x_sign__2 ? {16{~x_sign__2}} : and_465; assign out = result; endmodule