module __float32__from_uint32( input wire [31:0] x, output wire [31:0] out ); wire [31:0] reverse_370; wire [32:0] one_hot_371; wire [5:0] encode_372; wire sign; wire [5:0] add_377; wire [32:0] x__1_narrowed; wire x__5; wire [2:0] normal_chunk; wire [1:0] half_way_chunk; wire [23:0] add_399; wire [1:0] bexp_associative_element_squeezed; wire [6:0] add_407; wire [7:0] lz; wire [7:0] bexp__1; wire [22:0] x__4; wire [31:0] result__1; assign reverse_370 = {x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31]}; assign one_hot_371 = {reverse_370[31:0] == 32'h0000_0000, reverse_370[31] && reverse_370[30:0] == 31'h0000_0000, reverse_370[30] && reverse_370[29:0] == 30'h0000_0000, reverse_370[29] && reverse_370[28:0] == 29'h0000_0000, reverse_370[28] && reverse_370[27:0] == 28'h000_0000, reverse_370[27] && reverse_370[26:0] == 27'h000_0000, reverse_370[26] && reverse_370[25:0] == 26'h000_0000, reverse_370[25] && reverse_370[24:0] == 25'h000_0000, reverse_370[24] && reverse_370[23:0] == 24'h00_0000, reverse_370[23] && reverse_370[22:0] == 23'h00_0000, reverse_370[22] && reverse_370[21:0] == 22'h00_0000, reverse_370[21] && reverse_370[20:0] == 21'h00_0000, reverse_370[20] && reverse_370[19:0] == 20'h0_0000, reverse_370[19] && reverse_370[18:0] == 19'h0_0000, reverse_370[18] && reverse_370[17:0] == 18'h0_0000, reverse_370[17] && reverse_370[16:0] == 17'h0_0000, reverse_370[16] && reverse_370[15:0] == 16'h0000, reverse_370[15] && reverse_370[14:0] == 15'h0000, reverse_370[14] && reverse_370[13:0] == 14'h0000, reverse_370[13] && reverse_370[12:0] == 13'h0000, reverse_370[12] && reverse_370[11:0] == 12'h000, reverse_370[11] && reverse_370[10:0] == 11'h000, reverse_370[10] && reverse_370[9:0] == 10'h000, reverse_370[9] && reverse_370[8:0] == 9'h000, reverse_370[8] && reverse_370[7:0] == 8'h00, reverse_370[7] && reverse_370[6:0] == 7'h00, reverse_370[6] && reverse_370[5:0] == 6'h00, reverse_370[5] && reverse_370[4:0] == 5'h00, reverse_370[4] && reverse_370[3:0] == 4'h0, reverse_370[3] && reverse_370[2:0] == 3'h0, reverse_370[2] && reverse_370[1:0] == 2'h0, reverse_370[1] && !reverse_370[0], reverse_370[0]}; assign encode_372 = {one_hot_371[32], one_hot_371[16] | one_hot_371[17] | one_hot_371[18] | one_hot_371[19] | one_hot_371[20] | one_hot_371[21] | one_hot_371[22] | one_hot_371[23] | one_hot_371[24] | one_hot_371[25] | one_hot_371[26] | one_hot_371[27] | one_hot_371[28] | one_hot_371[29] | one_hot_371[30] | one_hot_371[31], one_hot_371[8] | one_hot_371[9] | one_hot_371[10] | one_hot_371[11] | one_hot_371[12] | one_hot_371[13] | one_hot_371[14] | one_hot_371[15] | one_hot_371[24] | one_hot_371[25] | one_hot_371[26] | one_hot_371[27] | one_hot_371[28] | one_hot_371[29] | one_hot_371[30] | one_hot_371[31], one_hot_371[4] | one_hot_371[5] | one_hot_371[6] | one_hot_371[7] | one_hot_371[12] | one_hot_371[13] | one_hot_371[14] | one_hot_371[15] | one_hot_371[20] | one_hot_371[21] | one_hot_371[22] | one_hot_371[23] | one_hot_371[28] | one_hot_371[29] | one_hot_371[30] | one_hot_371[31], one_hot_371[2] | one_hot_371[3] | one_hot_371[6] | one_hot_371[7] | one_hot_371[10] | one_hot_371[11] | one_hot_371[14] | one_hot_371[15] | one_hot_371[18] | one_hot_371[19] | one_hot_371[22] | one_hot_371[23] | one_hot_371[26] | one_hot_371[27] | one_hot_371[30] | one_hot_371[31], one_hot_371[1] | one_hot_371[3] | one_hot_371[5] | one_hot_371[7] | one_hot_371[9] | one_hot_371[11] | one_hot_371[13] | one_hot_371[15] | one_hot_371[17] | one_hot_371[19] | one_hot_371[21] | one_hot_371[23] | one_hot_371[25] | one_hot_371[27] | one_hot_371[29] | one_hot_371[31]}; assign sign = 1'h0; assign add_377 = {sign, encode_372[5:1]} + 6'h01; assign x__1_narrowed = {add_377, encode_372[0]} >= 7'h21 ? 33'h0_0000_0000 : {sign, x} << {add_377, encode_372[0]}; assign x__5 = x__1_narrowed[7] | x__1_narrowed[6:2] != 5'h00; assign normal_chunk = {x__1_narrowed[9:8], x__5}; assign half_way_chunk = x__1_narrowed[10:9]; assign add_399 = {sign, x__1_narrowed[32:10]} + {23'h00_0000, normal_chunk > 3'h4 | half_way_chunk == 2'h3}; assign bexp_associative_element_squeezed = 2'h1; assign add_407 = {sign, encode_372} + 7'h7f; assign lz = {{1{add_407[6]}}, add_407}; assign bexp__1 = {6'h27, add_399[23] ? 2'h2 : bexp_associative_element_squeezed} - lz; assign x__4 = add_399[22:0]; assign result__1 = {sign, bexp__1 & {8{bexp__1[7] | (&bexp__1[6:0]) | x__4 != 23'h00_0000}}, x__4}; assign out = result__1; endmodule