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_2046; wire eq_2047; wire [52:0] a_significand__1; wire [52:0] b_significand__1; wire nor_2052; wire [11:0] add_2053; wire [105:0] umul_2054; wire [10:0] max_exp; wire [105:0] full_product; wire eq_2061; wire eq_2062; wire eq_2063; wire eq_2064; 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 [105:0] result_fraction__5; wire [11:0] rshift_ab; wire [51:0] c_fraction__2; wire [11:0] rshift_c; wire [105:0] ab_fraction__2; wire [159:0] shll_2123; wire [52:0] sign_ext_2125; wire [159:0] shll_2126; wire a_sign__1; wire b_sign__1; wire [52:0] wide_c__3; wire result_sign__3; wire [159:0] wide_ab; wire [159:0] wide_c__2; wire [159:0] shifted_ab; wire [159:0] sticky_ab; wire [159:0] shifted_c; wire [159:0] sticky_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_2173; wire [161:0] one_hot_2174; wire [7:0] encode_2175; wire cancel__2; wire carry_bit__2; wire [8:0] add_2184; wire [159:0] carry_fraction__1; wire [2:0] concat_2192; wire [159:0] carry_fraction__4; 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_2204; wire [53:0] add_2207; wire [53:0] rounded_fraction__1; wire [7:0] sub_2213; wire [11:0] greater_exp; wire rounding_carry; wire [8:0] concat_2218; 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_2232; wire eq_2233; wire eq_2234; wire eq_2235; wire [11:0] bexp__6; wire and_2240; wire is_operand_inf; wire and_reduce_2249; 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_2279; wire result_sign__2; wire [10:0] result_exp__2; wire [51:0] result_fraction__4; wire nand_2272; wire eq_2281; 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_2046 = a_bexp__1 == 11'h000; assign eq_2047 = 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_2052 = ~(eq_2046 | eq_2047); assign add_2053 = {cancel__1, a_bexp__1} + {cancel__1, b_bexp__1}; assign umul_2054 = umul106b_53b_x_53b(a_significand__1, b_significand__1); assign max_exp = 11'h7ff; assign full_product = umul_2054 & {106{nor_2052}}; assign eq_2061 = a_bexp__1 == max_exp; assign eq_2062 = a_fraction__1 == 52'h0_0000_0000_0000; assign eq_2063 = b_bexp__1 == max_exp; assign eq_2064 = b_fraction__1 == 52'h0_0000_0000_0000; assign exp = {cancel__1, add_2053} + 13'h1c01; assign in_upper_binade = full_product[105]; assign exp__1 = exp & {13{nor_2052}}; assign has_inf_arg = eq_2061 & eq_2062 | eq_2063 & eq_2064; 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_2046 | eq_2047; assign is_result_nan__1 = ~(~eq_2061 | eq_2062) | ~(~eq_2063 | eq_2064) | 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 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 c_fraction__2 = c[51:0]; 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_2123 = 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 sign_ext_2125 = {53{c_bexp__2 != 11'h000}}; assign shll_2126 = 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_c__3 = {bnot__1, c_fraction__2} & sign_ext_2125; assign result_sign__3 = a_sign__1 ^ b_sign__1; 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 shifted_ab = rshift_ab >= 12'h0a0 ? 160'h0000_0000_0000_0000_0000_0000_0000_0000_0000_0000 : wide_ab >> rshift_ab; assign sticky_ab = {159'h0000_0000_0000_0000_0000_0000_0000_0000_0000_0000, ~(~ab_fraction__2 | shll_2123[159:54]) != 106'h000_0000_0000_0000_0000_0000_0000}; assign shifted_c = rshift_c >= 12'h0a0 ? 160'h0000_0000_0000_0000_0000_0000_0000_0000_0000_0000 : wide_c__2 >> rshift_c; assign sticky_c = {159'h0000_0000_0000_0000_0000_0000_0000_0000_0000_0000, ~({cancel__1, ~c_fraction__2} | ~sign_ext_2125 | shll_2126[159:107]) != 53'h00_0000_0000_0000}; 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 | sticky_ab}; assign shifted_c__1_squeezed = {cancel__1, shifted_c | sticky_c}; 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_2173 = {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_2174 = {reverse_2173[160:0] == 161'h0_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[160] && reverse_2173[159:0] == 160'h0000_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[159] && reverse_2173[158:0] == 159'h0000_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[158] && reverse_2173[157:0] == 158'h0000_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[157] && reverse_2173[156:0] == 157'h0000_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[156] && reverse_2173[155:0] == 156'h000_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[155] && reverse_2173[154:0] == 155'h000_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[154] && reverse_2173[153:0] == 154'h000_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[153] && reverse_2173[152:0] == 153'h000_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[152] && reverse_2173[151:0] == 152'h00_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[151] && reverse_2173[150:0] == 151'h00_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[150] && reverse_2173[149:0] == 150'h00_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[149] && reverse_2173[148:0] == 149'h00_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[148] && reverse_2173[147:0] == 148'h0_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[147] && reverse_2173[146:0] == 147'h0_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[146] && reverse_2173[145:0] == 146'h0_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[145] && reverse_2173[144:0] == 145'h0_0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[144] && reverse_2173[143:0] == 144'h0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[143] && reverse_2173[142:0] == 143'h0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[142] && reverse_2173[141:0] == 142'h0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[141] && reverse_2173[140:0] == 141'h0000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[140] && reverse_2173[139:0] == 140'h000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[139] && reverse_2173[138:0] == 139'h000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[138] && reverse_2173[137:0] == 138'h000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[137] && reverse_2173[136:0] == 137'h000_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[136] && reverse_2173[135:0] == 136'h00_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[135] && reverse_2173[134:0] == 135'h00_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[134] && reverse_2173[133:0] == 134'h00_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[133] && reverse_2173[132:0] == 133'h00_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[132] && reverse_2173[131:0] == 132'h0_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[131] && reverse_2173[130:0] == 131'h0_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[130] && reverse_2173[129:0] == 130'h0_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[129] && reverse_2173[128:0] == 129'h0_0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[128] && reverse_2173[127:0] == 128'h0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[127] && reverse_2173[126:0] == 127'h0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[126] && reverse_2173[125:0] == 126'h0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[125] && reverse_2173[124:0] == 125'h0000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[124] && reverse_2173[123:0] == 124'h000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[123] && reverse_2173[122:0] == 123'h000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[122] && reverse_2173[121:0] == 122'h000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[121] && reverse_2173[120:0] == 121'h000_0000_0000_0000_0000_0000_0000_0000, reverse_2173[120] && reverse_2173[119:0] == 120'h00_0000_0000_0000_0000_0000_0000_0000, reverse_2173[119] && reverse_2173[118:0] == 119'h00_0000_0000_0000_0000_0000_0000_0000, reverse_2173[118] && reverse_2173[117:0] == 118'h00_0000_0000_0000_0000_0000_0000_0000, reverse_2173[117] && reverse_2173[116:0] == 117'h00_0000_0000_0000_0000_0000_0000_0000, reverse_2173[116] && reverse_2173[115:0] == 116'h0_0000_0000_0000_0000_0000_0000_0000, reverse_2173[115] && reverse_2173[114:0] == 115'h0_0000_0000_0000_0000_0000_0000_0000, reverse_2173[114] && reverse_2173[113:0] == 114'h0_0000_0000_0000_0000_0000_0000_0000, reverse_2173[113] && reverse_2173[112:0] == 113'h0_0000_0000_0000_0000_0000_0000_0000, reverse_2173[112] && reverse_2173[111:0] == 112'h0000_0000_0000_0000_0000_0000_0000, reverse_2173[111] && reverse_2173[110:0] == 111'h0000_0000_0000_0000_0000_0000_0000, reverse_2173[110] && reverse_2173[109:0] == 110'h0000_0000_0000_0000_0000_0000_0000, reverse_2173[109] && reverse_2173[108:0] == 109'h0000_0000_0000_0000_0000_0000_0000, reverse_2173[108] && reverse_2173[107:0] == 108'h000_0000_0000_0000_0000_0000_0000, reverse_2173[107] && reverse_2173[106:0] == 107'h000_0000_0000_0000_0000_0000_0000, reverse_2173[106] && reverse_2173[105:0] == 106'h000_0000_0000_0000_0000_0000_0000, reverse_2173[105] && reverse_2173[104:0] == 105'h000_0000_0000_0000_0000_0000_0000, reverse_2173[104] && reverse_2173[103:0] == 104'h00_0000_0000_0000_0000_0000_0000, reverse_2173[103] && reverse_2173[102:0] == 103'h00_0000_0000_0000_0000_0000_0000, reverse_2173[102] && reverse_2173[101:0] == 102'h00_0000_0000_0000_0000_0000_0000, reverse_2173[101] && reverse_2173[100:0] == 101'h00_0000_0000_0000_0000_0000_0000, reverse_2173[100] && reverse_2173[99:0] == 100'h0_0000_0000_0000_0000_0000_0000, reverse_2173[99] && reverse_2173[98:0] == 99'h0_0000_0000_0000_0000_0000_0000, reverse_2173[98] && reverse_2173[97:0] == 98'h0_0000_0000_0000_0000_0000_0000, reverse_2173[97] && reverse_2173[96:0] == 97'h0_0000_0000_0000_0000_0000_0000, reverse_2173[96] && reverse_2173[95:0] == 96'h0000_0000_0000_0000_0000_0000, reverse_2173[95] && reverse_2173[94:0] == 95'h0000_0000_0000_0000_0000_0000, reverse_2173[94] && reverse_2173[93:0] == 94'h0000_0000_0000_0000_0000_0000, reverse_2173[93] && reverse_2173[92:0] == 93'h0000_0000_0000_0000_0000_0000, reverse_2173[92] && reverse_2173[91:0] == 92'h000_0000_0000_0000_0000_0000, reverse_2173[91] && reverse_2173[90:0] == 91'h000_0000_0000_0000_0000_0000, reverse_2173[90] && reverse_2173[89:0] == 90'h000_0000_0000_0000_0000_0000, reverse_2173[89] && reverse_2173[88:0] == 89'h000_0000_0000_0000_0000_0000, reverse_2173[88] && reverse_2173[87:0] == 88'h00_0000_0000_0000_0000_0000, reverse_2173[87] && reverse_2173[86:0] == 87'h00_0000_0000_0000_0000_0000, reverse_2173[86] && reverse_2173[85:0] == 86'h00_0000_0000_0000_0000_0000, reverse_2173[85] && reverse_2173[84:0] == 85'h00_0000_0000_0000_0000_0000, reverse_2173[84] && reverse_2173[83:0] == 84'h0_0000_0000_0000_0000_0000, reverse_2173[83] && reverse_2173[82:0] == 83'h0_0000_0000_0000_0000_0000, reverse_2173[82] && reverse_2173[81:0] == 82'h0_0000_0000_0000_0000_0000, reverse_2173[81] && reverse_2173[80:0] == 81'h0_0000_0000_0000_0000_0000, reverse_2173[80] && reverse_2173[79:0] == 80'h0000_0000_0000_0000_0000, reverse_2173[79] && reverse_2173[78:0] == 79'h0000_0000_0000_0000_0000, reverse_2173[78] && reverse_2173[77:0] == 78'h0000_0000_0000_0000_0000, reverse_2173[77] && reverse_2173[76:0] == 77'h0000_0000_0000_0000_0000, reverse_2173[76] && reverse_2173[75:0] == 76'h000_0000_0000_0000_0000, reverse_2173[75] && reverse_2173[74:0] == 75'h000_0000_0000_0000_0000, reverse_2173[74] && reverse_2173[73:0] == 74'h000_0000_0000_0000_0000, reverse_2173[73] && reverse_2173[72:0] == 73'h000_0000_0000_0000_0000, reverse_2173[72] && reverse_2173[71:0] == 72'h00_0000_0000_0000_0000, reverse_2173[71] && reverse_2173[70:0] == 71'h00_0000_0000_0000_0000, reverse_2173[70] && reverse_2173[69:0] == 70'h00_0000_0000_0000_0000, reverse_2173[69] && reverse_2173[68:0] == 69'h00_0000_0000_0000_0000, reverse_2173[68] && reverse_2173[67:0] == 68'h0_0000_0000_0000_0000, reverse_2173[67] && reverse_2173[66:0] == 67'h0_0000_0000_0000_0000, reverse_2173[66] && reverse_2173[65:0] == 66'h0_0000_0000_0000_0000, reverse_2173[65] && reverse_2173[64:0] == 65'h0_0000_0000_0000_0000, reverse_2173[64] && reverse_2173[63:0] == 64'h0000_0000_0000_0000, reverse_2173[63] && reverse_2173[62:0] == 63'h0000_0000_0000_0000, reverse_2173[62] && reverse_2173[61:0] == 62'h0000_0000_0000_0000, reverse_2173[61] && reverse_2173[60:0] == 61'h0000_0000_0000_0000, reverse_2173[60] && reverse_2173[59:0] == 60'h000_0000_0000_0000, reverse_2173[59] && reverse_2173[58:0] == 59'h000_0000_0000_0000, reverse_2173[58] && reverse_2173[57:0] == 58'h000_0000_0000_0000, reverse_2173[57] && reverse_2173[56:0] == 57'h000_0000_0000_0000, reverse_2173[56] && reverse_2173[55:0] == 56'h00_0000_0000_0000, reverse_2173[55] && reverse_2173[54:0] == 55'h00_0000_0000_0000, reverse_2173[54] && reverse_2173[53:0] == 54'h00_0000_0000_0000, reverse_2173[53] && reverse_2173[52:0] == 53'h00_0000_0000_0000, reverse_2173[52] && reverse_2173[51:0] == 52'h0_0000_0000_0000, reverse_2173[51] && reverse_2173[50:0] == 51'h0_0000_0000_0000, reverse_2173[50] && reverse_2173[49:0] == 50'h0_0000_0000_0000, reverse_2173[49] && reverse_2173[48:0] == 49'h0_0000_0000_0000, reverse_2173[48] && reverse_2173[47:0] == 48'h0000_0000_0000, reverse_2173[47] && reverse_2173[46:0] == 47'h0000_0000_0000, reverse_2173[46] && reverse_2173[45:0] == 46'h0000_0000_0000, reverse_2173[45] && reverse_2173[44:0] == 45'h0000_0000_0000, reverse_2173[44] && reverse_2173[43:0] == 44'h000_0000_0000, reverse_2173[43] && reverse_2173[42:0] == 43'h000_0000_0000, reverse_2173[42] && reverse_2173[41:0] == 42'h000_0000_0000, reverse_2173[41] && reverse_2173[40:0] == 41'h000_0000_0000, reverse_2173[40] && reverse_2173[39:0] == 40'h00_0000_0000, reverse_2173[39] && reverse_2173[38:0] == 39'h00_0000_0000, reverse_2173[38] && reverse_2173[37:0] == 38'h00_0000_0000, reverse_2173[37] && reverse_2173[36:0] == 37'h00_0000_0000, reverse_2173[36] && reverse_2173[35:0] == 36'h0_0000_0000, reverse_2173[35] && reverse_2173[34:0] == 35'h0_0000_0000, reverse_2173[34] && reverse_2173[33:0] == 34'h0_0000_0000, reverse_2173[33] && reverse_2173[32:0] == 33'h0_0000_0000, reverse_2173[32] && reverse_2173[31:0] == 32'h0000_0000, reverse_2173[31] && reverse_2173[30:0] == 31'h0000_0000, reverse_2173[30] && reverse_2173[29:0] == 30'h0000_0000, reverse_2173[29] && reverse_2173[28:0] == 29'h0000_0000, reverse_2173[28] && reverse_2173[27:0] == 28'h000_0000, reverse_2173[27] && reverse_2173[26:0] == 27'h000_0000, reverse_2173[26] && reverse_2173[25:0] == 26'h000_0000, reverse_2173[25] && reverse_2173[24:0] == 25'h000_0000, reverse_2173[24] && reverse_2173[23:0] == 24'h00_0000, reverse_2173[23] && reverse_2173[22:0] == 23'h00_0000, reverse_2173[22] && reverse_2173[21:0] == 22'h00_0000, reverse_2173[21] && reverse_2173[20:0] == 21'h00_0000, reverse_2173[20] && reverse_2173[19:0] == 20'h0_0000, reverse_2173[19] && reverse_2173[18:0] == 19'h0_0000, reverse_2173[18] && reverse_2173[17:0] == 18'h0_0000, reverse_2173[17] && reverse_2173[16:0] == 17'h0_0000, reverse_2173[16] && reverse_2173[15:0] == 16'h0000, reverse_2173[15] && reverse_2173[14:0] == 15'h0000, reverse_2173[14] && reverse_2173[13:0] == 14'h0000, reverse_2173[13] && reverse_2173[12:0] == 13'h0000, reverse_2173[12] && reverse_2173[11:0] == 12'h000, reverse_2173[11] && reverse_2173[10:0] == 11'h000, reverse_2173[10] && reverse_2173[9:0] == 10'h000, reverse_2173[9] && reverse_2173[8:0] == 9'h000, reverse_2173[8] && reverse_2173[7:0] == 8'h00, reverse_2173[7] && reverse_2173[6:0] == 7'h00, reverse_2173[6] && reverse_2173[5:0] == 6'h00, reverse_2173[5] && reverse_2173[4:0] == 5'h00, reverse_2173[4] && reverse_2173[3:0] == 4'h0, reverse_2173[3] && reverse_2173[2:0] == 3'h0, reverse_2173[2] && reverse_2173[1:0] == 2'h0, reverse_2173[1] && !reverse_2173[0], reverse_2173[0]}; assign encode_2175 = {one_hot_2174[128] | one_hot_2174[129] | one_hot_2174[130] | one_hot_2174[131] | one_hot_2174[132] | one_hot_2174[133] | one_hot_2174[134] | one_hot_2174[135] | one_hot_2174[136] | one_hot_2174[137] | one_hot_2174[138] | one_hot_2174[139] | one_hot_2174[140] | one_hot_2174[141] | one_hot_2174[142] | one_hot_2174[143] | one_hot_2174[144] | one_hot_2174[145] | one_hot_2174[146] | one_hot_2174[147] | one_hot_2174[148] | one_hot_2174[149] | one_hot_2174[150] | one_hot_2174[151] | one_hot_2174[152] | one_hot_2174[153] | one_hot_2174[154] | one_hot_2174[155] | one_hot_2174[156] | one_hot_2174[157] | one_hot_2174[158] | one_hot_2174[159] | one_hot_2174[160] | one_hot_2174[161], one_hot_2174[64] | one_hot_2174[65] | one_hot_2174[66] | one_hot_2174[67] | one_hot_2174[68] | one_hot_2174[69] | one_hot_2174[70] | one_hot_2174[71] | one_hot_2174[72] | one_hot_2174[73] | one_hot_2174[74] | one_hot_2174[75] | one_hot_2174[76] | one_hot_2174[77] | one_hot_2174[78] | one_hot_2174[79] | one_hot_2174[80] | one_hot_2174[81] | one_hot_2174[82] | one_hot_2174[83] | one_hot_2174[84] | one_hot_2174[85] | one_hot_2174[86] | one_hot_2174[87] | one_hot_2174[88] | one_hot_2174[89] | one_hot_2174[90] | one_hot_2174[91] | one_hot_2174[92] | one_hot_2174[93] | one_hot_2174[94] | one_hot_2174[95] | one_hot_2174[96] | one_hot_2174[97] | one_hot_2174[98] | one_hot_2174[99] | one_hot_2174[100] | one_hot_2174[101] | one_hot_2174[102] | one_hot_2174[103] | one_hot_2174[104] | one_hot_2174[105] | one_hot_2174[106] | one_hot_2174[107] | one_hot_2174[108] | one_hot_2174[109] | one_hot_2174[110] | one_hot_2174[111] | one_hot_2174[112] | one_hot_2174[113] | one_hot_2174[114] | one_hot_2174[115] | one_hot_2174[116] | one_hot_2174[117] | one_hot_2174[118] | one_hot_2174[119] | one_hot_2174[120] | one_hot_2174[121] | one_hot_2174[122] | one_hot_2174[123] | one_hot_2174[124] | one_hot_2174[125] | one_hot_2174[126] | one_hot_2174[127], one_hot_2174[32] | one_hot_2174[33] | one_hot_2174[34] | one_hot_2174[35] | one_hot_2174[36] | one_hot_2174[37] | one_hot_2174[38] | one_hot_2174[39] | one_hot_2174[40] | one_hot_2174[41] | one_hot_2174[42] | one_hot_2174[43] | one_hot_2174[44] | one_hot_2174[45] | one_hot_2174[46] | one_hot_2174[47] | one_hot_2174[48] | one_hot_2174[49] | one_hot_2174[50] | one_hot_2174[51] | one_hot_2174[52] | one_hot_2174[53] | one_hot_2174[54] | one_hot_2174[55] | one_hot_2174[56] | one_hot_2174[57] | one_hot_2174[58] | one_hot_2174[59] | one_hot_2174[60] | one_hot_2174[61] | one_hot_2174[62] | one_hot_2174[63] | one_hot_2174[96] | one_hot_2174[97] | one_hot_2174[98] | one_hot_2174[99] | one_hot_2174[100] | one_hot_2174[101] | one_hot_2174[102] | one_hot_2174[103] | one_hot_2174[104] | one_hot_2174[105] | one_hot_2174[106] | one_hot_2174[107] | one_hot_2174[108] | one_hot_2174[109] | one_hot_2174[110] | one_hot_2174[111] | one_hot_2174[112] | one_hot_2174[113] | one_hot_2174[114] | one_hot_2174[115] | one_hot_2174[116] | one_hot_2174[117] | one_hot_2174[118] | one_hot_2174[119] | one_hot_2174[120] | one_hot_2174[121] | one_hot_2174[122] | one_hot_2174[123] | one_hot_2174[124] | one_hot_2174[125] | one_hot_2174[126] | one_hot_2174[127] | one_hot_2174[160] | one_hot_2174[161], one_hot_2174[16] | one_hot_2174[17] | one_hot_2174[18] | one_hot_2174[19] | one_hot_2174[20] | one_hot_2174[21] | one_hot_2174[22] | one_hot_2174[23] | one_hot_2174[24] | one_hot_2174[25] | one_hot_2174[26] | one_hot_2174[27] | one_hot_2174[28] | one_hot_2174[29] | one_hot_2174[30] | one_hot_2174[31] | one_hot_2174[48] | one_hot_2174[49] | one_hot_2174[50] | one_hot_2174[51] | one_hot_2174[52] | one_hot_2174[53] | one_hot_2174[54] | one_hot_2174[55] | one_hot_2174[56] | one_hot_2174[57] | one_hot_2174[58] | one_hot_2174[59] | one_hot_2174[60] | one_hot_2174[61] | one_hot_2174[62] | one_hot_2174[63] | one_hot_2174[80] | one_hot_2174[81] | one_hot_2174[82] | one_hot_2174[83] | one_hot_2174[84] | one_hot_2174[85] | one_hot_2174[86] | one_hot_2174[87] | one_hot_2174[88] | one_hot_2174[89] | one_hot_2174[90] | one_hot_2174[91] | one_hot_2174[92] | one_hot_2174[93] | one_hot_2174[94] | one_hot_2174[95] | one_hot_2174[112] | one_hot_2174[113] | one_hot_2174[114] | one_hot_2174[115] | one_hot_2174[116] | one_hot_2174[117] | one_hot_2174[118] | one_hot_2174[119] | one_hot_2174[120] | one_hot_2174[121] | one_hot_2174[122] | one_hot_2174[123] | one_hot_2174[124] | one_hot_2174[125] | one_hot_2174[126] | one_hot_2174[127] | one_hot_2174[144] | one_hot_2174[145] | one_hot_2174[146] | one_hot_2174[147] | one_hot_2174[148] | one_hot_2174[149] | one_hot_2174[150] | one_hot_2174[151] | one_hot_2174[152] | one_hot_2174[153] | one_hot_2174[154] | one_hot_2174[155] | one_hot_2174[156] | one_hot_2174[157] | one_hot_2174[158] | one_hot_2174[159], one_hot_2174[8] | one_hot_2174[9] | one_hot_2174[10] | one_hot_2174[11] | one_hot_2174[12] | one_hot_2174[13] | one_hot_2174[14] | one_hot_2174[15] | one_hot_2174[24] | one_hot_2174[25] | one_hot_2174[26] | one_hot_2174[27] | one_hot_2174[28] | one_hot_2174[29] | one_hot_2174[30] | one_hot_2174[31] | one_hot_2174[40] | one_hot_2174[41] | one_hot_2174[42] | one_hot_2174[43] | one_hot_2174[44] | one_hot_2174[45] | one_hot_2174[46] | one_hot_2174[47] | one_hot_2174[56] | one_hot_2174[57] | one_hot_2174[58] | one_hot_2174[59] | one_hot_2174[60] | one_hot_2174[61] | one_hot_2174[62] | one_hot_2174[63] | one_hot_2174[72] | one_hot_2174[73] | one_hot_2174[74] | one_hot_2174[75] | one_hot_2174[76] | one_hot_2174[77] | one_hot_2174[78] | one_hot_2174[79] | one_hot_2174[88] | one_hot_2174[89] | one_hot_2174[90] | one_hot_2174[91] | one_hot_2174[92] | one_hot_2174[93] | one_hot_2174[94] | one_hot_2174[95] | one_hot_2174[104] | one_hot_2174[105] | one_hot_2174[106] | one_hot_2174[107] | one_hot_2174[108] | one_hot_2174[109] | one_hot_2174[110] | one_hot_2174[111] | one_hot_2174[120] | one_hot_2174[121] | one_hot_2174[122] | one_hot_2174[123] | one_hot_2174[124] | one_hot_2174[125] | one_hot_2174[126] | one_hot_2174[127] | one_hot_2174[136] | one_hot_2174[137] | one_hot_2174[138] | one_hot_2174[139] | one_hot_2174[140] | one_hot_2174[141] | one_hot_2174[142] | one_hot_2174[143] | one_hot_2174[152] | one_hot_2174[153] | one_hot_2174[154] | one_hot_2174[155] | one_hot_2174[156] | one_hot_2174[157] | one_hot_2174[158] | one_hot_2174[159], one_hot_2174[4] | one_hot_2174[5] | one_hot_2174[6] | one_hot_2174[7] | one_hot_2174[12] | one_hot_2174[13] | one_hot_2174[14] | one_hot_2174[15] | one_hot_2174[20] | one_hot_2174[21] | one_hot_2174[22] | one_hot_2174[23] | one_hot_2174[28] | one_hot_2174[29] | one_hot_2174[30] | one_hot_2174[31] | one_hot_2174[36] | one_hot_2174[37] | one_hot_2174[38] | one_hot_2174[39] | one_hot_2174[44] | one_hot_2174[45] | one_hot_2174[46] | one_hot_2174[47] | one_hot_2174[52] | one_hot_2174[53] | one_hot_2174[54] | one_hot_2174[55] | one_hot_2174[60] | one_hot_2174[61] | one_hot_2174[62] | one_hot_2174[63] | one_hot_2174[68] | one_hot_2174[69] | one_hot_2174[70] | one_hot_2174[71] | one_hot_2174[76] | one_hot_2174[77] | one_hot_2174[78] | one_hot_2174[79] | one_hot_2174[84] | one_hot_2174[85] | one_hot_2174[86] | one_hot_2174[87] | one_hot_2174[92] | one_hot_2174[93] | one_hot_2174[94] | one_hot_2174[95] | one_hot_2174[100] | one_hot_2174[101] | one_hot_2174[102] | one_hot_2174[103] | one_hot_2174[108] | one_hot_2174[109] | one_hot_2174[110] | one_hot_2174[111] | one_hot_2174[116] | one_hot_2174[117] | one_hot_2174[118] | one_hot_2174[119] | one_hot_2174[124] | one_hot_2174[125] | one_hot_2174[126] | one_hot_2174[127] | one_hot_2174[132] | one_hot_2174[133] | one_hot_2174[134] | one_hot_2174[135] | one_hot_2174[140] | one_hot_2174[141] | one_hot_2174[142] | one_hot_2174[143] | one_hot_2174[148] | one_hot_2174[149] | one_hot_2174[150] | one_hot_2174[151] | one_hot_2174[156] | one_hot_2174[157] | one_hot_2174[158] | one_hot_2174[159], one_hot_2174[2] | one_hot_2174[3] | one_hot_2174[6] | one_hot_2174[7] | one_hot_2174[10] | one_hot_2174[11] | one_hot_2174[14] | one_hot_2174[15] | one_hot_2174[18] | one_hot_2174[19] | one_hot_2174[22] | one_hot_2174[23] | one_hot_2174[26] | one_hot_2174[27] | one_hot_2174[30] | one_hot_2174[31] | one_hot_2174[34] | one_hot_2174[35] | one_hot_2174[38] | one_hot_2174[39] | one_hot_2174[42] | one_hot_2174[43] | one_hot_2174[46] | one_hot_2174[47] | one_hot_2174[50] | one_hot_2174[51] | one_hot_2174[54] | one_hot_2174[55] | one_hot_2174[58] | one_hot_2174[59] | one_hot_2174[62] | one_hot_2174[63] | one_hot_2174[66] | one_hot_2174[67] | one_hot_2174[70] | one_hot_2174[71] | one_hot_2174[74] | one_hot_2174[75] | one_hot_2174[78] | one_hot_2174[79] | one_hot_2174[82] | one_hot_2174[83] | one_hot_2174[86] | one_hot_2174[87] | one_hot_2174[90] | one_hot_2174[91] | one_hot_2174[94] | one_hot_2174[95] | one_hot_2174[98] | one_hot_2174[99] | one_hot_2174[102] | one_hot_2174[103] | one_hot_2174[106] | one_hot_2174[107] | one_hot_2174[110] | one_hot_2174[111] | one_hot_2174[114] | one_hot_2174[115] | one_hot_2174[118] | one_hot_2174[119] | one_hot_2174[122] | one_hot_2174[123] | one_hot_2174[126] | one_hot_2174[127] | one_hot_2174[130] | one_hot_2174[131] | one_hot_2174[134] | one_hot_2174[135] | one_hot_2174[138] | one_hot_2174[139] | one_hot_2174[142] | one_hot_2174[143] | one_hot_2174[146] | one_hot_2174[147] | one_hot_2174[150] | one_hot_2174[151] | one_hot_2174[154] | one_hot_2174[155] | one_hot_2174[158] | one_hot_2174[159], one_hot_2174[1] | one_hot_2174[3] | one_hot_2174[5] | one_hot_2174[7] | one_hot_2174[9] | one_hot_2174[11] | one_hot_2174[13] | one_hot_2174[15] | one_hot_2174[17] | one_hot_2174[19] | one_hot_2174[21] | one_hot_2174[23] | one_hot_2174[25] | one_hot_2174[27] | one_hot_2174[29] | one_hot_2174[31] | one_hot_2174[33] | one_hot_2174[35] | one_hot_2174[37] | one_hot_2174[39] | one_hot_2174[41] | one_hot_2174[43] | one_hot_2174[45] | one_hot_2174[47] | one_hot_2174[49] | one_hot_2174[51] | one_hot_2174[53] | one_hot_2174[55] | one_hot_2174[57] | one_hot_2174[59] | one_hot_2174[61] | one_hot_2174[63] | one_hot_2174[65] | one_hot_2174[67] | one_hot_2174[69] | one_hot_2174[71] | one_hot_2174[73] | one_hot_2174[75] | one_hot_2174[77] | one_hot_2174[79] | one_hot_2174[81] | one_hot_2174[83] | one_hot_2174[85] | one_hot_2174[87] | one_hot_2174[89] | one_hot_2174[91] | one_hot_2174[93] | one_hot_2174[95] | one_hot_2174[97] | one_hot_2174[99] | one_hot_2174[101] | one_hot_2174[103] | one_hot_2174[105] | one_hot_2174[107] | one_hot_2174[109] | one_hot_2174[111] | one_hot_2174[113] | one_hot_2174[115] | one_hot_2174[117] | one_hot_2174[119] | one_hot_2174[121] | one_hot_2174[123] | one_hot_2174[125] | one_hot_2174[127] | one_hot_2174[129] | one_hot_2174[131] | one_hot_2174[133] | one_hot_2174[135] | one_hot_2174[137] | one_hot_2174[139] | one_hot_2174[141] | one_hot_2174[143] | one_hot_2174[145] | one_hot_2174[147] | one_hot_2174[149] | one_hot_2174[151] | one_hot_2174[153] | one_hot_2174[155] | one_hot_2174[157] | one_hot_2174[159] | one_hot_2174[161]}; assign cancel__2 = |encode_2175[7:1]; assign carry_bit__2 = abs_fraction__2[160]; assign add_2184 = {cancel__1, encode_2175} + 9'h1ff; assign carry_fraction__1 = abs_fraction__2[160:1]; assign concat_2192 = {~(carry_bit__2 | cancel__2), ~(carry_bit__2 | ~cancel__2), ~(~carry_bit__2 | cancel__2)}; assign carry_fraction__4 = carry_fraction__1 | {159'h0000_0000_0000_0000_0000_0000_0000_0000_0000_0000, abs_fraction__2[0]}; assign cancel_fraction__2 = {{152{add_2184[8]}}, add_2184} >= 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_2184[8]}}, add_2184}; assign shifted_fraction = carry_fraction__4 & {160{concat_2192[0]}} | cancel_fraction__2 & {160{concat_2192[1]}} | abs_fraction__2[159:0] & {160{concat_2192[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_2204 = {cancel__1, shifted_fraction[159:107]}; assign add_2207 = concat_2204 + 54'h00_0000_0000_0001; assign rounded_fraction__1 = normal_chunk > half_of_extra | half_way_chunk == 2'h3 ? add_2207 : concat_2204; assign sub_2213 = 8'h00 - {cancel__1, encode_2175[7:1]}; assign greater_exp = overflow_detected ? ab_bexp__2 : {cancel__1, c_bexp__2}; assign rounding_carry = rounded_fraction__1[53]; assign concat_2218 = {sub_2213, ~encode_2175[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_2218[8]}}, concat_2218}; 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_2232 = ab_bexp__2 == 12'hfff; assign eq_2233 = ab_fraction__2 == 106'h000_0000_0000_0000_0000_0000_0000; assign eq_2234 = c_bexp__2 == max_exp; assign eq_2235 = c_fraction__2 == 52'h0_0000_0000_0000; assign bexp__6 = bexp__2[11:0] & {12{~bexp__2[12]}}; assign and_2240 = eq_2232 & eq_2233; assign is_operand_inf = and_2240 | eq_2234 & eq_2235; assign and_reduce_2249 = &bexp__6[10:0]; assign has_pos_inf = ~(~(eq_2232 & eq_2233) | ab_sign__2) | ~(~eq_2234 | ~eq_2235 | c_sign__2); assign has_neg_inf = and_2240 & ab_sign__2 | eq_2234 & eq_2235 & c_sign__2; assign is_result_nan = ~(~eq_2232 | eq_2233) | ~(~eq_2234 | eq_2235) | 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_2249 | bexp__6 == 12'h000)}}; assign one_hot_2279 = {concat_2192[2:0] == 3'h0, concat_2192[2] && concat_2192[1:0] == 2'h0, concat_2192[1] && !concat_2192[0], concat_2192[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_2249 ? max_exp : bexp__6[10:0]; assign result_fraction__4 = is_result_nan ? 52'h1_0000_0000_0000 : result_fraction__3; assign nand_2272 = ~(carry_bit__2 & cancel__2); assign eq_2281 = concat_2192 == one_hot_2279[2:0]; assign out = {result_sign__2, result_exp__2, result_fraction__4}; endmodule