module __float64__normalize( input wire sign, input wire [10:0] exp, input wire [52:0] fraction_with_hidden, output wire [63:0] out ); wire [52:0] reverse_172; wire [53:0] one_hot_173; wire [5:0] encode_175; wire [10:0] concat_176; wire is_denormal; wire nor_180; wire [10:0] sub_182; wire [51:0] normalized_fraction; assign reverse_172 = {fraction_with_hidden[0], fraction_with_hidden[1], fraction_with_hidden[2], fraction_with_hidden[3], fraction_with_hidden[4], fraction_with_hidden[5], fraction_with_hidden[6], fraction_with_hidden[7], fraction_with_hidden[8], fraction_with_hidden[9], fraction_with_hidden[10], fraction_with_hidden[11], fraction_with_hidden[12], fraction_with_hidden[13], fraction_with_hidden[14], fraction_with_hidden[15], fraction_with_hidden[16], fraction_with_hidden[17], fraction_with_hidden[18], fraction_with_hidden[19], fraction_with_hidden[20], fraction_with_hidden[21], fraction_with_hidden[22], fraction_with_hidden[23], fraction_with_hidden[24], fraction_with_hidden[25], fraction_with_hidden[26], fraction_with_hidden[27], fraction_with_hidden[28], fraction_with_hidden[29], fraction_with_hidden[30], fraction_with_hidden[31], fraction_with_hidden[32], fraction_with_hidden[33], fraction_with_hidden[34], fraction_with_hidden[35], fraction_with_hidden[36], fraction_with_hidden[37], fraction_with_hidden[38], fraction_with_hidden[39], fraction_with_hidden[40], fraction_with_hidden[41], fraction_with_hidden[42], fraction_with_hidden[43], fraction_with_hidden[44], fraction_with_hidden[45], fraction_with_hidden[46], fraction_with_hidden[47], fraction_with_hidden[48], fraction_with_hidden[49], fraction_with_hidden[50], fraction_with_hidden[51], fraction_with_hidden[52]}; assign one_hot_173 = {reverse_172[52:0] == 53'h00_0000_0000_0000, reverse_172[52] && reverse_172[51:0] == 52'h0_0000_0000_0000, reverse_172[51] && reverse_172[50:0] == 51'h0_0000_0000_0000, reverse_172[50] && reverse_172[49:0] == 50'h0_0000_0000_0000, reverse_172[49] && reverse_172[48:0] == 49'h0_0000_0000_0000, reverse_172[48] && reverse_172[47:0] == 48'h0000_0000_0000, reverse_172[47] && reverse_172[46:0] == 47'h0000_0000_0000, reverse_172[46] && reverse_172[45:0] == 46'h0000_0000_0000, reverse_172[45] && reverse_172[44:0] == 45'h0000_0000_0000, reverse_172[44] && reverse_172[43:0] == 44'h000_0000_0000, reverse_172[43] && reverse_172[42:0] == 43'h000_0000_0000, reverse_172[42] && reverse_172[41:0] == 42'h000_0000_0000, reverse_172[41] && reverse_172[40:0] == 41'h000_0000_0000, reverse_172[40] && reverse_172[39:0] == 40'h00_0000_0000, reverse_172[39] && reverse_172[38:0] == 39'h00_0000_0000, reverse_172[38] && reverse_172[37:0] == 38'h00_0000_0000, reverse_172[37] && reverse_172[36:0] == 37'h00_0000_0000, reverse_172[36] && reverse_172[35:0] == 36'h0_0000_0000, reverse_172[35] && reverse_172[34:0] == 35'h0_0000_0000, reverse_172[34] && reverse_172[33:0] == 34'h0_0000_0000, reverse_172[33] && reverse_172[32:0] == 33'h0_0000_0000, reverse_172[32] && reverse_172[31:0] == 32'h0000_0000, reverse_172[31] && reverse_172[30:0] == 31'h0000_0000, reverse_172[30] && reverse_172[29:0] == 30'h0000_0000, reverse_172[29] && reverse_172[28:0] == 29'h0000_0000, reverse_172[28] && reverse_172[27:0] == 28'h000_0000, reverse_172[27] && reverse_172[26:0] == 27'h000_0000, reverse_172[26] && reverse_172[25:0] == 26'h000_0000, reverse_172[25] && reverse_172[24:0] == 25'h000_0000, reverse_172[24] && reverse_172[23:0] == 24'h00_0000, reverse_172[23] && reverse_172[22:0] == 23'h00_0000, reverse_172[22] && reverse_172[21:0] == 22'h00_0000, reverse_172[21] && reverse_172[20:0] == 21'h00_0000, reverse_172[20] && reverse_172[19:0] == 20'h0_0000, reverse_172[19] && reverse_172[18:0] == 19'h0_0000, reverse_172[18] && reverse_172[17:0] == 18'h0_0000, reverse_172[17] && reverse_172[16:0] == 17'h0_0000, reverse_172[16] && reverse_172[15:0] == 16'h0000, reverse_172[15] && reverse_172[14:0] == 15'h0000, reverse_172[14] && reverse_172[13:0] == 14'h0000, reverse_172[13] && reverse_172[12:0] == 13'h0000, reverse_172[12] && reverse_172[11:0] == 12'h000, reverse_172[11] && reverse_172[10:0] == 11'h000, reverse_172[10] && reverse_172[9:0] == 10'h000, reverse_172[9] && reverse_172[8:0] == 9'h000, reverse_172[8] && reverse_172[7:0] == 8'h00, reverse_172[7] && reverse_172[6:0] == 7'h00, reverse_172[6] && reverse_172[5:0] == 6'h00, reverse_172[5] && reverse_172[4:0] == 5'h00, reverse_172[4] && reverse_172[3:0] == 4'h0, reverse_172[3] && reverse_172[2:0] == 3'h0, reverse_172[2] && reverse_172[1:0] == 2'h0, reverse_172[1] && !reverse_172[0], reverse_172[0]}; assign encode_175 = {one_hot_173[32] | one_hot_173[33] | one_hot_173[34] | one_hot_173[35] | one_hot_173[36] | one_hot_173[37] | one_hot_173[38] | one_hot_173[39] | one_hot_173[40] | one_hot_173[41] | one_hot_173[42] | one_hot_173[43] | one_hot_173[44] | one_hot_173[45] | one_hot_173[46] | one_hot_173[47] | one_hot_173[48] | one_hot_173[49] | one_hot_173[50] | one_hot_173[51] | one_hot_173[52] | one_hot_173[53], one_hot_173[16] | one_hot_173[17] | one_hot_173[18] | one_hot_173[19] | one_hot_173[20] | one_hot_173[21] | one_hot_173[22] | one_hot_173[23] | one_hot_173[24] | one_hot_173[25] | one_hot_173[26] | one_hot_173[27] | one_hot_173[28] | one_hot_173[29] | one_hot_173[30] | one_hot_173[31] | one_hot_173[48] | one_hot_173[49] | one_hot_173[50] | one_hot_173[51] | one_hot_173[52] | one_hot_173[53], one_hot_173[8] | one_hot_173[9] | one_hot_173[10] | one_hot_173[11] | one_hot_173[12] | one_hot_173[13] | one_hot_173[14] | one_hot_173[15] | one_hot_173[24] | one_hot_173[25] | one_hot_173[26] | one_hot_173[27] | one_hot_173[28] | one_hot_173[29] | one_hot_173[30] | one_hot_173[31] | one_hot_173[40] | one_hot_173[41] | one_hot_173[42] | one_hot_173[43] | one_hot_173[44] | one_hot_173[45] | one_hot_173[46] | one_hot_173[47], one_hot_173[4] | one_hot_173[5] | one_hot_173[6] | one_hot_173[7] | one_hot_173[12] | one_hot_173[13] | one_hot_173[14] | one_hot_173[15] | one_hot_173[20] | one_hot_173[21] | one_hot_173[22] | one_hot_173[23] | one_hot_173[28] | one_hot_173[29] | one_hot_173[30] | one_hot_173[31] | one_hot_173[36] | one_hot_173[37] | one_hot_173[38] | one_hot_173[39] | one_hot_173[44] | one_hot_173[45] | one_hot_173[46] | one_hot_173[47] | one_hot_173[52] | one_hot_173[53], one_hot_173[2] | one_hot_173[3] | one_hot_173[6] | one_hot_173[7] | one_hot_173[10] | one_hot_173[11] | one_hot_173[14] | one_hot_173[15] | one_hot_173[18] | one_hot_173[19] | one_hot_173[22] | one_hot_173[23] | one_hot_173[26] | one_hot_173[27] | one_hot_173[30] | one_hot_173[31] | one_hot_173[34] | one_hot_173[35] | one_hot_173[38] | one_hot_173[39] | one_hot_173[42] | one_hot_173[43] | one_hot_173[46] | one_hot_173[47] | one_hot_173[50] | one_hot_173[51], one_hot_173[1] | one_hot_173[3] | one_hot_173[5] | one_hot_173[7] | one_hot_173[9] | one_hot_173[11] | one_hot_173[13] | one_hot_173[15] | one_hot_173[17] | one_hot_173[19] | one_hot_173[21] | one_hot_173[23] | one_hot_173[25] | one_hot_173[27] | one_hot_173[29] | one_hot_173[31] | one_hot_173[33] | one_hot_173[35] | one_hot_173[37] | one_hot_173[39] | one_hot_173[41] | one_hot_173[43] | one_hot_173[45] | one_hot_173[47] | one_hot_173[49] | one_hot_173[51] | one_hot_173[53]}; assign concat_176 = {5'h00, encode_175}; assign is_denormal = exp <= concat_176; assign nor_180 = ~(is_denormal | encode_175 == 6'h35); assign sub_182 = exp - concat_176; assign normalized_fraction = encode_175 >= 6'h34 ? 52'h0_0000_0000_0000 : fraction_with_hidden[51:0] << encode_175; assign out = {sign, sub_182 & {11{nor_180}}, normalized_fraction & {52{nor_180}}}; endmodule