combinational_critical_path { total_delay_ps: 1126 nodes { total_delay_ps: 1126 op: OP_TUPLE id: 638 ir: "tuple.638: (bits[1], bits[5], bits[10]) = tuple(nor.646: bits[1], priority_sel.670: bits[5], concat.697: bits[10], id=638, pos=[(0,4397,21), (2,130,52)])" } nodes { total_delay_ps: 1126 node_delay_ps: 125 op: OP_PRIORITY_SEL id: 670 ir: "priority_sel.670: bits[5] = priority_sel(concat.716, cases=[EXPR_MASK, literal.578], default=sel.632, id=670, pos=[(0,4397,21), (2,130,52)])" } nodes { total_delay_ps: 1001 node_delay_ps: 106 op: OP_SEL id: 632 ir: "sel.632: bits[5] = sel(ult.628, cases=[f_bexp__2, sel.629], id=632, pos=[(0,4291,12), (0,4397,21), (2,130,52)])" } nodes { total_delay_ps: 895 node_delay_ps: 106 op: OP_SEL id: 629 ir: "sel.629: bits[5] = sel(nor.621, cases=[add.653, concat.797], id=629, pos=[(0,4293,19), (0,4397,21), (2,130,52)])" } nodes { total_delay_ps: 789 node_delay_ps: 164 op: OP_ADD id: 653 ir: "add.653: bits[5] = add(f_bexp__2: bits[5], and.659: bits[5], id=653)" } nodes { total_delay_ps: 625 node_delay_ps: 23 op: OP_AND id: 659 ir: "and.659: bits[5] = and(concat.603: bits[5], sign_ext.658: bits[5], id=659)" } nodes { total_delay_ps: 602 op: OP_CONCAT id: 603 ir: "concat.603: bits[5] = concat(literal.597: bits[4], bit_slice.598: bits[1], id=603, pos=[(0,4303,45), (0,4397,21), (2,130,52)])" } nodes { total_delay_ps: 602 op: OP_BIT_SLICE id: 598 ir: "bit_slice.598: bits[1] = bit_slice(fraction_up__2: bits[11], start=10, width=1, id=598, pos=[(0,4262,46), (0,4303,45), (0,4397,21), (2,130,52)])" } nodes { total_delay_ps: 602 node_delay_ps: 245 op: OP_ADD id: 593 ir: "fraction_up__2: bits[11] = add(concat.590: bits[11], concat.591: bits[11], id=593, pos=[(0,4259,9), (0,4303,45), (0,4397,21), (2,130,52)])" } nodes { total_delay_ps: 357 op: OP_CONCAT id: 591 ir: "concat.591: bits[11] = concat(literal.587: bits[1], fractional_mask__1: bits[10], id=591, pos=[(0,4303,45), (0,4397,21), (2,130,52)])" } nodes { total_delay_ps: 357 node_delay_ps: 176 op: OP_SHRL id: 589 ir: "fractional_mask__1: bits[10] = shrl(literal.585: bits[10], sign_ext.586: bits[32], id=589, pos=[(0,4240,40), (0,4303,45), (0,4397,21), (2,130,52)])" } nodes { total_delay_ps: 181 node_delay_ps: 17 op: OP_SIGN_EXT id: 586 ir: "sign_ext.586: bits[32] = sign_ext(exp__1: bits[5], new_bit_count=32, id=586, pos=[(0,4303,45), (0,4397,21), (2,130,52)])" } nodes { total_delay_ps: 164 node_delay_ps: 164 op: OP_ADD id: 582 ir: "exp__1: bits[5] = add(f_bexp__2: bits[5], literal.581: bits[5], id=582, pos=[(0,266,6), (0,4238,31), (0,4303,45), (0,4397,21), (2,130,52)])" } nodes { op: OP_LITERAL id: 581 ir: "literal.581: bits[5] = literal(value=17, id=581, pos=[(0,266,6), (0,4238,31), (0,4303,45), (0,4397,21), (2,130,52)])" } } 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: 577 ir: "f_bexp__2: bits[5] = tuple_index(f: (bits[1], bits[5], bits[10]), index=1, id=577, pos=[(0,804,5), (0,809,27), (0,4397,40), (2,130,52)])" } all_nodes { op: OP_LITERAL id: 581 ir: "literal.581: bits[5] = literal(value=17, id=581, pos=[(0,266,6), (0,4238,31), (0,4303,45), (0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 164 op: OP_ADD id: 582 ir: "exp__1: bits[5] = add(f_bexp__2: bits[5], literal.581: bits[5], id=582, pos=[(0,266,6), (0,4238,31), (0,4303,45), (0,4397,21), (2,130,52)])" } all_nodes { op: OP_LITERAL id: 585 ir: "literal.585: bits[10] = literal(value=1023, id=585, pos=[(0,4240,40), (0,4303,45), (0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 586 ir: "sign_ext.586: bits[32] = sign_ext(exp__1: bits[5], new_bit_count=32, id=586, pos=[(0,4303,45), (0,4397,21), (2,130,52)])" } all_nodes { op: OP_LITERAL id: 587 ir: "literal.587: bits[1] = literal(value=0, id=587, pos=[(0,4303,45), (0,4397,21), (2,130,52)])" } all_nodes { op: OP_TUPLE_INDEX id: 583 ir: "tuple_index.583: bits[10] = tuple_index(f: (bits[1], bits[5], bits[10]), index=2, id=583, pos=[(0,809,4), (0,4397,40), (2,130,52)])" } all_nodes { node_delay_ps: 176 op: OP_SHRL id: 589 ir: "fractional_mask__1: bits[10] = shrl(literal.585: bits[10], sign_ext.586: bits[32], id=589, pos=[(0,4240,40), (0,4303,45), (0,4397,21), (2,130,52)])" } all_nodes { op: OP_LITERAL id: 578 ir: "literal.578: bits[5] = literal(value=0, id=578, pos=[(0,804,14), (0,809,27), (0,4397,40), (2,130,52)])" } all_nodes { op: OP_CONCAT id: 590 ir: "concat.590: bits[11] = concat(literal.587: bits[1], tuple_index.583: bits[10], id=590, pos=[(0,4303,45), (0,4397,21), (2,130,52)])" } all_nodes { op: OP_CONCAT id: 591 ir: "concat.591: bits[11] = concat(literal.587: bits[1], fractional_mask__1: bits[10], id=591, pos=[(0,4303,45), (0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 85 op: OP_EQ id: 579 ir: "eq.579: bits[1] = eq(f_bexp__2: bits[5], literal.578: bits[5], id=579, pos=[(0,804,5), (0,809,27), (0,4397,40), (2,130,52)])" } all_nodes { node_delay_ps: 245 op: OP_ADD id: 593 ir: "fraction_up__2: bits[11] = add(concat.590: bits[11], concat.591: bits[11], id=593, pos=[(0,4259,9), (0,4303,45), (0,4397,21), (2,130,52)])" } all_nodes { op: OP_NOT id: 654 ir: "not.654: bits[1] = not(eq.579: bits[1], id=654, pos=[(0,809,4), (0,4397,40), (2,130,52)])" } all_nodes { op: OP_BIT_SLICE id: 599 ir: "bit_slice.599: bits[10] = bit_slice(fraction_up__2: bits[11], start=0, width=10, id=599, pos=[(0,4264,39), (0,4303,45), (0,4397,21), (2,130,52)])" } all_nodes { op: OP_BIT_SLICE id: 602 ir: "bit_slice.602: bits[4] = bit_slice(f_bexp__2: bits[5], start=0, width=4, id=602, pos=[(0,4219,5), (0,4293,43), (0,4397,21), (2,130,52)])" } all_nodes { op: OP_TUPLE_INDEX id: 614 ir: "f_sign__1: bits[1] = tuple_index(f: (bits[1], bits[5], bits[10]), index=0, id=614, pos=[(0,809,60), (0,4397,40), (2,130,52)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 655 ir: "sign_ext.655: bits[10] = sign_ext(not.654: bits[1], new_bit_count=10, id=655, pos=[(0,809,4), (0,4397,40), (2,130,52)])" } all_nodes { op: OP_NOT id: 604 ir: "not.604: bits[10] = not(bit_slice.599: bits[10], id=604, pos=[(0,4264,39), (0,4303,45), (0,4397,21), (2,130,52)])" } all_nodes { op: OP_NOT id: 605 ir: "not.605: bits[10] = not(tuple_index.583: bits[10], id=605, pos=[(0,4276,29), (0,4306,47), (0,4397,21), (2,130,52)])" } all_nodes { op: OP_BIT_SLICE id: 612 ir: "bit_slice.612: bits[1] = bit_slice(f_bexp__2: bits[5], start=4, width=1, id=612, pos=[(0,4219,5), (0,4293,43), (0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 48 op: OP_AND_REDUCE id: 613 ir: "and_reduce.613: bits[1] = and_reduce(bit_slice.602: bits[4], id=613, pos=[(0,4219,5), (0,4293,43), (0,4397,21), (2,130,52)])" } all_nodes { op: OP_LITERAL id: 597 ir: "literal.597: bits[4] = literal(value=0, id=597, pos=[(0,4303,45), (0,4397,21), (2,130,52)])" } all_nodes { op: OP_BIT_SLICE id: 598 ir: "bit_slice.598: bits[1] = bit_slice(fraction_up__2: bits[11], start=10, width=1, id=598, pos=[(0,4262,46), (0,4303,45), (0,4397,21), (2,130,52)])" } all_nodes { op: OP_NOT id: 657 ir: "not.657: bits[1] = not(f_sign__1: bits[1], id=657)" } all_nodes { op: OP_LITERAL id: 592 ir: "EXPR_MASK: bits[5] = literal(value=31, id=592, pos=[(0,39,36), (0,4286,13), (0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 656 ir: "f_fraction__1: bits[10] = and(tuple_index.583: bits[10], sign_ext.655: bits[10], id=656, pos=[(0,809,4), (0,4397,40), (2,130,52)])" } all_nodes { op: OP_LITERAL id: 584 ir: "literal.584: bits[10] = literal(value=0, id=584, pos=[(0,131,73), (0,809,37), (0,4397,40), (2,130,52)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 617 ir: "fraction_integral__2: bits[10] = nor(not.604: bits[10], fractional_mask__1: bits[10], id=617, pos=[(0,4264,39), (0,4303,45), (0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 618 ir: "fraction_integral__4: bits[10] = nor(not.605: bits[10], fractional_mask__1: bits[10], id=618, pos=[(0,4276,29), (0,4306,47), (0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 19 op: OP_OR id: 734 ir: "or.734: bits[1] = or(bit_slice.612: bits[1], and_reduce.613: bits[1], id=734, pos=[(0,4293,19), (0,4397,21), (2,130,52)])" } all_nodes { op: OP_CONCAT id: 603 ir: "concat.603: bits[5] = concat(literal.597: bits[4], bit_slice.598: bits[1], id=603, pos=[(0,4303,45), (0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 658 ir: "sign_ext.658: bits[5] = sign_ext(not.657: bits[1], new_bit_count=5, id=658)" } all_nodes { node_delay_ps: 85 op: OP_EQ id: 594 ir: "eq.594: bits[1] = eq(f_bexp__2: bits[5], EXPR_MASK: bits[5], id=594, pos=[(0,4286,13), (0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 102 op: OP_EQ id: 595 ir: "eq.595: bits[1] = eq(f_fraction__1: bits[10], literal.584: bits[10], id=595, pos=[(0,4286,13), (0,4397,21), (2,130,52)])" } all_nodes { op: OP_LITERAL id: 620 ir: "literal.620: bits[5] = literal(value=25, id=620, pos=[(0,4192,17), (0,4291,35), (0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 119 op: OP_SEL id: 624 ir: "sel.624: bits[10] = sel(f_sign__1, cases=[fraction_integral__2, fraction_integral__4], id=624, pos=[(0,4301,19), (0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 664 ir: "sign_ext.664: bits[10] = sign_ext(or.734: bits[1], new_bit_count=10, id=664, pos=[(0,4293,19), (0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 659 ir: "and.659: bits[5] = and(concat.603: bits[5], sign_ext.658: bits[5], id=659)" } all_nodes { op: OP_BIT_SLICE id: 770 ir: "bit_slice.770: bits[4] = bit_slice(sign_ext.658: bits[5], start=0, width=4, id=770, pos=[(0,4294,16), (0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 600 ir: "and.600: bits[1] = and(eq.594: bits[1], eq.595: bits[1], id=600, pos=[(0,4286,13), (0,4397,21), (2,130,52)])" } all_nodes { op: OP_NOT id: 843 ir: "not.843: bits[1] = not(eq.594: bits[1], id=843, pos=[(0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 104 op: OP_ULT id: 628 ir: "ult.628: bits[1] = ult(f_bexp__2: bits[5], literal.620: bits[5], id=628, pos=[(0,4192,5), (0,4291,35), (0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 665 ir: "and.665: bits[10] = and(sel.624: bits[10], sign_ext.664: bits[10], id=665, pos=[(0,4293,19), (0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 621 ir: "nor.621: bits[1] = nor(bit_slice.612: bits[1], and_reduce.613: bits[1], id=621, pos=[(0,4219,5), (0,4293,43), (0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 164 op: OP_ADD id: 653 ir: "add.653: bits[5] = add(f_bexp__2: bits[5], and.659: bits[5], id=653)" } all_nodes { op: OP_CONCAT id: 797 ir: "concat.797: bits[5] = concat(literal.587: bits[1], bit_slice.770: bits[4], id=797, pos=[(0,4294,16), (0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 19 op: OP_OR id: 723 ir: "or.723: bits[1] = or(eq.579: bits[1], and.600: bits[1], id=723, pos=[(0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 851 ir: "nor.851: bits[1] = nor(not.843: bits[1], eq.595: bits[1], id=851, pos=[(0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 119 op: OP_SEL id: 634 ir: "sel.634: bits[10] = sel(ult.628, cases=[tuple_index.583, and.665], id=634, pos=[(0,4291,12), (0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 846 ir: "nor.846: bits[1] = nor(eq.579: bits[1], eq.594: bits[1], id=846, pos=[(0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 106 op: OP_SEL id: 629 ir: "sel.629: bits[5] = sel(nor.621, cases=[add.653, concat.797], id=629, pos=[(0,4293,19), (0,4397,21), (2,130,52)])" } all_nodes { op: OP_CONCAT id: 717 ir: "concat.717: bits[2] = concat(or.723: bits[1], nor.851: bits[1], id=717, pos=[(0,4397,21), (2,130,52)])" } all_nodes { op: OP_LITERAL id: 808 ir: "literal.808: bits[1] = literal(value=1, id=808, pos=[(0,4286,13), (0,4397,21), (2,130,52)])" } all_nodes { op: OP_BIT_SLICE id: 695 ir: "bit_slice.695: bits[1] = bit_slice(sel.634: bits[10], start=9, width=1, id=695, pos=[(0,4397,21), (2,130,52)])" } all_nodes { op: OP_BIT_SLICE id: 691 ir: "bit_slice.691: bits[9] = bit_slice(sel.634: bits[10], start=0, width=9, id=691, pos=[(0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 791 ir: "sign_ext.791: bits[9] = sign_ext(nor.846: bits[1], new_bit_count=9, id=791, pos=[(0,4397,21), (2,130,52)])" } all_nodes { op: OP_CONCAT id: 716 ir: "concat.716: bits[2] = concat(eq.579: bits[1], eq.594: bits[1], id=716, pos=[(0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 106 op: OP_SEL id: 632 ir: "sel.632: bits[5] = sel(ult.628, cases=[f_bexp__2, sel.629], id=632, pos=[(0,4291,12), (0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 90 op: OP_PRIORITY_SEL id: 696 ir: "priority_sel.696: bits[1] = priority_sel(concat.717, cases=[literal.808, literal.587], default=bit_slice.695, id=696, pos=[(0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 792 ir: "and.792: bits[9] = and(bit_slice.691: bits[9], sign_ext.791: bits[9], id=792, pos=[(0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 646 ir: "nor.646: bits[1] = nor(nor.851: bits[1], not.657: bits[1], id=646, pos=[(0,4397,21), (2,130,52)])" } all_nodes { node_delay_ps: 125 op: OP_PRIORITY_SEL id: 670 ir: "priority_sel.670: bits[5] = priority_sel(concat.716, cases=[EXPR_MASK, literal.578], default=sel.632, id=670, pos=[(0,4397,21), (2,130,52)])" } all_nodes { op: OP_CONCAT id: 697 ir: "concat.697: bits[10] = concat(priority_sel.696: bits[1], and.792: bits[9], id=697, pos=[(0,4397,21), (2,130,52)])" } all_nodes { op: OP_TUPLE id: 638 ir: "tuple.638: (bits[1], bits[5], bits[10]) = tuple(nor.646: bits[1], priority_sel.670: bits[5], concat.697: bits[10], id=638, pos=[(0,4397,21), (2,130,52)])" }