module __float64__fma( input wire [63:0] a, input wire [63:0] b, input wire [63:0] c, output wire [63:0] out ); // lint_off MULTIPLY function automatic [105:0] umul106b_53b_x_53b (input reg [52:0] lhs, input reg [52:0] rhs); begin umul106b_53b_x_53b = lhs * rhs; end endfunction // lint_on MULTIPLY function automatic priority_sel_1b_2way (input reg [1:0] sel, input reg case0, input reg case1, input reg default_value); begin casez (sel) 2'b?1: begin priority_sel_1b_2way = case0; end 2'b10: begin priority_sel_1b_2way = case1; end 2'b00: begin priority_sel_1b_2way = default_value; end default: begin // Propagate X priority_sel_1b_2way = 1'dx; end endcase end endfunction wire [10:0] a_bexp__1; wire [10:0] b_bexp__1; wire cancel__1; wire bnot__1; wire [51:0] a_fraction__1; wire [51:0] b_fraction__1; wire eq_2075; wire eq_2076; wire [52:0] a_significand__1; wire [52:0] b_significand__1; wire nor_2081; wire [11:0] add_2082; wire [105:0] umul_2083; wire [10:0] max_exp; wire [105:0] full_product; wire eq_2090; wire eq_2091; wire eq_2092; wire eq_2093; wire [12:0] exp; wire in_upper_binade; wire [12:0] exp__1; wire has_inf_arg; wire [12:0] result_exp__1; wire [12:0] result_exp__3; wire is_subnormal; wire has_0_arg; wire is_result_nan__1; wire [11:0] result_exp; wire [10:0] c_bexp__2; wire [11:0] ab_bexp__2; wire [10:0] bnot__2; wire [12:0] ab_bexp_extended__1; wire [12:0] bnot_extended__2; wire [12:0] full_result; wire overflow_detected; wire nc; wire [11:0] narrowed_result; wire [11:0] ab_bexpor_mask__2; wire [105:0] result_fraction__1; wire [11:0] result; wire [105:0] result_fraction__2; wire [11:0] exp_difference; wire [51:0] c_fraction__2; wire [105:0] result_fraction__5; wire [11:0] rshift_ab; wire [52:0] sign_ext_2151; wire [11:0] rshift_c; wire [105:0] ab_fraction__2; wire [159:0] shll_2155; wire [52:0] wide_c__3; wire [159:0] shll_2159; wire a_sign__1; wire b_sign__1; wire [159:0] wide_ab; wire [159:0] wide_c__2; wire result_sign__3; wire [159:0] shifted_ab; wire [159:0] shifted_c; wire c_sign__2; wire ab_sign__2; wire greater_sign; wire [160:0] shifted_ab__1_squeezed; wire [160:0] shifted_c__1_squeezed; wire [160:0] shifted_ab__2_squeezed; wire [160:0] shifted_c__2_squeezed; wire [161:0] shifted_ab__2; wire [161:0] shifted_c__2; wire [161:0] sum_fraction; wire [160:0] abs_fraction__2; wire [160:0] reverse_2203; wire [161:0] one_hot_2204; wire [7:0] encode_2205; wire cancel__2; wire carry_bit__2; wire [8:0] add_2215; wire carry_fraction__1; wire [2:0] concat_2223; wire [159:0] carry_fraction__2; wire [159:0] cancel_fraction__2; wire [159:0] shifted_fraction; wire [106:0] normal_chunk; wire [106:0] half_of_extra; wire [1:0] half_way_chunk; wire [53:0] concat_2235; wire [53:0] add_2238; wire [53:0] rounded_fraction__1; wire [7:0] sub_2244; wire [11:0] greater_exp; wire rounding_carry; wire [8:0] concat_2249; wire fraction_is_zero; wire [12:0] bexp_associative_element__1; wire [12:0] bexp_associative_element__4; wire [12:0] bexp__1; wire [12:0] bexp__2; wire eq_2263; wire eq_2264; wire eq_2265; wire eq_2266; wire [11:0] bexp__6; wire and_2271; wire is_operand_inf; wire and_reduce_2280; wire has_pos_inf; wire has_neg_inf; wire is_result_nan; wire result_sign; wire [51:0] result_fraction; wire result_sign__1; wire [51:0] result_fraction__3; wire [3:0] one_hot_2310; wire result_sign__2; wire [10:0] result_exp__2; wire [51:0] result_fraction__4; wire nand_2303; wire eq_2312; assign a_bexp__1 = a[62:52]; assign b_bexp__1 = b[62:52]; assign cancel__1 = 1'h0; assign bnot__1 = 1'h1; assign a_fraction__1 = a[51:0]; assign b_fraction__1 = b[51:0]; assign eq_2075 = a_bexp__1 == 11'h000; assign eq_2076 = b_bexp__1 == 11'h000; assign a_significand__1 = {bnot__1, a_fraction__1}; assign b_significand__1 = {bnot__1, b_fraction__1}; assign nor_2081 = ~(eq_2075 | eq_2076); assign add_2082 = {cancel__1, a_bexp__1} + {cancel__1, b_bexp__1}; assign umul_2083 = umul106b_53b_x_53b(a_significand__1, b_significand__1); assign max_exp = 11'h7ff; assign full_product = umul_2083 & {106{nor_2081}}; assign eq_2090 = a_bexp__1 == max_exp; assign eq_2091 = a_fraction__1 == 52'h0_0000_0000_0000; assign eq_2092 = b_bexp__1 == max_exp; assign eq_2093 = b_fraction__1 == 52'h0_0000_0000_0000; assign exp = {cancel__1, add_2082} + 13'h1c01; assign in_upper_binade = full_product[105]; assign exp__1 = exp & {13{nor_2081}}; assign has_inf_arg = eq_2090 & eq_2091 | eq_2092 & eq_2093; assign result_exp__1 = exp__1 + {12'h000, in_upper_binade}; assign result_exp__3 = has_inf_arg ? 13'h0fff : result_exp__1; assign is_subnormal = $signed(result_exp__3) <= $signed(13'h0000); assign has_0_arg = eq_2075 | eq_2076; assign is_result_nan__1 = ~(~eq_2090 | eq_2091) | ~(~eq_2092 | eq_2093) | has_0_arg & has_inf_arg; assign result_exp = result_exp__3[11:0] & {12{~is_subnormal}}; assign c_bexp__2 = c[62:52]; assign ab_bexp__2 = is_result_nan__1 ? 12'hfff : result_exp; assign bnot__2 = ~c_bexp__2; assign ab_bexp_extended__1 = {cancel__1, ab_bexp__2}; assign bnot_extended__2 = {2'h1, bnot__2}; assign full_result = ab_bexp_extended__1 + bnot_extended__2; assign overflow_detected = full_result[12]; assign nc = ~overflow_detected; assign narrowed_result = full_result[11:0]; assign ab_bexpor_mask__2 = {12{nc}}; assign result_fraction__1 = in_upper_binade ? full_product : {full_product[104:0], cancel__1}; assign result = narrowed_result ^ ab_bexpor_mask__2; assign result_fraction__2 = result_fraction__1 & {106{~has_inf_arg}}; assign exp_difference = result + {11'h000, overflow_detected}; assign c_fraction__2 = c[51:0]; assign result_fraction__5 = (-result_exp__3[11:0] & {12{is_subnormal}}) >= 12'h06a ? 106'h000_0000_0000_0000_0000_0000_0000 : result_fraction__2 >> (-result_exp__3[11:0] & {12{is_subnormal}}); assign rshift_ab = exp_difference & ab_bexpor_mask__2; assign sign_ext_2151 = {53{c_bexp__2 != 11'h000}}; assign rshift_c = exp_difference & {12{overflow_detected}}; assign ab_fraction__2 = is_result_nan__1 ? 106'h300_0000_0000_0000_0000_0000_0000 : result_fraction__5; assign shll_2155 = rshift_ab >= 12'h0a0 ? 160'h0000_0000_0000_0000_0000_0000_0000_0000_0000_0000 : 160'hffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff << rshift_ab; assign wide_c__3 = {bnot__1, c_fraction__2} & sign_ext_2151; assign shll_2159 = rshift_c >= 12'h0a0 ? 160'h0000_0000_0000_0000_0000_0000_0000_0000_0000_0000 : 160'hffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff_ffff << rshift_c; assign a_sign__1 = a[63:63]; assign b_sign__1 = b[63:63]; assign wide_ab = {ab_fraction__2, 54'h00_0000_0000_0000}; assign wide_c__2 = {wide_c__3, 107'h000_0000_0000_0000_0000_0000_0000}; assign result_sign__3 = a_sign__1 ^ b_sign__1; assign shifted_ab = rshift_ab >= 12'h0a0 ? 160'h0000_0000_0000_0000_0000_0000_0000_0000_0000_0000 : wide_ab >> rshift_ab; assign shifted_c = rshift_c >= 12'h0a0 ? 160'h0000_0000_0000_0000_0000_0000_0000_0000_0000_0000 : wide_c__2 >> rshift_c; assign c_sign__2 = c[63:63]; assign ab_sign__2 = ~(is_result_nan__1 | ~result_sign__3); assign greater_sign = overflow_detected ? ab_sign__2 : c_sign__2; assign shifted_ab__1_squeezed = {cancel__1, shifted_ab[159:1], shifted_ab[0] | ~(~ab_fraction__2 | shll_2155[159:54]) != 106'h000_0000_0000_0000_0000_0000_0000}; assign shifted_c__1_squeezed = {cancel__1, shifted_c[159:1], shifted_c[0] | ~({cancel__1, ~c_fraction__2} | ~sign_ext_2151 | shll_2159[159:107]) != 53'h00_0000_0000_0000}; assign shifted_ab__2_squeezed = ab_sign__2 ^ greater_sign ? -shifted_ab__1_squeezed : shifted_ab__1_squeezed; assign shifted_c__2_squeezed = c_sign__2 ^ greater_sign ? -shifted_c__1_squeezed : shifted_c__1_squeezed; assign shifted_ab__2 = {{1{shifted_ab__2_squeezed[160]}}, shifted_ab__2_squeezed}; assign shifted_c__2 = {{1{shifted_c__2_squeezed[160]}}, shifted_c__2_squeezed}; assign sum_fraction = shifted_ab__2 + shifted_c__2; assign abs_fraction__2 = sum_fraction[161] ? -sum_fraction[160:0] : sum_fraction[160:0]; assign reverse_2203 = {abs_fraction__2[0], abs_fraction__2[1], abs_fraction__2[2], abs_fraction__2[3], abs_fraction__2[4], abs_fraction__2[5], abs_fraction__2[6], abs_fraction__2[7], abs_fraction__2[8], abs_fraction__2[9], abs_fraction__2[10], abs_fraction__2[11], abs_fraction__2[12], abs_fraction__2[13], abs_fraction__2[14], abs_fraction__2[15], abs_fraction__2[16], abs_fraction__2[17], abs_fraction__2[18], abs_fraction__2[19], abs_fraction__2[20], abs_fraction__2[21], abs_fraction__2[22], abs_fraction__2[23], abs_fraction__2[24], abs_fraction__2[25], abs_fraction__2[26], abs_fraction__2[27], abs_fraction__2[28], abs_fraction__2[29], abs_fraction__2[30], abs_fraction__2[31], abs_fraction__2[32], abs_fraction__2[33], abs_fraction__2[34], abs_fraction__2[35], abs_fraction__2[36], abs_fraction__2[37], abs_fraction__2[38], abs_fraction__2[39], abs_fraction__2[40], abs_fraction__2[41], abs_fraction__2[42], abs_fraction__2[43], abs_fraction__2[44], abs_fraction__2[45], abs_fraction__2[46], abs_fraction__2[47], abs_fraction__2[48], abs_fraction__2[49], abs_fraction__2[50], abs_fraction__2[51], abs_fraction__2[52], abs_fraction__2[53], abs_fraction__2[54], abs_fraction__2[55], abs_fraction__2[56], abs_fraction__2[57], abs_fraction__2[58], abs_fraction__2[59], abs_fraction__2[60], abs_fraction__2[61], abs_fraction__2[62], abs_fraction__2[63], abs_fraction__2[64], abs_fraction__2[65], abs_fraction__2[66], abs_fraction__2[67], abs_fraction__2[68], abs_fraction__2[69], abs_fraction__2[70], abs_fraction__2[71], abs_fraction__2[72], abs_fraction__2[73], abs_fraction__2[74], abs_fraction__2[75], abs_fraction__2[76], abs_fraction__2[77], abs_fraction__2[78], abs_fraction__2[79], abs_fraction__2[80], abs_fraction__2[81], abs_fraction__2[82], abs_fraction__2[83], abs_fraction__2[84], abs_fraction__2[85], abs_fraction__2[86], abs_fraction__2[87], abs_fraction__2[88], abs_fraction__2[89], abs_fraction__2[90], abs_fraction__2[91], abs_fraction__2[92], abs_fraction__2[93], abs_fraction__2[94], abs_fraction__2[95], abs_fraction__2[96], abs_fraction__2[97], abs_fraction__2[98], abs_fraction__2[99], abs_fraction__2[100], abs_fraction__2[101], abs_fraction__2[102], abs_fraction__2[103], abs_fraction__2[104], abs_fraction__2[105], abs_fraction__2[106], abs_fraction__2[107], abs_fraction__2[108], abs_fraction__2[109], abs_fraction__2[110], abs_fraction__2[111], abs_fraction__2[112], abs_fraction__2[113], abs_fraction__2[114], abs_fraction__2[115], abs_fraction__2[116], abs_fraction__2[117], abs_fraction__2[118], abs_fraction__2[119], abs_fraction__2[120], abs_fraction__2[121], abs_fraction__2[122], abs_fraction__2[123], abs_fraction__2[124], abs_fraction__2[125], abs_fraction__2[126], abs_fraction__2[127], abs_fraction__2[128], abs_fraction__2[129], abs_fraction__2[130], abs_fraction__2[131], abs_fraction__2[132], abs_fraction__2[133], abs_fraction__2[134], abs_fraction__2[135], abs_fraction__2[136], abs_fraction__2[137], abs_fraction__2[138], abs_fraction__2[139], abs_fraction__2[140], abs_fraction__2[141], abs_fraction__2[142], abs_fraction__2[143], abs_fraction__2[144], abs_fraction__2[145], abs_fraction__2[146], abs_fraction__2[147], abs_fraction__2[148], abs_fraction__2[149], abs_fraction__2[150], abs_fraction__2[151], abs_fraction__2[152], abs_fraction__2[153], abs_fraction__2[154], abs_fraction__2[155], abs_fraction__2[156], abs_fraction__2[157], abs_fraction__2[158], abs_fraction__2[159], abs_fraction__2[160]}; assign one_hot_2204 = {reverse_2203[160:0] == 161'h0_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[160] && reverse_2203[159:0] == 160'h0000_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[159] && reverse_2203[158:0] == 159'h0000_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[158] && reverse_2203[157:0] == 158'h0000_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[157] && reverse_2203[156:0] == 157'h0000_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[156] && reverse_2203[155:0] == 156'h000_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[155] && reverse_2203[154:0] == 155'h000_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[154] && reverse_2203[153:0] == 154'h000_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[153] && reverse_2203[152:0] == 153'h000_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[152] && reverse_2203[151:0] == 152'h00_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[151] && reverse_2203[150:0] == 151'h00_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[150] && reverse_2203[149:0] == 150'h00_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[149] && reverse_2203[148:0] == 149'h00_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[148] && reverse_2203[147:0] == 148'h0_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[147] && reverse_2203[146:0] == 147'h0_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[146] && reverse_2203[145:0] == 146'h0_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[145] && reverse_2203[144:0] == 145'h0_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[144] && reverse_2203[143:0] == 144'h0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[143] && reverse_2203[142:0] == 143'h0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[142] && reverse_2203[141:0] == 142'h0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[141] && reverse_2203[140:0] == 141'h0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[140] && reverse_2203[139:0] == 140'h000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[139] && reverse_2203[138:0] == 139'h000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[138] && reverse_2203[137:0] == 138'h000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[137] && reverse_2203[136:0] == 137'h000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[136] && reverse_2203[135:0] == 136'h00_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[135] && reverse_2203[134:0] == 135'h00_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[134] && reverse_2203[133:0] == 134'h00_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[133] && reverse_2203[132:0] == 133'h00_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[132] && reverse_2203[131:0] == 132'h0_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[131] && reverse_2203[130:0] == 131'h0_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[130] && reverse_2203[129:0] == 130'h0_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[129] && reverse_2203[128:0] == 129'h0_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[128] && reverse_2203[127:0] == 128'h0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[127] && reverse_2203[126:0] == 127'h0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[126] && reverse_2203[125:0] == 126'h0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[125] && reverse_2203[124:0] == 125'h0000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[124] && reverse_2203[123:0] == 124'h000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[123] && reverse_2203[122:0] == 123'h000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[122] && reverse_2203[121:0] == 122'h000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[121] && reverse_2203[120:0] == 121'h000_0000_0000_0000_0000_0000_0000_0000, reverse_2203[120] && reverse_2203[119:0] == 120'h00_0000_0000_0000_0000_0000_0000_0000, reverse_2203[119] && reverse_2203[118:0] == 119'h00_0000_0000_0000_0000_0000_0000_0000, reverse_2203[118] && reverse_2203[117:0] == 118'h00_0000_0000_0000_0000_0000_0000_0000, reverse_2203[117] && reverse_2203[116:0] == 117'h00_0000_0000_0000_0000_0000_0000_0000, reverse_2203[116] && reverse_2203[115:0] == 116'h0_0000_0000_0000_0000_0000_0000_0000, reverse_2203[115] && reverse_2203[114:0] == 115'h0_0000_0000_0000_0000_0000_0000_0000, reverse_2203[114] && reverse_2203[113:0] == 114'h0_0000_0000_0000_0000_0000_0000_0000, reverse_2203[113] && reverse_2203[112:0] == 113'h0_0000_0000_0000_0000_0000_0000_0000, reverse_2203[112] && reverse_2203[111:0] == 112'h0000_0000_0000_0000_0000_0000_0000, reverse_2203[111] && reverse_2203[110:0] == 111'h0000_0000_0000_0000_0000_0000_0000, reverse_2203[110] && reverse_2203[109:0] == 110'h0000_0000_0000_0000_0000_0000_0000, reverse_2203[109] && reverse_2203[108:0] == 109'h0000_0000_0000_0000_0000_0000_0000, reverse_2203[108] && reverse_2203[107:0] == 108'h000_0000_0000_0000_0000_0000_0000, reverse_2203[107] && reverse_2203[106:0] == 107'h000_0000_0000_0000_0000_0000_0000, reverse_2203[106] && reverse_2203[105:0] == 106'h000_0000_0000_0000_0000_0000_0000, reverse_2203[105] && reverse_2203[104:0] == 105'h000_0000_0000_0000_0000_0000_0000, reverse_2203[104] && reverse_2203[103:0] == 104'h00_0000_0000_0000_0000_0000_0000, reverse_2203[103] && reverse_2203[102:0] == 103'h00_0000_0000_0000_0000_0000_0000, reverse_2203[102] && reverse_2203[101:0] == 102'h00_0000_0000_0000_0000_0000_0000, reverse_2203[101] && reverse_2203[100:0] == 101'h00_0000_0000_0000_0000_0000_0000, reverse_2203[100] && reverse_2203[99:0] == 100'h0_0000_0000_0000_0000_0000_0000, reverse_2203[99] && reverse_2203[98:0] == 99'h0_0000_0000_0000_0000_0000_0000, reverse_2203[98] && reverse_2203[97:0] == 98'h0_0000_0000_0000_0000_0000_0000, reverse_2203[97] && reverse_2203[96:0] == 97'h0_0000_0000_0000_0000_0000_0000, reverse_2203[96] && reverse_2203[95:0] == 96'h0000_0000_0000_0000_0000_0000, reverse_2203[95] && reverse_2203[94:0] == 95'h0000_0000_0000_0000_0000_0000, reverse_2203[94] && reverse_2203[93:0] == 94'h0000_0000_0000_0000_0000_0000, reverse_2203[93] && reverse_2203[92:0] == 93'h0000_0000_0000_0000_0000_0000, reverse_2203[92] && reverse_2203[91:0] == 92'h000_0000_0000_0000_0000_0000, reverse_2203[91] && reverse_2203[90:0] == 91'h000_0000_0000_0000_0000_0000, reverse_2203[90] && reverse_2203[89:0] == 90'h000_0000_0000_0000_0000_0000, reverse_2203[89] && reverse_2203[88:0] == 89'h000_0000_0000_0000_0000_0000, reverse_2203[88] && reverse_2203[87:0] == 88'h00_0000_0000_0000_0000_0000, reverse_2203[87] && reverse_2203[86:0] == 87'h00_0000_0000_0000_0000_0000, reverse_2203[86] && reverse_2203[85:0] == 86'h00_0000_0000_0000_0000_0000, reverse_2203[85] && reverse_2203[84:0] == 85'h00_0000_0000_0000_0000_0000, reverse_2203[84] && reverse_2203[83:0] == 84'h0_0000_0000_0000_0000_0000, reverse_2203[83] && reverse_2203[82:0] == 83'h0_0000_0000_0000_0000_0000, reverse_2203[82] && reverse_2203[81:0] == 82'h0_0000_0000_0000_0000_0000, reverse_2203[81] && reverse_2203[80:0] == 81'h0_0000_0000_0000_0000_0000, reverse_2203[80] && reverse_2203[79:0] == 80'h0000_0000_0000_0000_0000, reverse_2203[79] && reverse_2203[78:0] == 79'h0000_0000_0000_0000_0000, reverse_2203[78] && reverse_2203[77:0] == 78'h0000_0000_0000_0000_0000, reverse_2203[77] && reverse_2203[76:0] == 77'h0000_0000_0000_0000_0000, reverse_2203[76] && reverse_2203[75:0] == 76'h000_0000_0000_0000_0000, reverse_2203[75] && reverse_2203[74:0] == 75'h000_0000_0000_0000_0000, reverse_2203[74] && reverse_2203[73:0] == 74'h000_0000_0000_0000_0000, reverse_2203[73] && reverse_2203[72:0] == 73'h000_0000_0000_0000_0000, reverse_2203[72] && reverse_2203[71:0] == 72'h00_0000_0000_0000_0000, reverse_2203[71] && reverse_2203[70:0] == 71'h00_0000_0000_0000_0000, reverse_2203[70] && reverse_2203[69:0] == 70'h00_0000_0000_0000_0000, reverse_2203[69] && reverse_2203[68:0] == 69'h00_0000_0000_0000_0000, reverse_2203[68] && reverse_2203[67:0] == 68'h0_0000_0000_0000_0000, reverse_2203[67] && reverse_2203[66:0] == 67'h0_0000_0000_0000_0000, reverse_2203[66] && reverse_2203[65:0] == 66'h0_0000_0000_0000_0000, reverse_2203[65] && reverse_2203[64:0] == 65'h0_0000_0000_0000_0000, reverse_2203[64] && reverse_2203[63:0] == 64'h0000_0000_0000_0000, reverse_2203[63] && reverse_2203[62:0] == 63'h0000_0000_0000_0000, reverse_2203[62] && reverse_2203[61:0] == 62'h0000_0000_0000_0000, reverse_2203[61] && reverse_2203[60:0] == 61'h0000_0000_0000_0000, reverse_2203[60] && reverse_2203[59:0] == 60'h000_0000_0000_0000, reverse_2203[59] && reverse_2203[58:0] == 59'h000_0000_0000_0000, reverse_2203[58] && reverse_2203[57:0] == 58'h000_0000_0000_0000, reverse_2203[57] && reverse_2203[56:0] == 57'h000_0000_0000_0000, reverse_2203[56] && reverse_2203[55:0] == 56'h00_0000_0000_0000, reverse_2203[55] && reverse_2203[54:0] == 55'h00_0000_0000_0000, reverse_2203[54] && reverse_2203[53:0] == 54'h00_0000_0000_0000, reverse_2203[53] && reverse_2203[52:0] == 53'h00_0000_0000_0000, reverse_2203[52] && reverse_2203[51:0] == 52'h0_0000_0000_0000, reverse_2203[51] && reverse_2203[50:0] == 51'h0_0000_0000_0000, reverse_2203[50] && reverse_2203[49:0] == 50'h0_0000_0000_0000, reverse_2203[49] && reverse_2203[48:0] == 49'h0_0000_0000_0000, reverse_2203[48] && reverse_2203[47:0] == 48'h0000_0000_0000, reverse_2203[47] && reverse_2203[46:0] == 47'h0000_0000_0000, reverse_2203[46] && reverse_2203[45:0] == 46'h0000_0000_0000, reverse_2203[45] && reverse_2203[44:0] == 45'h0000_0000_0000, reverse_2203[44] && reverse_2203[43:0] == 44'h000_0000_0000, reverse_2203[43] && reverse_2203[42:0] == 43'h000_0000_0000, reverse_2203[42] && reverse_2203[41:0] == 42'h000_0000_0000, reverse_2203[41] && reverse_2203[40:0] == 41'h000_0000_0000, reverse_2203[40] && reverse_2203[39:0] == 40'h00_0000_0000, reverse_2203[39] && reverse_2203[38:0] == 39'h00_0000_0000, reverse_2203[38] && reverse_2203[37:0] == 38'h00_0000_0000, reverse_2203[37] && reverse_2203[36:0] == 37'h00_0000_0000, reverse_2203[36] && reverse_2203[35:0] == 36'h0_0000_0000, reverse_2203[35] && reverse_2203[34:0] == 35'h0_0000_0000, reverse_2203[34] && reverse_2203[33:0] == 34'h0_0000_0000, reverse_2203[33] && reverse_2203[32:0] == 33'h0_0000_0000, reverse_2203[32] && reverse_2203[31:0] == 32'h0000_0000, reverse_2203[31] && reverse_2203[30:0] == 31'h0000_0000, reverse_2203[30] && reverse_2203[29:0] == 30'h0000_0000, reverse_2203[29] && reverse_2203[28:0] == 29'h0000_0000, reverse_2203[28] && reverse_2203[27:0] == 28'h000_0000, reverse_2203[27] && reverse_2203[26:0] == 27'h000_0000, reverse_2203[26] && reverse_2203[25:0] == 26'h000_0000, reverse_2203[25] && reverse_2203[24:0] == 25'h000_0000, reverse_2203[24] && reverse_2203[23:0] == 24'h00_0000, reverse_2203[23] && reverse_2203[22:0] == 23'h00_0000, reverse_2203[22] && reverse_2203[21:0] == 22'h00_0000, reverse_2203[21] && reverse_2203[20:0] == 21'h00_0000, reverse_2203[20] && reverse_2203[19:0] == 20'h0_0000, reverse_2203[19] && reverse_2203[18:0] == 19'h0_0000, reverse_2203[18] && reverse_2203[17:0] == 18'h0_0000, reverse_2203[17] && reverse_2203[16:0] == 17'h0_0000, reverse_2203[16] && reverse_2203[15:0] == 16'h0000, reverse_2203[15] && reverse_2203[14:0] == 15'h0000, reverse_2203[14] && reverse_2203[13:0] == 14'h0000, reverse_2203[13] && reverse_2203[12:0] == 13'h0000, reverse_2203[12] && reverse_2203[11:0] == 12'h000, reverse_2203[11] && reverse_2203[10:0] == 11'h000, reverse_2203[10] && reverse_2203[9:0] == 10'h000, reverse_2203[9] && reverse_2203[8:0] == 9'h000, reverse_2203[8] && reverse_2203[7:0] == 8'h00, reverse_2203[7] && reverse_2203[6:0] == 7'h00, reverse_2203[6] && reverse_2203[5:0] == 6'h00, reverse_2203[5] && reverse_2203[4:0] == 5'h00, reverse_2203[4] && reverse_2203[3:0] == 4'h0, reverse_2203[3] && reverse_2203[2:0] == 3'h0, reverse_2203[2] && reverse_2203[1:0] == 2'h0, reverse_2203[1] && !reverse_2203[0], reverse_2203[0]}; assign encode_2205 = {one_hot_2204[128] | one_hot_2204[129] | one_hot_2204[130] | one_hot_2204[131] | one_hot_2204[132] | one_hot_2204[133] | one_hot_2204[134] | one_hot_2204[135] | one_hot_2204[136] | one_hot_2204[137] | one_hot_2204[138] | one_hot_2204[139] | one_hot_2204[140] | one_hot_2204[141] | one_hot_2204[142] | one_hot_2204[143] | one_hot_2204[144] | one_hot_2204[145] | one_hot_2204[146] | one_hot_2204[147] | one_hot_2204[148] | one_hot_2204[149] | one_hot_2204[150] | one_hot_2204[151] | one_hot_2204[152] | one_hot_2204[153] | one_hot_2204[154] | one_hot_2204[155] | one_hot_2204[156] | one_hot_2204[157] | one_hot_2204[158] | one_hot_2204[159] | one_hot_2204[160] | one_hot_2204[161], one_hot_2204[64] | one_hot_2204[65] | one_hot_2204[66] | one_hot_2204[67] | one_hot_2204[68] | one_hot_2204[69] | one_hot_2204[70] | one_hot_2204[71] | one_hot_2204[72] | one_hot_2204[73] | one_hot_2204[74] | one_hot_2204[75] | one_hot_2204[76] | one_hot_2204[77] | one_hot_2204[78] | one_hot_2204[79] | one_hot_2204[80] | one_hot_2204[81] | one_hot_2204[82] | one_hot_2204[83] | one_hot_2204[84] | one_hot_2204[85] | one_hot_2204[86] | one_hot_2204[87] | one_hot_2204[88] | one_hot_2204[89] | one_hot_2204[90] | one_hot_2204[91] | one_hot_2204[92] | one_hot_2204[93] | one_hot_2204[94] | one_hot_2204[95] | one_hot_2204[96] | one_hot_2204[97] | one_hot_2204[98] | one_hot_2204[99] | one_hot_2204[100] | one_hot_2204[101] | one_hot_2204[102] | one_hot_2204[103] | one_hot_2204[104] | one_hot_2204[105] | one_hot_2204[106] | one_hot_2204[107] | one_hot_2204[108] | one_hot_2204[109] | one_hot_2204[110] | one_hot_2204[111] | one_hot_2204[112] | one_hot_2204[113] | one_hot_2204[114] | one_hot_2204[115] | one_hot_2204[116] | one_hot_2204[117] | one_hot_2204[118] | one_hot_2204[119] | one_hot_2204[120] | one_hot_2204[121] | one_hot_2204[122] | one_hot_2204[123] | one_hot_2204[124] | one_hot_2204[125] | one_hot_2204[126] | one_hot_2204[127], one_hot_2204[32] | one_hot_2204[33] | one_hot_2204[34] | one_hot_2204[35] | one_hot_2204[36] | one_hot_2204[37] | one_hot_2204[38] | one_hot_2204[39] | one_hot_2204[40] | one_hot_2204[41] | one_hot_2204[42] | one_hot_2204[43] | one_hot_2204[44] | one_hot_2204[45] | one_hot_2204[46] | one_hot_2204[47] | one_hot_2204[48] | one_hot_2204[49] | one_hot_2204[50] | one_hot_2204[51] | one_hot_2204[52] | one_hot_2204[53] | one_hot_2204[54] | one_hot_2204[55] | one_hot_2204[56] | one_hot_2204[57] | one_hot_2204[58] | one_hot_2204[59] | one_hot_2204[60] | one_hot_2204[61] | one_hot_2204[62] | one_hot_2204[63] | one_hot_2204[96] | one_hot_2204[97] | one_hot_2204[98] | one_hot_2204[99] | one_hot_2204[100] | one_hot_2204[101] | one_hot_2204[102] | one_hot_2204[103] | one_hot_2204[104] | one_hot_2204[105] | one_hot_2204[106] | one_hot_2204[107] | one_hot_2204[108] | one_hot_2204[109] | one_hot_2204[110] | one_hot_2204[111] | one_hot_2204[112] | one_hot_2204[113] | one_hot_2204[114] | one_hot_2204[115] | one_hot_2204[116] | one_hot_2204[117] | one_hot_2204[118] | one_hot_2204[119] | one_hot_2204[120] | one_hot_2204[121] | one_hot_2204[122] | one_hot_2204[123] | one_hot_2204[124] | one_hot_2204[125] | one_hot_2204[126] | one_hot_2204[127] | one_hot_2204[160] | one_hot_2204[161], one_hot_2204[16] | one_hot_2204[17] | one_hot_2204[18] | one_hot_2204[19] | one_hot_2204[20] | one_hot_2204[21] | one_hot_2204[22] | one_hot_2204[23] | one_hot_2204[24] | one_hot_2204[25] | one_hot_2204[26] | one_hot_2204[27] | one_hot_2204[28] | one_hot_2204[29] | one_hot_2204[30] | one_hot_2204[31] | one_hot_2204[48] | one_hot_2204[49] | one_hot_2204[50] | one_hot_2204[51] | one_hot_2204[52] | one_hot_2204[53] | one_hot_2204[54] | one_hot_2204[55] | one_hot_2204[56] | one_hot_2204[57] | one_hot_2204[58] | one_hot_2204[59] | one_hot_2204[60] | one_hot_2204[61] | one_hot_2204[62] | one_hot_2204[63] | one_hot_2204[80] | one_hot_2204[81] | one_hot_2204[82] | one_hot_2204[83] | one_hot_2204[84] | one_hot_2204[85] | one_hot_2204[86] | one_hot_2204[87] | one_hot_2204[88] | one_hot_2204[89] | one_hot_2204[90] | one_hot_2204[91] | one_hot_2204[92] | one_hot_2204[93] | one_hot_2204[94] | one_hot_2204[95] | one_hot_2204[112] | one_hot_2204[113] | one_hot_2204[114] | one_hot_2204[115] | one_hot_2204[116] | one_hot_2204[117] | one_hot_2204[118] | one_hot_2204[119] | one_hot_2204[120] | one_hot_2204[121] | one_hot_2204[122] | one_hot_2204[123] | one_hot_2204[124] | one_hot_2204[125] | one_hot_2204[126] | one_hot_2204[127] | one_hot_2204[144] | one_hot_2204[145] | one_hot_2204[146] | one_hot_2204[147] | one_hot_2204[148] | one_hot_2204[149] | one_hot_2204[150] | one_hot_2204[151] | one_hot_2204[152] | one_hot_2204[153] | one_hot_2204[154] | one_hot_2204[155] | one_hot_2204[156] | one_hot_2204[157] | one_hot_2204[158] | one_hot_2204[159], one_hot_2204[8] | one_hot_2204[9] | one_hot_2204[10] | one_hot_2204[11] | one_hot_2204[12] | one_hot_2204[13] | one_hot_2204[14] | one_hot_2204[15] | one_hot_2204[24] | one_hot_2204[25] | one_hot_2204[26] | one_hot_2204[27] | one_hot_2204[28] | one_hot_2204[29] | one_hot_2204[30] | one_hot_2204[31] | one_hot_2204[40] | one_hot_2204[41] | one_hot_2204[42] | one_hot_2204[43] | one_hot_2204[44] | one_hot_2204[45] | one_hot_2204[46] | one_hot_2204[47] | one_hot_2204[56] | one_hot_2204[57] | one_hot_2204[58] | one_hot_2204[59] | one_hot_2204[60] | one_hot_2204[61] | one_hot_2204[62] | one_hot_2204[63] | one_hot_2204[72] | one_hot_2204[73] | one_hot_2204[74] | one_hot_2204[75] | one_hot_2204[76] | one_hot_2204[77] | one_hot_2204[78] | one_hot_2204[79] | one_hot_2204[88] | one_hot_2204[89] | one_hot_2204[90] | one_hot_2204[91] | one_hot_2204[92] | one_hot_2204[93] | one_hot_2204[94] | one_hot_2204[95] | one_hot_2204[104] | one_hot_2204[105] | one_hot_2204[106] | one_hot_2204[107] | one_hot_2204[108] | one_hot_2204[109] | one_hot_2204[110] | one_hot_2204[111] | one_hot_2204[120] | one_hot_2204[121] | one_hot_2204[122] | one_hot_2204[123] | one_hot_2204[124] | one_hot_2204[125] | one_hot_2204[126] | one_hot_2204[127] | one_hot_2204[136] | one_hot_2204[137] | one_hot_2204[138] | one_hot_2204[139] | one_hot_2204[140] | one_hot_2204[141] | one_hot_2204[142] | one_hot_2204[143] | one_hot_2204[152] | one_hot_2204[153] | one_hot_2204[154] | one_hot_2204[155] | one_hot_2204[156] | one_hot_2204[157] | one_hot_2204[158] | one_hot_2204[159], one_hot_2204[4] | one_hot_2204[5] | one_hot_2204[6] | one_hot_2204[7] | one_hot_2204[12] | one_hot_2204[13] | one_hot_2204[14] | one_hot_2204[15] | one_hot_2204[20] | one_hot_2204[21] | one_hot_2204[22] | one_hot_2204[23] | one_hot_2204[28] | one_hot_2204[29] | one_hot_2204[30] | one_hot_2204[31] | one_hot_2204[36] | one_hot_2204[37] | one_hot_2204[38] | one_hot_2204[39] | one_hot_2204[44] | one_hot_2204[45] | one_hot_2204[46] | one_hot_2204[47] | one_hot_2204[52] | one_hot_2204[53] | one_hot_2204[54] | one_hot_2204[55] | one_hot_2204[60] | one_hot_2204[61] | one_hot_2204[62] | one_hot_2204[63] | one_hot_2204[68] | one_hot_2204[69] | one_hot_2204[70] | one_hot_2204[71] | one_hot_2204[76] | one_hot_2204[77] | one_hot_2204[78] | one_hot_2204[79] | one_hot_2204[84] | one_hot_2204[85] | one_hot_2204[86] | one_hot_2204[87] | one_hot_2204[92] | one_hot_2204[93] | one_hot_2204[94] | one_hot_2204[95] | one_hot_2204[100] | one_hot_2204[101] | one_hot_2204[102] | one_hot_2204[103] | one_hot_2204[108] | one_hot_2204[109] | one_hot_2204[110] | one_hot_2204[111] | one_hot_2204[116] | one_hot_2204[117] | one_hot_2204[118] | one_hot_2204[119] | one_hot_2204[124] | one_hot_2204[125] | one_hot_2204[126] | one_hot_2204[127] | one_hot_2204[132] | one_hot_2204[133] | one_hot_2204[134] | one_hot_2204[135] | one_hot_2204[140] | one_hot_2204[141] | one_hot_2204[142] | one_hot_2204[143] | one_hot_2204[148] | one_hot_2204[149] | one_hot_2204[150] | one_hot_2204[151] | one_hot_2204[156] | one_hot_2204[157] | one_hot_2204[158] | one_hot_2204[159], one_hot_2204[2] | one_hot_2204[3] | one_hot_2204[6] | one_hot_2204[7] | one_hot_2204[10] | one_hot_2204[11] | one_hot_2204[14] | one_hot_2204[15] | one_hot_2204[18] | one_hot_2204[19] | one_hot_2204[22] | one_hot_2204[23] | one_hot_2204[26] | one_hot_2204[27] | one_hot_2204[30] | one_hot_2204[31] | one_hot_2204[34] | one_hot_2204[35] | one_hot_2204[38] | one_hot_2204[39] | one_hot_2204[42] | one_hot_2204[43] | one_hot_2204[46] | one_hot_2204[47] | one_hot_2204[50] | one_hot_2204[51] | one_hot_2204[54] | one_hot_2204[55] | one_hot_2204[58] | one_hot_2204[59] | one_hot_2204[62] | one_hot_2204[63] | one_hot_2204[66] | one_hot_2204[67] | one_hot_2204[70] | one_hot_2204[71] | one_hot_2204[74] | one_hot_2204[75] | one_hot_2204[78] | one_hot_2204[79] | one_hot_2204[82] | one_hot_2204[83] | one_hot_2204[86] | one_hot_2204[87] | one_hot_2204[90] | one_hot_2204[91] | one_hot_2204[94] | one_hot_2204[95] | one_hot_2204[98] | one_hot_2204[99] | one_hot_2204[102] | one_hot_2204[103] | one_hot_2204[106] | one_hot_2204[107] | one_hot_2204[110] | one_hot_2204[111] | one_hot_2204[114] | one_hot_2204[115] | one_hot_2204[118] | one_hot_2204[119] | one_hot_2204[122] | one_hot_2204[123] | one_hot_2204[126] | one_hot_2204[127] | one_hot_2204[130] | one_hot_2204[131] | one_hot_2204[134] | one_hot_2204[135] | one_hot_2204[138] | one_hot_2204[139] | one_hot_2204[142] | one_hot_2204[143] | one_hot_2204[146] | one_hot_2204[147] | one_hot_2204[150] | one_hot_2204[151] | one_hot_2204[154] | one_hot_2204[155] | one_hot_2204[158] | one_hot_2204[159], one_hot_2204[1] | one_hot_2204[3] | one_hot_2204[5] | one_hot_2204[7] | one_hot_2204[9] | one_hot_2204[11] | one_hot_2204[13] | one_hot_2204[15] | one_hot_2204[17] | one_hot_2204[19] | one_hot_2204[21] | one_hot_2204[23] | one_hot_2204[25] | one_hot_2204[27] | one_hot_2204[29] | one_hot_2204[31] | one_hot_2204[33] | one_hot_2204[35] | one_hot_2204[37] | one_hot_2204[39] | one_hot_2204[41] | one_hot_2204[43] | one_hot_2204[45] | one_hot_2204[47] | one_hot_2204[49] | one_hot_2204[51] | one_hot_2204[53] | one_hot_2204[55] | one_hot_2204[57] | one_hot_2204[59] | one_hot_2204[61] | one_hot_2204[63] | one_hot_2204[65] | one_hot_2204[67] | one_hot_2204[69] | one_hot_2204[71] | one_hot_2204[73] | one_hot_2204[75] | one_hot_2204[77] | one_hot_2204[79] | one_hot_2204[81] | one_hot_2204[83] | one_hot_2204[85] | one_hot_2204[87] | one_hot_2204[89] | one_hot_2204[91] | one_hot_2204[93] | one_hot_2204[95] | one_hot_2204[97] | one_hot_2204[99] | one_hot_2204[101] | one_hot_2204[103] | one_hot_2204[105] | one_hot_2204[107] | one_hot_2204[109] | one_hot_2204[111] | one_hot_2204[113] | one_hot_2204[115] | one_hot_2204[117] | one_hot_2204[119] | one_hot_2204[121] | one_hot_2204[123] | one_hot_2204[125] | one_hot_2204[127] | one_hot_2204[129] | one_hot_2204[131] | one_hot_2204[133] | one_hot_2204[135] | one_hot_2204[137] | one_hot_2204[139] | one_hot_2204[141] | one_hot_2204[143] | one_hot_2204[145] | one_hot_2204[147] | one_hot_2204[149] | one_hot_2204[151] | one_hot_2204[153] | one_hot_2204[155] | one_hot_2204[157] | one_hot_2204[159] | one_hot_2204[161]}; assign cancel__2 = |encode_2205[7:1]; assign carry_bit__2 = abs_fraction__2[160]; assign add_2215 = {cancel__1, encode_2205} + 9'h1ff; assign carry_fraction__1 = abs_fraction__2[1] | abs_fraction__2[0]; assign concat_2223 = {~(carry_bit__2 | cancel__2), ~(carry_bit__2 | ~cancel__2), ~(~carry_bit__2 | cancel__2)}; assign carry_fraction__2 = {abs_fraction__2[160:2], carry_fraction__1}; assign cancel_fraction__2 = {{152{add_2215[8]}}, add_2215} >= 161'h0_0000_0000_0000_0000_0000_0000_0000_0000_0000_00a0 ? 160'h0000_0000_0000_0000_0000_0000_0000_0000_0000_0000 : abs_fraction__2[159:0] << {{152{add_2215[8]}}, add_2215}; assign shifted_fraction = carry_fraction__2 & {160{concat_2223[0]}} | cancel_fraction__2 & {160{concat_2223[1]}} | abs_fraction__2[159:0] & {160{concat_2223[2]}}; assign normal_chunk = shifted_fraction[106:0]; assign half_of_extra = 107'h400_0000_0000_0000_0000_0000_0000; assign half_way_chunk = shifted_fraction[107:106]; assign concat_2235 = {cancel__1, shifted_fraction[159:107]}; assign add_2238 = concat_2235 + 54'h00_0000_0000_0001; assign rounded_fraction__1 = normal_chunk > half_of_extra | half_way_chunk == 2'h3 ? add_2238 : concat_2235; assign sub_2244 = 8'h00 - {cancel__1, encode_2205[7:1]}; assign greater_exp = overflow_detected ? ab_bexp__2 : {cancel__1, c_bexp__2}; assign rounding_carry = rounded_fraction__1[53]; assign concat_2249 = {sub_2244, ~encode_2205[0]}; assign fraction_is_zero = sum_fraction == 162'h0_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000; assign bexp_associative_element__1 = {{4{concat_2249[8]}}, concat_2249}; assign bexp_associative_element__4 = {cancel__1, greater_exp} + {12'h000, rounding_carry}; assign bexp__1 = bexp_associative_element__1 + bexp_associative_element__4; assign bexp__2 = bexp__1 & {13{~fraction_is_zero}}; assign eq_2263 = ab_bexp__2 == 12'hfff; assign eq_2264 = ab_fraction__2 == 106'h000_0000_0000_0000_0000_0000_0000; assign eq_2265 = c_bexp__2 == max_exp; assign eq_2266 = c_fraction__2 == 52'h0_0000_0000_0000; assign bexp__6 = bexp__2[11:0] & {12{~bexp__2[12]}}; assign and_2271 = eq_2263 & eq_2264; assign is_operand_inf = and_2271 | eq_2265 & eq_2266; assign and_reduce_2280 = &bexp__6[10:0]; assign has_pos_inf = ~(~(eq_2263 & eq_2264) | ab_sign__2) | ~(~eq_2265 | ~eq_2266 | c_sign__2); assign has_neg_inf = and_2271 & ab_sign__2 | eq_2265 & eq_2266 & c_sign__2; assign is_result_nan = ~(~eq_2263 | eq_2264) | ~(~eq_2265 | eq_2266) | has_pos_inf & has_neg_inf; assign result_sign = priority_sel_1b_2way({sum_fraction[161], fraction_is_zero}, cancel__1, ~greater_sign, greater_sign); assign result_fraction = rounded_fraction__1[51:0]; assign result_sign__1 = is_operand_inf ? ~has_pos_inf : result_sign; assign result_fraction__3 = result_fraction & {52{~(is_operand_inf | bexp__6[11] | and_reduce_2280 | bexp__6 == 12'h000)}}; assign one_hot_2310 = {concat_2223[2:0] == 3'h0, concat_2223[2] && concat_2223[1:0] == 2'h0, concat_2223[1] && !concat_2223[0], concat_2223[0]}; assign result_sign__2 = ~is_result_nan & result_sign__1; assign result_exp__2 = is_result_nan | is_operand_inf | bexp__6[11] | and_reduce_2280 ? max_exp : bexp__6[10:0]; assign result_fraction__4 = is_result_nan ? 52'h1_0000_0000_0000 : result_fraction__3; assign nand_2303 = ~(carry_bit__2 & cancel__2); assign eq_2312 = concat_2223 == one_hot_2310[2:0]; assign out = {result_sign__2, result_exp__2, result_fraction__4}; endmodule