combinational_critical_path { total_delay_ps: 1437 nodes { total_delay_ps: 1437 op: OP_TUPLE id: 493 ir: "tuple.493: (bits[1], bits[8], bits[15]) = tuple(nor.490: bits[1], sel.499: bits[8], sel.492: bits[15], id=493, pos=[(0,3516,4), (2,169,31)])" } nodes { total_delay_ps: 1437 node_delay_ps: 127 op: OP_SEL id: 492 ir: "sel.492: bits[15] = sel(is_result_nan, cases=[and.518, literal.489], id=492, pos=[(0,3516,4), (2,169,31)])" } nodes { total_delay_ps: 1310 node_delay_ps: 23 op: OP_AND id: 518 ir: "and.518: bits[15] = and(result_fraction__1: bits[15], sign_ext.517: bits[15], id=518, pos=[(0,3519,11), (2,169,31)])" } nodes { total_delay_ps: 1287 node_delay_ps: 17 op: OP_SIGN_EXT id: 517 ir: "sign_ext.517: bits[15] = sign_ext(not.516: bits[1], new_bit_count=15, id=517, pos=[(0,3519,11), (2,169,31)])" } nodes { total_delay_ps: 1270 op: OP_NOT id: 516 ir: "not.516: bits[1] = not(or.506: bits[1], id=516, pos=[(0,3519,11), (2,169,31)])" } nodes { total_delay_ps: 1270 node_delay_ps: 27 op: OP_OR id: 506 ir: "or.506: bits[1] = or(sge.482: bits[1], sle.475: bits[1], has_inf_arg: bits[1], id=506, pos=[(0,3519,11), (2,169,31)])" } nodes { total_delay_ps: 1243 node_delay_ps: 150 op: OP_SGE id: 482 ir: "sge.482: bits[1] = sge(result_exp__1: bits[10], literal.474: bits[10], id=482, pos=[(0,3519,25), (2,169,31)])" } nodes { total_delay_ps: 1093 node_delay_ps: 119 op: OP_SEL id: 467 ir: "result_exp__1: bits[10] = sel(has_inf_arg, cases=[result_exp, literal.465], id=467, pos=[(0,3478,21), (0,3510,29), (2,169,31)])" } nodes { total_delay_ps: 974 node_delay_ps: 235 op: OP_ADD id: 464 ir: "result_exp: bits[10] = add(exp__1: bits[10], concat.461: bits[10], id=464, pos=[(0,3464,14), (0,3510,29), (2,169,31)])" } nodes { total_delay_ps: 739 op: OP_CONCAT id: 461 ir: "concat.461: bits[10] = concat(literal.455: bits[9], in_upper_binade: bits[1], id=461, pos=[(0,3510,29), (2,169,31)])" } nodes { total_delay_ps: 739 op: OP_BIT_SLICE id: 456 ir: "in_upper_binade: bits[1] = bit_slice(full_product: bits[16], start=15, width=1, id=456, pos=[(1,357,61), (0,3459,34), (0,3510,29), (2,169,31)])" } nodes { total_delay_ps: 739 node_delay_ps: 23 op: OP_AND id: 509 ir: "full_product: bits[16] = and(umul.442: bits[16], sign_ext.508: bits[16], id=509, pos=[(0,3435,8), (0,3510,29), (2,169,31)])" } nodes { total_delay_ps: 716 node_delay_ps: 716 op: OP_UMUL id: 442 ir: "umul.442: bits[16] = umul(x_significand__2: bits[8], y_significand__2: bits[8], id=442, pos=[(1,224,5), (0,3435,61), (0,3510,29), (2,169,31)])" } nodes { op: OP_CONCAT id: 439 ir: "y_significand__2: bits[8] = concat(literal.431: bits[1], y_fraction__2: bits[7], id=439, pos=[(0,3431,24), (0,3510,29), (2,169,31)])" } nodes { op: OP_TUPLE_INDEX id: 433 ir: "y_fraction__2: bits[7] = tuple_index(y: (bits[1], bits[8], bits[7]), index=2, id=433, pos=[(0,3431,33), (0,3510,29), (2,169,31)])" } nodes { op: OP_PARAM id: 168 ir: "y: (bits[1], bits[8], bits[7]) = param(name=y, id=168)" } } all_nodes { op: OP_PARAM id: 167 ir: "x: (bits[1], bits[8], bits[7]) = param(name=x, id=167)" } all_nodes { op: OP_PARAM id: 168 ir: "y: (bits[1], bits[8], bits[7]) = param(name=y, id=168)" } all_nodes { op: OP_TUPLE_INDEX id: 428 ir: "x_bexp__2: bits[8] = tuple_index(x: (bits[1], bits[8], bits[7]), index=1, id=428, pos=[(0,3444,16), (0,3510,29), (2,169,31)])" } all_nodes { op: OP_LITERAL id: 430 ir: "literal.430: bits[8] = literal(value=0, id=430, pos=[(0,804,14), (0,3427,40), (0,3510,29), (2,169,31)])" } all_nodes { op: OP_TUPLE_INDEX id: 429 ir: "y_bexp__2: bits[8] = tuple_index(y: (bits[1], bits[8], bits[7]), index=1, id=429, pos=[(0,3444,45), (0,3510,29), (2,169,31)])" } all_nodes { op: OP_LITERAL id: 427 ir: "literal.427: bits[1] = literal(value=0, id=427, pos=[(0,3460,74), (0,3510,29), (2,169,31)])" } all_nodes { op: OP_LITERAL id: 431 ir: "literal.431: bits[1] = literal(value=1, id=431, pos=[(0,3430,24), (0,3510,29), (2,169,31)])" } all_nodes { op: OP_TUPLE_INDEX id: 432 ir: "x_fraction__2: bits[7] = tuple_index(x: (bits[1], bits[8], bits[7]), index=2, id=432, pos=[(0,3430,33), (0,3510,29), (2,169,31)])" } all_nodes { op: OP_TUPLE_INDEX id: 433 ir: "y_fraction__2: bits[7] = tuple_index(y: (bits[1], bits[8], bits[7]), index=2, id=433, pos=[(0,3431,33), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 96 op: OP_EQ id: 436 ir: "eq.436: bits[1] = eq(x_bexp__2: bits[8], literal.430: bits[8], id=436, pos=[(0,804,5), (0,3427,40), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 96 op: OP_EQ id: 437 ir: "eq.437: bits[1] = eq(y_bexp__2: bits[8], literal.430: bits[8], id=437, pos=[(0,804,5), (0,3427,67), (0,3510,29), (2,169,31)])" } all_nodes { op: OP_CONCAT id: 434 ir: "concat.434: bits[9] = concat(literal.427: bits[1], x_bexp__2: bits[8], id=434, pos=[(0,3510,29), (2,169,31)])" } all_nodes { op: OP_CONCAT id: 435 ir: "concat.435: bits[9] = concat(literal.427: bits[1], y_bexp__2: bits[8], id=435, pos=[(0,3510,29), (2,169,31)])" } all_nodes { op: OP_CONCAT id: 438 ir: "x_significand__2: bits[8] = concat(literal.431: bits[1], x_fraction__2: bits[7], id=438, pos=[(0,3430,24), (0,3510,29), (2,169,31)])" } all_nodes { op: OP_CONCAT id: 439 ir: "y_significand__2: bits[8] = concat(literal.431: bits[1], y_fraction__2: bits[7], id=439, pos=[(0,3431,24), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 519 ir: "nor.519: bits[1] = nor(eq.436: bits[1], eq.437: bits[1], id=519, pos=[(0,3435,8), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 224 op: OP_ADD id: 440 ir: "add.440: bits[9] = add(concat.434: bits[9], concat.435: bits[9], id=440, pos=[(0,3444,16), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 716 op: OP_UMUL id: 442 ir: "umul.442: bits[16] = umul(x_significand__2: bits[8], y_significand__2: bits[8], id=442, pos=[(1,224,5), (0,3435,61), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 508 ir: "sign_ext.508: bits[16] = sign_ext(nor.519: bits[1], new_bit_count=16, id=508, pos=[(0,3435,8), (0,3510,29), (2,169,31)])" } all_nodes { op: OP_LITERAL id: 444 ir: "literal.444: bits[8] = literal(value=255, id=444, pos=[(0,3516,4), (2,169,31)])" } all_nodes { op: OP_LITERAL id: 445 ir: "literal.445: bits[7] = literal(value=0, id=445, pos=[(0,71,57), (0,3483,28), (0,3510,29), (2,169,31)])" } all_nodes { op: OP_CONCAT id: 446 ir: "concat.446: bits[10] = concat(literal.427: bits[1], add.440: bits[9], id=446, pos=[(0,3444,16), (0,3510,29), (2,169,31)])" } all_nodes { op: OP_LITERAL id: 447 ir: "literal.447: bits[10] = literal(value=897, id=447, pos=[(0,3444,16), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 509 ir: "full_product: bits[16] = and(umul.442: bits[16], sign_ext.508: bits[16], id=509, pos=[(0,3435,8), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 96 op: OP_EQ id: 449 ir: "eq.449: bits[1] = eq(x_bexp__2: bits[8], literal.444: bits[8], id=449, pos=[(0,71,6), (0,3483,28), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 93 op: OP_EQ id: 450 ir: "eq.450: bits[1] = eq(x_fraction__2: bits[7], literal.445: bits[7], id=450, pos=[(0,96,44), (0,3477,31), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 96 op: OP_EQ id: 451 ir: "eq.451: bits[1] = eq(y_bexp__2: bits[8], literal.444: bits[8], id=451, pos=[(0,71,6), (0,3483,41), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 93 op: OP_EQ id: 452 ir: "eq.452: bits[1] = eq(y_fraction__2: bits[7], literal.445: bits[7], id=452, pos=[(0,96,44), (0,3477,44), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 235 op: OP_ADD id: 453 ir: "exp: bits[10] = add(concat.446: bits[10], literal.447: bits[10], id=453, pos=[(0,3444,16), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 511 ir: "sign_ext.511: bits[10] = sign_ext(nor.519: bits[1], new_bit_count=10, id=511, pos=[(0,3453,14), (0,3510,29), (2,169,31)])" } all_nodes { op: OP_LITERAL id: 455 ir: "literal.455: bits[9] = literal(value=0, id=455, pos=[(0,3510,29), (2,169,31)])" } all_nodes { op: OP_BIT_SLICE id: 456 ir: "in_upper_binade: bits[1] = bit_slice(full_product: bits[16], start=15, width=1, id=456, pos=[(1,357,61), (0,3459,34), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 458 ir: "and.458: bits[1] = and(eq.449: bits[1], eq.450: bits[1], id=458, pos=[(0,96,6), (0,3477,31), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 459 ir: "and.459: bits[1] = and(eq.451: bits[1], eq.452: bits[1], id=459, pos=[(0,96,6), (0,3477,44), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 512 ir: "exp__1: bits[10] = and(exp: bits[10], sign_ext.511: bits[10], id=512, pos=[(0,3453,14), (0,3510,29), (2,169,31)])" } all_nodes { op: OP_CONCAT id: 461 ir: "concat.461: bits[10] = concat(literal.455: bits[9], in_upper_binade: bits[1], id=461, pos=[(0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 19 op: OP_OR id: 463 ir: "has_inf_arg: bits[1] = or(and.458: bits[1], and.459: bits[1], id=463, pos=[(0,3484,28), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 235 op: OP_ADD id: 464 ir: "result_exp: bits[10] = add(exp__1: bits[10], concat.461: bits[10], id=464, pos=[(0,3464,14), (0,3510,29), (2,169,31)])" } all_nodes { op: OP_LITERAL id: 465 ir: "literal.465: bits[10] = literal(value=511, id=465, pos=[(0,3478,62), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 119 op: OP_SEL id: 467 ir: "result_exp__1: bits[10] = sel(has_inf_arg, cases=[result_exp, literal.465], id=467, pos=[(0,3478,21), (0,3510,29), (2,169,31)])" } all_nodes { op: OP_LITERAL id: 474 ir: "literal.474: bits[10] = literal(value=255, id=474, pos=[(2,169,31)])" } all_nodes { op: OP_LITERAL id: 454 ir: "literal.454: bits[10] = literal(value=0, id=454, pos=[(0,3522,34), (2,169,31)])" } all_nodes { node_delay_ps: 150 op: OP_SGE id: 482 ir: "sge.482: bits[1] = sge(result_exp__1: bits[10], literal.474: bits[10], id=482, pos=[(0,3519,25), (2,169,31)])" } all_nodes { node_delay_ps: 147 op: OP_SLE id: 475 ir: "sle.475: bits[1] = sle(result_exp__1: bits[10], literal.454: bits[10], id=475, pos=[(0,3522,25), (2,169,31)])" } all_nodes { op: OP_NOT id: 470 ir: "not.470: bits[1] = not(eq.449: bits[1], id=470, pos=[(0,71,6), (0,3483,28), (0,3510,29), (2,169,31)])" } all_nodes { op: OP_NOT id: 471 ir: "not.471: bits[1] = not(eq.451: bits[1], id=471, pos=[(0,71,6), (0,3483,41), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 19 op: OP_OR id: 441 ir: "has_0_arg: bits[1] = or(eq.436: bits[1], eq.437: bits[1], id=441, pos=[(0,3427,40), (0,3510,29), (2,169,31)])" } all_nodes { op: OP_BIT_SLICE id: 505 ir: "bit_slice.505: bits[14] = bit_slice(full_product: bits[16], start=0, width=14, id=505, pos=[(0,3460,30), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 27 op: OP_OR id: 506 ir: "or.506: bits[1] = or(sge.482: bits[1], sle.475: bits[1], has_inf_arg: bits[1], id=506, pos=[(0,3519,11), (2,169,31)])" } all_nodes { op: OP_TUPLE_INDEX id: 472 ir: "x_sign__2: bits[1] = tuple_index(x: (bits[1], bits[8], bits[7]), index=0, id=472, pos=[(0,3467,23), (0,3510,29), (2,169,31)])" } all_nodes { op: OP_TUPLE_INDEX id: 473 ir: "y_sign__2: bits[1] = tuple_index(y: (bits[1], bits[8], bits[7]), index=0, id=473, pos=[(0,3467,33), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 478 ir: "nor.478: bits[1] = nor(not.470: bits[1], eq.450: bits[1], id=478, pos=[(0,71,6), (0,3483,28), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 479 ir: "nor.479: bits[1] = nor(not.471: bits[1], eq.452: bits[1], id=479, pos=[(0,71,6), (0,3483,41), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 480 ir: "and.480: bits[1] = and(has_0_arg: bits[1], has_inf_arg: bits[1], id=480, pos=[(0,3485,40), (0,3510,29), (2,169,31)])" } all_nodes { op: OP_NOT id: 513 ir: "not.513: bits[1] = not(sle.475: bits[1], id=513, pos=[(0,3522,11), (2,169,31)])" } all_nodes { op: OP_CONCAT id: 504 ir: "concat.504: bits[15] = concat(bit_slice.505: bits[14], literal.427: bits[1], id=504, pos=[(0,3460,30), (0,3510,29), (2,169,31)])" } all_nodes { op: OP_BIT_SLICE id: 501 ir: "bit_slice.501: bits[15] = bit_slice(umul.442: bits[16], start=0, width=15, id=501, pos=[(0,3460,30), (0,3510,29), (2,169,31)])" } all_nodes { op: OP_NOT id: 516 ir: "not.516: bits[1] = not(or.506: bits[1], id=516, pos=[(0,3519,11), (2,169,31)])" } all_nodes { node_delay_ps: 49 op: OP_XOR id: 481 ir: "result_sign: bits[1] = xor(x_sign__2: bits[1], y_sign__2: bits[1], id=481, pos=[(0,3467,23), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 27 op: OP_OR id: 485 ir: "is_result_nan: bits[1] = or(nor.478: bits[1], nor.479: bits[1], and.480: bits[1], id=485, pos=[(0,3485,24), (0,3510,29), (2,169,31)])" } all_nodes { op: OP_BIT_SLICE id: 476 ir: "bit_slice.476: bits[8] = bit_slice(result_exp__1: bits[10], start=0, width=8, id=476, pos=[(2,169,31)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 514 ir: "sign_ext.514: bits[8] = sign_ext(not.513: bits[1], new_bit_count=8, id=514, pos=[(0,3522,11), (2,169,31)])" } all_nodes { node_delay_ps: 127 op: OP_SEL id: 502 ir: "result_fraction__1: bits[15] = sel(in_upper_binade, cases=[concat.504, bit_slice.501], id=502, pos=[(0,3460,30), (0,3510,29), (2,169,31)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 517 ir: "sign_ext.517: bits[15] = sign_ext(not.516: bits[1], new_bit_count=15, id=517, pos=[(0,3519,11), (2,169,31)])" } all_nodes { op: OP_NOT id: 486 ir: "not.486: bits[1] = not(result_sign: bits[1], id=486, pos=[(0,3516,4), (2,169,31)])" } all_nodes { node_delay_ps: 19 op: OP_OR id: 498 ir: "or.498: bits[1] = or(is_result_nan: bits[1], sge.482: bits[1], id=498, pos=[(0,3516,4), (2,169,31)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 515 ir: "and.515: bits[8] = and(bit_slice.476: bits[8], sign_ext.514: bits[8], id=515, pos=[(0,3522,11), (2,169,31)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 518 ir: "and.518: bits[15] = and(result_fraction__1: bits[15], sign_ext.517: bits[15], id=518, pos=[(0,3519,11), (2,169,31)])" } all_nodes { op: OP_LITERAL id: 489 ir: "literal.489: bits[15] = literal(value=16384, id=489, pos=[(0,3516,4), (2,169,31)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 490 ir: "nor.490: bits[1] = nor(is_result_nan: bits[1], not.486: bits[1], id=490, pos=[(0,3516,4), (2,169,31)])" } all_nodes { node_delay_ps: 115 op: OP_SEL id: 499 ir: "sel.499: bits[8] = sel(or.498, cases=[and.515, literal.444], id=499, pos=[(0,3516,4), (2,169,31)])" } all_nodes { node_delay_ps: 127 op: OP_SEL id: 492 ir: "sel.492: bits[15] = sel(is_result_nan, cases=[and.518, literal.489], id=492, pos=[(0,3516,4), (2,169,31)])" } all_nodes { op: OP_TUPLE id: 493 ir: "tuple.493: (bits[1], bits[8], bits[15]) = tuple(nor.490: bits[1], sel.499: bits[8], sel.492: bits[15], id=493, pos=[(0,3516,4), (2,169,31)])" }