combinational_critical_path { total_delay_ps: 1126 nodes { total_delay_ps: 1126 op: OP_TUPLE id: 636 ir: "tuple.636: (bits[1], bits[5], bits[10]) = tuple(nor.644: bits[1], priority_sel.698: bits[5], concat.712: bits[10], id=636, pos=[(0,4600,22), (2,134,54)])" } nodes { total_delay_ps: 1126 node_delay_ps: 125 op: OP_PRIORITY_SEL id: 698 ir: "priority_sel.698: bits[5] = priority_sel(concat.724, cases=[EXPR_MASK, literal.576], default=sel.630, id=698, pos=[(0,4600,22), (2,134,54)])" } nodes { total_delay_ps: 1001 node_delay_ps: 106 op: OP_SEL id: 630 ir: "sel.630: bits[5] = sel(ult.626, cases=[f_bexp__2, sel.627], id=630, pos=[(0,4493,12), (0,4600,22), (2,134,54)])" } nodes { total_delay_ps: 895 node_delay_ps: 106 op: OP_SEL id: 627 ir: "sel.627: bits[5] = sel(nor.619, cases=[add.681, concat.761], id=627, pos=[(0,4495,19), (0,4600,22), (2,134,54)])" } nodes { total_delay_ps: 789 node_delay_ps: 164 op: OP_ADD id: 681 ir: "add.681: bits[5] = add(f_bexp__2: bits[5], and.683: bits[5], id=681)" } nodes { total_delay_ps: 625 node_delay_ps: 23 op: OP_AND id: 683 ir: "and.683: bits[5] = and(concat.601: bits[5], sign_ext.682: bits[5], id=683)" } nodes { total_delay_ps: 602 op: OP_CONCAT id: 601 ir: "concat.601: bits[5] = concat(literal.595: bits[4], bit_slice.596: bits[1], id=601, pos=[(0,4505,45), (0,4600,22), (2,134,54)])" } nodes { total_delay_ps: 602 op: OP_BIT_SLICE id: 596 ir: "bit_slice.596: bits[1] = bit_slice(fraction_up__2: bits[11], start=10, width=1, id=596, pos=[(0,4258,46), (0,4505,45), (0,4600,22), (2,134,54)])" } nodes { total_delay_ps: 602 node_delay_ps: 245 op: OP_ADD id: 591 ir: "fraction_up__2: bits[11] = add(concat.588: bits[11], concat.589: bits[11], id=591, pos=[(0,4255,9), (0,4505,45), (0,4600,22), (2,134,54)])" } nodes { total_delay_ps: 357 op: OP_CONCAT id: 589 ir: "concat.589: bits[11] = concat(literal.585: bits[1], fractional_mask__2: bits[10], id=589, pos=[(0,4505,45), (0,4600,22), (2,134,54)])" } nodes { total_delay_ps: 357 node_delay_ps: 176 op: OP_SHRL id: 587 ir: "fractional_mask__2: bits[10] = shrl(literal.583: bits[10], sign_ext.584: bits[32], id=587, pos=[(0,4270,40), (0,4508,47), (0,4600,22), (2,134,54)])" } nodes { total_delay_ps: 181 node_delay_ps: 17 op: OP_SIGN_EXT id: 584 ir: "sign_ext.584: bits[32] = sign_ext(exp: bits[5], new_bit_count=32, id=584, pos=[(0,4508,47), (0,4600,22), (2,134,54)])" } nodes { total_delay_ps: 164 node_delay_ps: 164 op: OP_ADD id: 580 ir: "exp: bits[5] = add(f_bexp__2: bits[5], literal.579: bits[5], id=580, pos=[(0,266,6), (0,4268,31), (0,4508,47), (0,4600,22), (2,134,54)])" } nodes { op: OP_LITERAL id: 579 ir: "literal.579: bits[5] = literal(value=17, id=579, pos=[(0,266,6), (0,4268,31), (0,4508,47), (0,4600,22), (2,134,54)])" } } all_nodes { op: OP_PARAM id: 222 ir: "f: (bits[1], bits[5], bits[10]) = param(name=f, id=222)" } all_nodes { op: OP_TUPLE_INDEX id: 575 ir: "f_bexp__2: bits[5] = tuple_index(f: (bits[1], bits[5], bits[10]), index=1, id=575, pos=[(0,804,5), (0,809,27), (0,4600,41), (2,134,54)])" } all_nodes { op: OP_LITERAL id: 579 ir: "literal.579: bits[5] = literal(value=17, id=579, pos=[(0,266,6), (0,4268,31), (0,4508,47), (0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 164 op: OP_ADD id: 580 ir: "exp: bits[5] = add(f_bexp__2: bits[5], literal.579: bits[5], id=580, pos=[(0,266,6), (0,4268,31), (0,4508,47), (0,4600,22), (2,134,54)])" } all_nodes { op: OP_LITERAL id: 583 ir: "literal.583: bits[10] = literal(value=1023, id=583, pos=[(0,4270,40), (0,4508,47), (0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 584 ir: "sign_ext.584: bits[32] = sign_ext(exp: bits[5], new_bit_count=32, id=584, pos=[(0,4508,47), (0,4600,22), (2,134,54)])" } all_nodes { op: OP_LITERAL id: 585 ir: "literal.585: bits[1] = literal(value=0, id=585, pos=[(0,4501,46), (0,4600,22), (2,134,54)])" } all_nodes { op: OP_TUPLE_INDEX id: 581 ir: "tuple_index.581: bits[10] = tuple_index(f: (bits[1], bits[5], bits[10]), index=2, id=581, pos=[(0,809,4), (0,4600,41), (2,134,54)])" } all_nodes { node_delay_ps: 176 op: OP_SHRL id: 587 ir: "fractional_mask__2: bits[10] = shrl(literal.583: bits[10], sign_ext.584: bits[32], id=587, pos=[(0,4270,40), (0,4508,47), (0,4600,22), (2,134,54)])" } all_nodes { op: OP_CONCAT id: 588 ir: "concat.588: bits[11] = concat(literal.585: bits[1], tuple_index.581: bits[10], id=588, pos=[(0,4505,45), (0,4600,22), (2,134,54)])" } all_nodes { op: OP_CONCAT id: 589 ir: "concat.589: bits[11] = concat(literal.585: bits[1], fractional_mask__2: bits[10], id=589, pos=[(0,4505,45), (0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 245 op: OP_ADD id: 591 ir: "fraction_up__2: bits[11] = add(concat.588: bits[11], concat.589: bits[11], id=591, pos=[(0,4255,9), (0,4505,45), (0,4600,22), (2,134,54)])" } all_nodes { op: OP_LITERAL id: 576 ir: "literal.576: bits[5] = literal(value=0, id=576, pos=[(0,804,14), (0,809,27), (0,4600,41), (2,134,54)])" } all_nodes { op: OP_BIT_SLICE id: 597 ir: "bit_slice.597: bits[10] = bit_slice(fraction_up__2: bits[11], start=0, width=10, id=597, pos=[(0,4260,39), (0,4505,45), (0,4600,22), (2,134,54)])" } all_nodes { op: OP_BIT_SLICE id: 600 ir: "bit_slice.600: bits[4] = bit_slice(f_bexp__2: bits[5], start=0, width=4, id=600, pos=[(0,4215,5), (0,4495,43), (0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 85 op: OP_EQ id: 577 ir: "eq.577: bits[1] = eq(f_bexp__2: bits[5], literal.576: bits[5], id=577, pos=[(0,804,5), (0,809,27), (0,4600,41), (2,134,54)])" } all_nodes { op: OP_LITERAL id: 582 ir: "literal.582: bits[10] = literal(value=0, id=582, pos=[(0,131,73), (0,809,37), (0,4600,41), (2,134,54)])" } all_nodes { op: OP_NOT id: 602 ir: "not.602: bits[10] = not(tuple_index.581: bits[10], id=602, pos=[(0,4272,29), (0,4508,47), (0,4600,22), (2,134,54)])" } all_nodes { op: OP_NOT id: 603 ir: "not.603: bits[10] = not(bit_slice.597: bits[10], id=603, pos=[(0,4260,39), (0,4505,45), (0,4600,22), (2,134,54)])" } all_nodes { op: OP_BIT_SLICE id: 610 ir: "bit_slice.610: bits[1] = bit_slice(f_bexp__2: bits[5], start=4, width=1, id=610, pos=[(0,4215,5), (0,4495,43), (0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 48 op: OP_AND_REDUCE id: 611 ir: "and_reduce.611: bits[1] = and_reduce(bit_slice.600: bits[4], id=611, pos=[(0,4215,5), (0,4495,43), (0,4600,22), (2,134,54)])" } all_nodes { op: OP_LITERAL id: 595 ir: "literal.595: bits[4] = literal(value=0, id=595, pos=[(0,4505,45), (0,4600,22), (2,134,54)])" } all_nodes { op: OP_BIT_SLICE id: 596 ir: "bit_slice.596: bits[1] = bit_slice(fraction_up__2: bits[11], start=10, width=1, id=596, pos=[(0,4258,46), (0,4505,45), (0,4600,22), (2,134,54)])" } all_nodes { op: OP_TUPLE_INDEX id: 612 ir: "f_sign__1: bits[1] = tuple_index(f: (bits[1], bits[5], bits[10]), index=0, id=612, pos=[(0,809,60), (0,4600,41), (2,134,54)])" } all_nodes { op: OP_LITERAL id: 590 ir: "EXPR_MASK: bits[5] = literal(value=31, id=590, pos=[(0,39,36), (0,4488,13), (0,4600,22), (2,134,54)])" } all_nodes { op: OP_NOT id: 674 ir: "not.674: bits[1] = not(eq.577: bits[1], id=674, pos=[(0,4488,13), (0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 102 op: OP_NE id: 672 ir: "ne.672: bits[1] = ne(tuple_index.581: bits[10], literal.582: bits[10], id=672, pos=[(0,4488,13), (0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 615 ir: "fraction_integral__2: bits[10] = nor(not.602: bits[10], fractional_mask__2: bits[10], id=615, pos=[(0,4272,29), (0,4508,47), (0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 616 ir: "fraction_integral__4: bits[10] = nor(not.603: bits[10], fractional_mask__2: bits[10], id=616, pos=[(0,4260,39), (0,4505,45), (0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 19 op: OP_OR id: 730 ir: "or.730: bits[1] = or(bit_slice.610: bits[1], and_reduce.611: bits[1], id=730, pos=[(0,4495,19), (0,4600,22), (2,134,54)])" } all_nodes { op: OP_CONCAT id: 601 ir: "concat.601: bits[5] = concat(literal.595: bits[4], bit_slice.596: bits[1], id=601, pos=[(0,4505,45), (0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 682 ir: "sign_ext.682: bits[5] = sign_ext(f_sign__1: bits[1], new_bit_count=5, id=682)" } all_nodes { node_delay_ps: 85 op: OP_EQ id: 592 ir: "eq.592: bits[1] = eq(f_bexp__2: bits[5], EXPR_MASK: bits[5], id=592, pos=[(0,4488,13), (0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 25 op: OP_NAND id: 675 ir: "nand.675: bits[1] = nand(not.674: bits[1], ne.672: bits[1], id=675, pos=[(0,4488,13), (0,4600,22), (2,134,54)])" } all_nodes { op: OP_LITERAL id: 618 ir: "literal.618: bits[5] = literal(value=25, id=618, pos=[(0,4188,17), (0,4493,35), (0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 119 op: OP_SEL id: 622 ir: "sel.622: bits[10] = sel(f_sign__1, cases=[fraction_integral__2, fraction_integral__4], id=622, pos=[(0,4503,19), (0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 692 ir: "sign_ext.692: bits[10] = sign_ext(or.730: bits[1], new_bit_count=10, id=692, pos=[(0,4495,19), (0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 683 ir: "and.683: bits[5] = and(concat.601: bits[5], sign_ext.682: bits[5], id=683)" } all_nodes { op: OP_BIT_SLICE id: 747 ir: "bit_slice.747: bits[4] = bit_slice(sign_ext.682: bits[5], start=0, width=4, id=747, pos=[(0,4496,16), (0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 598 ir: "and.598: bits[1] = and(eq.592: bits[1], nand.675: bits[1], id=598, pos=[(0,4488,13), (0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 104 op: OP_ULT id: 626 ir: "ult.626: bits[1] = ult(f_bexp__2: bits[5], literal.618: bits[5], id=626, pos=[(0,4188,5), (0,4493,35), (0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 693 ir: "and.693: bits[10] = and(sel.622: bits[10], sign_ext.692: bits[10], id=693, pos=[(0,4495,19), (0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 619 ir: "nor.619: bits[1] = nor(bit_slice.610: bits[1], and_reduce.611: bits[1], id=619, pos=[(0,4215,5), (0,4495,43), (0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 164 op: OP_ADD id: 681 ir: "add.681: bits[5] = add(f_bexp__2: bits[5], and.683: bits[5], id=681)" } all_nodes { op: OP_CONCAT id: 761 ir: "concat.761: bits[5] = concat(literal.585: bits[1], bit_slice.747: bits[4], id=761, pos=[(0,4496,16), (0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 19 op: OP_OR id: 727 ir: "or.727: bits[1] = or(eq.577: bits[1], and.598: bits[1], id=727, pos=[(0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 769 ir: "and.769: bits[1] = and(eq.592: bits[1], ne.672: bits[1], id=769, pos=[(0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 119 op: OP_SEL id: 632 ir: "sel.632: bits[10] = sel(ult.626, cases=[tuple_index.581, and.693], id=632, pos=[(0,4493,12), (0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 763 ir: "nor.763: bits[1] = nor(eq.577: bits[1], eq.592: bits[1], id=763, pos=[(0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 106 op: OP_SEL id: 627 ir: "sel.627: bits[5] = sel(nor.619, cases=[add.681, concat.761], id=627, pos=[(0,4495,19), (0,4600,22), (2,134,54)])" } all_nodes { op: OP_CONCAT id: 725 ir: "concat.725: bits[2] = concat(or.727: bits[1], and.769: bits[1], id=725, pos=[(0,4600,22), (2,134,54)])" } all_nodes { op: OP_LITERAL id: 656 ir: "literal.656: bits[1] = literal(value=1, id=656, pos=[(0,4488,13), (0,4600,22), (2,134,54)])" } all_nodes { op: OP_BIT_SLICE id: 710 ir: "bit_slice.710: bits[1] = bit_slice(sel.632: bits[10], start=9, width=1, id=710, pos=[(0,4600,22), (2,134,54)])" } all_nodes { op: OP_BIT_SLICE id: 706 ir: "bit_slice.706: bits[9] = bit_slice(sel.632: bits[10], start=0, width=9, id=706, pos=[(0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 759 ir: "sign_ext.759: bits[9] = sign_ext(nor.763: bits[1], new_bit_count=9, id=759, pos=[(0,4600,22), (2,134,54)])" } all_nodes { op: OP_NOT id: 643 ir: "not.643: bits[1] = not(f_sign__1: bits[1], id=643, pos=[(0,4600,22), (2,134,54)])" } all_nodes { op: OP_CONCAT id: 724 ir: "concat.724: bits[2] = concat(eq.577: bits[1], eq.592: bits[1], id=724, pos=[(0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 106 op: OP_SEL id: 630 ir: "sel.630: bits[5] = sel(ult.626, cases=[f_bexp__2, sel.627], id=630, pos=[(0,4493,12), (0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 90 op: OP_PRIORITY_SEL id: 711 ir: "priority_sel.711: bits[1] = priority_sel(concat.725, cases=[literal.656, literal.585], default=bit_slice.710, id=711, pos=[(0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 760 ir: "and.760: bits[9] = and(bit_slice.706: bits[9], sign_ext.759: bits[9], id=760, pos=[(0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 644 ir: "nor.644: bits[1] = nor(and.769: bits[1], not.643: bits[1], id=644, pos=[(0,4600,22), (2,134,54)])" } all_nodes { node_delay_ps: 125 op: OP_PRIORITY_SEL id: 698 ir: "priority_sel.698: bits[5] = priority_sel(concat.724, cases=[EXPR_MASK, literal.576], default=sel.630, id=698, pos=[(0,4600,22), (2,134,54)])" } all_nodes { op: OP_CONCAT id: 712 ir: "concat.712: bits[10] = concat(priority_sel.711: bits[1], and.760: bits[9], id=712, pos=[(0,4600,22), (2,134,54)])" } all_nodes { op: OP_TUPLE id: 636 ir: "tuple.636: (bits[1], bits[5], bits[10]) = tuple(nor.644: bits[1], priority_sel.698: bits[5], concat.712: bits[10], id=636, pos=[(0,4600,22), (2,134,54)])" }