combinational_critical_path { total_delay_ps: 1197 nodes { total_delay_ps: 1197 op: OP_TUPLE id: 632 ir: "tuple.632: (bits[1], bits[8], bits[7]) = tuple(nor.640: bits[1], priority_sel.696: bits[8], concat.710: bits[7], id=632, pos=[(0,4393,21), (2,180,52)])" } nodes { total_delay_ps: 1197 node_delay_ps: 135 op: OP_PRIORITY_SEL id: 696 ir: "priority_sel.696: bits[8] = priority_sel(concat.725, cases=[EXPR_MASK, literal.573], default=sel.626, id=696, pos=[(0,4393,21), (2,180,52)])" } nodes { total_delay_ps: 1062 node_delay_ps: 115 op: OP_SEL id: 626 ir: "sel.626: bits[8] = sel(ult.622, cases=[f_bexp__2, sel.623], id=626, pos=[(0,4287,12), (0,4393,21), (2,180,52)])" } nodes { total_delay_ps: 947 node_delay_ps: 115 op: OP_SEL id: 623 ir: "sel.623: bits[8] = sel(nor.615, cases=[add.677, concat.767], id=623, pos=[(0,4289,19), (0,4393,21), (2,180,52)])" } nodes { total_delay_ps: 832 node_delay_ps: 212 op: OP_ADD id: 677 ir: "add.677: bits[8] = add(f_bexp__2: bits[8], concat.723: bits[8], id=677)" } nodes { total_delay_ps: 620 op: OP_CONCAT id: 723 ir: "concat.723: bits[8] = concat(literal.579: bits[7], nor.759: bits[1], id=723)" } nodes { total_delay_ps: 620 node_delay_ps: 27 op: OP_NOR id: 759 ir: "nor.759: bits[1] = nor(f_sign__1: bits[1], not.758: bits[1], id=759)" } nodes { total_delay_ps: 593 op: OP_NOT id: 758 ir: "not.758: bits[1] = not(bit_slice.592: bits[1], id=758)" } nodes { total_delay_ps: 593 op: OP_BIT_SLICE id: 592 ir: "bit_slice.592: bits[1] = bit_slice(fraction_up__2: bits[8], start=7, width=1, id=592, pos=[(0,4258,46), (0,4299,45), (0,4393,21), (2,180,52)])" } nodes { total_delay_ps: 593 node_delay_ps: 212 op: OP_ADD id: 588 ir: "fraction_up__2: bits[8] = add(concat.585: bits[8], concat.586: bits[8], id=588, pos=[(0,4255,9), (0,4299,45), (0,4393,21), (2,180,52)])" } nodes { total_delay_ps: 381 op: OP_CONCAT id: 586 ir: "concat.586: bits[8] = concat(literal.582: bits[1], fractional_mask__2: bits[7], id=586, pos=[(0,4299,45), (0,4393,21), (2,180,52)])" } nodes { total_delay_ps: 381 node_delay_ps: 152 op: OP_SHRL id: 584 ir: "fractional_mask__2: bits[7] = shrl(literal.580: bits[7], sign_ext.581: bits[32], id=584, pos=[(0,4270,40), (0,4302,47), (0,4393,21), (2,180,52)])" } nodes { total_delay_ps: 229 node_delay_ps: 17 op: OP_SIGN_EXT id: 581 ir: "sign_ext.581: bits[32] = sign_ext(exp: bits[8], new_bit_count=32, id=581, pos=[(0,4302,47), (0,4393,21), (2,180,52)])" } nodes { total_delay_ps: 212 node_delay_ps: 212 op: OP_ADD id: 577 ir: "exp: bits[8] = add(f_bexp__2: bits[8], literal.576: bits[8], id=577, pos=[(0,266,6), (0,4268,31), (0,4302,47), (0,4393,21), (2,180,52)])" } nodes { op: OP_LITERAL id: 576 ir: "literal.576: bits[8] = literal(value=129, id=576, pos=[(0,266,6), (0,4268,31), (0,4302,47), (0,4393,21), (2,180,52)])" } } all_nodes { op: OP_PARAM id: 219 ir: "f: (bits[1], bits[8], bits[7]) = param(name=f, id=219)" } all_nodes { op: OP_TUPLE_INDEX id: 572 ir: "f_bexp__2: bits[8] = tuple_index(f: (bits[1], bits[8], bits[7]), index=1, id=572, pos=[(0,804,5), (0,809,27), (0,4393,40), (2,180,52)])" } all_nodes { op: OP_LITERAL id: 576 ir: "literal.576: bits[8] = literal(value=129, id=576, pos=[(0,266,6), (0,4268,31), (0,4302,47), (0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 212 op: OP_ADD id: 577 ir: "exp: bits[8] = add(f_bexp__2: bits[8], literal.576: bits[8], id=577, pos=[(0,266,6), (0,4268,31), (0,4302,47), (0,4393,21), (2,180,52)])" } all_nodes { op: OP_LITERAL id: 580 ir: "literal.580: bits[7] = literal(value=127, id=580, pos=[(0,4270,40), (0,4302,47), (0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 581 ir: "sign_ext.581: bits[32] = sign_ext(exp: bits[8], new_bit_count=32, id=581, pos=[(0,4302,47), (0,4393,21), (2,180,52)])" } all_nodes { op: OP_LITERAL id: 582 ir: "literal.582: bits[1] = literal(value=0, id=582, pos=[(0,4295,45), (0,4393,21), (2,180,52)])" } all_nodes { op: OP_TUPLE_INDEX id: 578 ir: "tuple_index.578: bits[7] = tuple_index(f: (bits[1], bits[8], bits[7]), index=2, id=578, pos=[(0,809,4), (0,4393,40), (2,180,52)])" } all_nodes { node_delay_ps: 152 op: OP_SHRL id: 584 ir: "fractional_mask__2: bits[7] = shrl(literal.580: bits[7], sign_ext.581: bits[32], id=584, pos=[(0,4270,40), (0,4302,47), (0,4393,21), (2,180,52)])" } all_nodes { op: OP_CONCAT id: 585 ir: "concat.585: bits[8] = concat(literal.582: bits[1], tuple_index.578: bits[7], id=585, pos=[(0,4299,45), (0,4393,21), (2,180,52)])" } all_nodes { op: OP_CONCAT id: 586 ir: "concat.586: bits[8] = concat(literal.582: bits[1], fractional_mask__2: bits[7], id=586, pos=[(0,4299,45), (0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 212 op: OP_ADD id: 588 ir: "fraction_up__2: bits[8] = add(concat.585: bits[8], concat.586: bits[8], id=588, pos=[(0,4255,9), (0,4299,45), (0,4393,21), (2,180,52)])" } all_nodes { op: OP_LITERAL id: 573 ir: "literal.573: bits[8] = literal(value=0, id=573, pos=[(0,804,14), (0,809,27), (0,4393,40), (2,180,52)])" } all_nodes { op: OP_BIT_SLICE id: 593 ir: "bit_slice.593: bits[7] = bit_slice(fraction_up__2: bits[8], start=0, width=7, id=593, pos=[(0,4260,39), (0,4299,45), (0,4393,21), (2,180,52)])" } all_nodes { op: OP_BIT_SLICE id: 596 ir: "bit_slice.596: bits[7] = bit_slice(f_bexp__2: bits[8], start=0, width=7, id=596, pos=[(0,4215,5), (0,4289,43), (0,4393,21), (2,180,52)])" } all_nodes { op: OP_BIT_SLICE id: 592 ir: "bit_slice.592: bits[1] = bit_slice(fraction_up__2: bits[8], start=7, width=1, id=592, pos=[(0,4258,46), (0,4299,45), (0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 96 op: OP_EQ id: 574 ir: "eq.574: bits[1] = eq(f_bexp__2: bits[8], literal.573: bits[8], id=574, pos=[(0,804,5), (0,809,27), (0,4393,40), (2,180,52)])" } all_nodes { op: OP_LITERAL id: 579 ir: "literal.579: bits[7] = literal(value=0, id=579, pos=[(0,131,73), (0,809,37), (0,4393,40), (2,180,52)])" } all_nodes { op: OP_NOT id: 598 ir: "not.598: bits[7] = not(bit_slice.593: bits[7], id=598, pos=[(0,4260,39), (0,4299,45), (0,4393,21), (2,180,52)])" } all_nodes { op: OP_NOT id: 599 ir: "not.599: bits[7] = not(tuple_index.578: bits[7], id=599, pos=[(0,4272,29), (0,4302,47), (0,4393,21), (2,180,52)])" } all_nodes { op: OP_BIT_SLICE id: 606 ir: "bit_slice.606: bits[1] = bit_slice(f_bexp__2: bits[8], start=7, width=1, id=606, pos=[(0,4215,5), (0,4289,43), (0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 64 op: OP_AND_REDUCE id: 607 ir: "and_reduce.607: bits[1] = and_reduce(bit_slice.596: bits[7], id=607, pos=[(0,4215,5), (0,4289,43), (0,4393,21), (2,180,52)])" } all_nodes { op: OP_TUPLE_INDEX id: 608 ir: "f_sign__1: bits[1] = tuple_index(f: (bits[1], bits[8], bits[7]), index=0, id=608, pos=[(0,809,60), (0,4393,40), (2,180,52)])" } all_nodes { op: OP_NOT id: 758 ir: "not.758: bits[1] = not(bit_slice.592: bits[1], id=758)" } all_nodes { op: OP_LITERAL id: 587 ir: "EXPR_MASK: bits[8] = literal(value=255, id=587, pos=[(0,39,36), (0,4282,13), (0,4393,21), (2,180,52)])" } all_nodes { op: OP_NOT id: 670 ir: "not.670: bits[1] = not(eq.574: bits[1], id=670, pos=[(0,4282,13), (0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 93 op: OP_NE id: 668 ir: "ne.668: bits[1] = ne(tuple_index.578: bits[7], literal.579: bits[7], id=668, pos=[(0,4282,13), (0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 611 ir: "fraction_integral__2: bits[7] = nor(not.598: bits[7], fractional_mask__2: bits[7], id=611, pos=[(0,4260,39), (0,4299,45), (0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 612 ir: "fraction_integral__4: bits[7] = nor(not.599: bits[7], fractional_mask__2: bits[7], id=612, pos=[(0,4272,29), (0,4302,47), (0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 19 op: OP_OR id: 731 ir: "or.731: bits[1] = or(bit_slice.606: bits[1], and_reduce.607: bits[1], id=731, pos=[(0,4289,19), (0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 759 ir: "nor.759: bits[1] = nor(f_sign__1: bits[1], not.758: bits[1], id=759)" } all_nodes { op: OP_NOT id: 639 ir: "not.639: bits[1] = not(f_sign__1: bits[1], id=639, pos=[(0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 96 op: OP_EQ id: 589 ir: "eq.589: bits[1] = eq(f_bexp__2: bits[8], EXPR_MASK: bits[8], id=589, pos=[(0,4282,13), (0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 25 op: OP_NAND id: 671 ir: "nand.671: bits[1] = nand(not.670: bits[1], ne.668: bits[1], id=671, pos=[(0,4282,13), (0,4393,21), (2,180,52)])" } all_nodes { op: OP_LITERAL id: 614 ir: "literal.614: bits[8] = literal(value=134, id=614, pos=[(0,4188,17), (0,4287,35), (0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 112 op: OP_SEL id: 618 ir: "sel.618: bits[7] = sel(f_sign__1, cases=[fraction_integral__2, fraction_integral__4], id=618, pos=[(0,4297,19), (0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 690 ir: "sign_ext.690: bits[7] = sign_ext(or.731: bits[1], new_bit_count=7, id=690, pos=[(0,4289,19), (0,4393,21), (2,180,52)])" } all_nodes { op: OP_CONCAT id: 723 ir: "concat.723: bits[8] = concat(literal.579: bits[7], nor.759: bits[1], id=723)" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 766 ir: "sign_ext.766: bits[7] = sign_ext(not.639: bits[1], new_bit_count=7, id=766, pos=[(0,4290,16), (0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 594 ir: "and.594: bits[1] = and(eq.589: bits[1], nand.671: bits[1], id=594, pos=[(0,4282,13), (0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 130 op: OP_ULT id: 622 ir: "ult.622: bits[1] = ult(f_bexp__2: bits[8], literal.614: bits[8], id=622, pos=[(0,4188,5), (0,4287,35), (0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 691 ir: "and.691: bits[7] = and(sel.618: bits[7], sign_ext.690: bits[7], id=691, pos=[(0,4289,19), (0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 615 ir: "nor.615: bits[1] = nor(bit_slice.606: bits[1], and_reduce.607: bits[1], id=615, pos=[(0,4215,5), (0,4289,43), (0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 212 op: OP_ADD id: 677 ir: "add.677: bits[8] = add(f_bexp__2: bits[8], concat.723: bits[8], id=677)" } all_nodes { op: OP_CONCAT id: 767 ir: "concat.767: bits[8] = concat(literal.582: bits[1], sign_ext.766: bits[7], id=767, pos=[(0,4290,16), (0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 19 op: OP_OR id: 728 ir: "or.728: bits[1] = or(eq.574: bits[1], and.594: bits[1], id=728, pos=[(0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 772 ir: "and.772: bits[1] = and(eq.589: bits[1], ne.668: bits[1], id=772, pos=[(0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 112 op: OP_SEL id: 628 ir: "sel.628: bits[7] = sel(ult.622, cases=[tuple_index.578, and.691], id=628, pos=[(0,4287,12), (0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 769 ir: "nor.769: bits[1] = nor(eq.574: bits[1], eq.589: bits[1], id=769, pos=[(0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 115 op: OP_SEL id: 623 ir: "sel.623: bits[8] = sel(nor.615, cases=[add.677, concat.767], id=623, pos=[(0,4289,19), (0,4393,21), (2,180,52)])" } all_nodes { op: OP_CONCAT id: 726 ir: "concat.726: bits[2] = concat(or.728: bits[1], and.772: bits[1], id=726, pos=[(0,4393,21), (2,180,52)])" } all_nodes { op: OP_LITERAL id: 652 ir: "literal.652: bits[1] = literal(value=1, id=652, pos=[(0,4282,13), (0,4393,21), (2,180,52)])" } all_nodes { op: OP_BIT_SLICE id: 708 ir: "bit_slice.708: bits[1] = bit_slice(sel.628: bits[7], start=6, width=1, id=708, pos=[(0,4393,21), (2,180,52)])" } all_nodes { op: OP_BIT_SLICE id: 704 ir: "bit_slice.704: bits[6] = bit_slice(sel.628: bits[7], start=0, width=6, id=704, pos=[(0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 763 ir: "sign_ext.763: bits[6] = sign_ext(nor.769: bits[1], new_bit_count=6, id=763, pos=[(0,4393,21), (2,180,52)])" } all_nodes { op: OP_CONCAT id: 725 ir: "concat.725: bits[2] = concat(eq.574: bits[1], eq.589: bits[1], id=725, pos=[(0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 115 op: OP_SEL id: 626 ir: "sel.626: bits[8] = sel(ult.622, cases=[f_bexp__2, sel.623], id=626, pos=[(0,4287,12), (0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 90 op: OP_PRIORITY_SEL id: 709 ir: "priority_sel.709: bits[1] = priority_sel(concat.726, cases=[literal.652, literal.582], default=bit_slice.708, id=709, pos=[(0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 764 ir: "and.764: bits[6] = and(bit_slice.704: bits[6], sign_ext.763: bits[6], id=764, pos=[(0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 640 ir: "nor.640: bits[1] = nor(and.772: bits[1], not.639: bits[1], id=640, pos=[(0,4393,21), (2,180,52)])" } all_nodes { node_delay_ps: 135 op: OP_PRIORITY_SEL id: 696 ir: "priority_sel.696: bits[8] = priority_sel(concat.725, cases=[EXPR_MASK, literal.573], default=sel.626, id=696, pos=[(0,4393,21), (2,180,52)])" } all_nodes { op: OP_CONCAT id: 710 ir: "concat.710: bits[7] = concat(priority_sel.709: bits[1], and.764: bits[6], id=710, pos=[(0,4393,21), (2,180,52)])" } all_nodes { op: OP_TUPLE id: 632 ir: "tuple.632: (bits[1], bits[8], bits[7]) = tuple(nor.640: bits[1], priority_sel.696: bits[8], concat.710: bits[7], id=632, pos=[(0,4393,21), (2,180,52)])" }