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