combinational_critical_path { total_delay_ps: 1393 nodes { total_delay_ps: 1393 op: OP_TUPLE id: 638 ir: "tuple.638: (bits[1], bits[8], bits[23]) = tuple(nor.646: bits[1], priority_sel.702: bits[8], concat.716: bits[23], id=638, pos=[(0,4393,21), (2,453,50)])" } nodes { total_delay_ps: 1393 node_delay_ps: 135 op: OP_PRIORITY_SEL id: 702 ir: "priority_sel.702: bits[8] = priority_sel(concat.731, cases=[EXPR_MASK, literal.578], default=sel.632, id=702, pos=[(0,4393,21), (2,453,50)])" } nodes { total_delay_ps: 1258 node_delay_ps: 115 op: OP_SEL id: 632 ir: "sel.632: bits[8] = sel(ult.628, cases=[f_bexp__2, sel.629], id=632, pos=[(0,4287,12), (0,4393,21), (2,453,50)])" } nodes { total_delay_ps: 1143 node_delay_ps: 115 op: OP_SEL id: 629 ir: "sel.629: bits[8] = sel(nor.621, cases=[add.683, concat.773], id=629, pos=[(0,4289,19), (0,4393,21), (2,453,50)])" } nodes { total_delay_ps: 1028 node_delay_ps: 212 op: OP_ADD id: 683 ir: "add.683: bits[8] = add(f_bexp__2: bits[8], concat.729: bits[8], id=683)" } nodes { total_delay_ps: 816 op: OP_CONCAT id: 729 ir: "concat.729: bits[8] = concat(literal.597: bits[7], nor.765: bits[1], id=729)" } nodes { total_delay_ps: 816 node_delay_ps: 27 op: OP_NOR id: 765 ir: "nor.765: bits[1] = nor(f_sign__1: bits[1], not.764: bits[1], id=765)" } nodes { total_delay_ps: 789 op: OP_NOT id: 764 ir: "not.764: bits[1] = not(bit_slice.598: bits[1], id=764)" } nodes { total_delay_ps: 789 op: OP_BIT_SLICE id: 598 ir: "bit_slice.598: bits[1] = bit_slice(fraction_up__2: bits[24], start=23, width=1, id=598, pos=[(0,4258,46), (0,4299,45), (0,4393,21), (2,453,50)])" } nodes { total_delay_ps: 789 node_delay_ps: 327 op: OP_ADD id: 593 ir: "fraction_up__2: bits[24] = add(concat.590: bits[24], concat.591: bits[24], id=593, pos=[(0,4255,9), (0,4299,45), (0,4393,21), (2,453,50)])" } nodes { total_delay_ps: 462 op: OP_CONCAT id: 591 ir: "concat.591: bits[24] = concat(literal.587: bits[1], fractional_mask__2: bits[23], id=591, pos=[(0,4299,45), (0,4393,21), (2,453,50)])" } nodes { total_delay_ps: 462 node_delay_ps: 233 op: OP_SHRL id: 589 ir: "fractional_mask__2: bits[23] = shrl(literal.585: bits[23], sign_ext.586: bits[32], id=589, pos=[(0,4270,40), (0,4302,47), (0,4393,21), (2,453,50)])" } nodes { total_delay_ps: 229 node_delay_ps: 17 op: OP_SIGN_EXT id: 586 ir: "sign_ext.586: bits[32] = sign_ext(exp: bits[8], new_bit_count=32, id=586, pos=[(0,4302,47), (0,4393,21), (2,453,50)])" } nodes { total_delay_ps: 212 node_delay_ps: 212 op: OP_ADD id: 582 ir: "exp: bits[8] = add(f_bexp__2: bits[8], literal.581: bits[8], id=582, pos=[(0,266,6), (0,4268,31), (0,4302,47), (0,4393,21), (2,453,50)])" } nodes { op: OP_LITERAL id: 581 ir: "literal.581: bits[8] = literal(value=129, id=581, pos=[(0,266,6), (0,4268,31), (0,4302,47), (0,4393,21), (2,453,50)])" } } all_nodes { op: OP_PARAM id: 222 ir: "f: (bits[1], bits[8], bits[23]) = param(name=f, id=222)" } all_nodes { op: OP_TUPLE_INDEX id: 577 ir: "f_bexp__2: bits[8] = tuple_index(f: (bits[1], bits[8], bits[23]), index=1, id=577, pos=[(0,804,5), (0,809,27), (0,4393,40), (2,453,50)])" } all_nodes { op: OP_LITERAL id: 581 ir: "literal.581: bits[8] = literal(value=129, id=581, pos=[(0,266,6), (0,4268,31), (0,4302,47), (0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 212 op: OP_ADD id: 582 ir: "exp: bits[8] = add(f_bexp__2: bits[8], literal.581: bits[8], id=582, pos=[(0,266,6), (0,4268,31), (0,4302,47), (0,4393,21), (2,453,50)])" } all_nodes { op: OP_LITERAL id: 585 ir: "literal.585: bits[23] = literal(value=8388607, id=585, pos=[(0,4270,40), (0,4302,47), (0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 586 ir: "sign_ext.586: bits[32] = sign_ext(exp: bits[8], new_bit_count=32, id=586, pos=[(0,4302,47), (0,4393,21), (2,453,50)])" } all_nodes { op: OP_LITERAL id: 587 ir: "literal.587: bits[1] = literal(value=0, id=587, pos=[(0,4295,45), (0,4393,21), (2,453,50)])" } all_nodes { op: OP_TUPLE_INDEX id: 583 ir: "tuple_index.583: bits[23] = tuple_index(f: (bits[1], bits[8], bits[23]), index=2, id=583, pos=[(0,809,4), (0,4393,40), (2,453,50)])" } all_nodes { node_delay_ps: 233 op: OP_SHRL id: 589 ir: "fractional_mask__2: bits[23] = shrl(literal.585: bits[23], sign_ext.586: bits[32], id=589, pos=[(0,4270,40), (0,4302,47), (0,4393,21), (2,453,50)])" } all_nodes { op: OP_CONCAT id: 590 ir: "concat.590: bits[24] = concat(literal.587: bits[1], tuple_index.583: bits[23], id=590, pos=[(0,4299,45), (0,4393,21), (2,453,50)])" } all_nodes { op: OP_CONCAT id: 591 ir: "concat.591: bits[24] = concat(literal.587: bits[1], fractional_mask__2: bits[23], id=591, pos=[(0,4299,45), (0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 327 op: OP_ADD id: 593 ir: "fraction_up__2: bits[24] = add(concat.590: bits[24], concat.591: bits[24], id=593, pos=[(0,4255,9), (0,4299,45), (0,4393,21), (2,453,50)])" } all_nodes { op: OP_LITERAL id: 578 ir: "literal.578: bits[8] = literal(value=0, id=578, pos=[(0,804,14), (0,809,27), (0,4393,40), (2,453,50)])" } all_nodes { op: OP_BIT_SLICE id: 599 ir: "bit_slice.599: bits[23] = bit_slice(fraction_up__2: bits[24], start=0, width=23, id=599, pos=[(0,4260,39), (0,4299,45), (0,4393,21), (2,453,50)])" } all_nodes { op: OP_BIT_SLICE id: 602 ir: "bit_slice.602: bits[7] = bit_slice(f_bexp__2: bits[8], start=0, width=7, id=602, pos=[(0,4215,5), (0,4289,43), (0,4393,21), (2,453,50)])" } all_nodes { op: OP_BIT_SLICE id: 598 ir: "bit_slice.598: bits[1] = bit_slice(fraction_up__2: bits[24], start=23, width=1, id=598, pos=[(0,4258,46), (0,4299,45), (0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 96 op: OP_EQ id: 579 ir: "eq.579: bits[1] = eq(f_bexp__2: bits[8], literal.578: bits[8], id=579, pos=[(0,804,5), (0,809,27), (0,4393,40), (2,453,50)])" } all_nodes { op: OP_LITERAL id: 584 ir: "literal.584: bits[23] = literal(value=0, id=584, pos=[(0,131,73), (0,809,37), (0,4393,40), (2,453,50)])" } all_nodes { op: OP_NOT id: 604 ir: "not.604: bits[23] = not(bit_slice.599: bits[23], id=604, pos=[(0,4260,39), (0,4299,45), (0,4393,21), (2,453,50)])" } all_nodes { op: OP_NOT id: 605 ir: "not.605: bits[23] = not(tuple_index.583: bits[23], id=605, pos=[(0,4272,29), (0,4302,47), (0,4393,21), (2,453,50)])" } all_nodes { op: OP_BIT_SLICE id: 612 ir: "bit_slice.612: bits[1] = bit_slice(f_bexp__2: bits[8], start=7, width=1, id=612, pos=[(0,4215,5), (0,4289,43), (0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 64 op: OP_AND_REDUCE id: 613 ir: "and_reduce.613: bits[1] = and_reduce(bit_slice.602: bits[7], id=613, pos=[(0,4215,5), (0,4289,43), (0,4393,21), (2,453,50)])" } all_nodes { op: OP_TUPLE_INDEX id: 614 ir: "f_sign__1: bits[1] = tuple_index(f: (bits[1], bits[8], bits[23]), index=0, id=614, pos=[(0,809,60), (0,4393,40), (2,453,50)])" } all_nodes { op: OP_NOT id: 764 ir: "not.764: bits[1] = not(bit_slice.598: bits[1], id=764)" } all_nodes { op: OP_LITERAL id: 592 ir: "EXPR_MASK: bits[8] = literal(value=255, id=592, pos=[(0,39,36), (0,4282,13), (0,4393,21), (2,453,50)])" } all_nodes { op: OP_NOT id: 676 ir: "not.676: bits[1] = not(eq.579: bits[1], id=676, pos=[(0,4282,13), (0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 125 op: OP_NE id: 674 ir: "ne.674: bits[1] = ne(tuple_index.583: bits[23], literal.584: bits[23], id=674, pos=[(0,4282,13), (0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 617 ir: "fraction_integral__2: bits[23] = nor(not.604: bits[23], fractional_mask__2: bits[23], id=617, pos=[(0,4260,39), (0,4299,45), (0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 618 ir: "fraction_integral__4: bits[23] = nor(not.605: bits[23], fractional_mask__2: bits[23], id=618, pos=[(0,4272,29), (0,4302,47), (0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 19 op: OP_OR id: 737 ir: "or.737: bits[1] = or(bit_slice.612: bits[1], and_reduce.613: bits[1], id=737, pos=[(0,4289,19), (0,4393,21), (2,453,50)])" } all_nodes { op: OP_LITERAL id: 597 ir: "literal.597: bits[7] = literal(value=0, id=597, pos=[(0,4299,45), (0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 765 ir: "nor.765: bits[1] = nor(f_sign__1: bits[1], not.764: bits[1], id=765)" } all_nodes { op: OP_NOT id: 645 ir: "not.645: bits[1] = not(f_sign__1: bits[1], id=645, pos=[(0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 96 op: OP_EQ id: 594 ir: "eq.594: bits[1] = eq(f_bexp__2: bits[8], EXPR_MASK: bits[8], id=594, pos=[(0,4282,13), (0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 25 op: OP_NAND id: 677 ir: "nand.677: bits[1] = nand(not.676: bits[1], ne.674: bits[1], id=677, pos=[(0,4282,13), (0,4393,21), (2,453,50)])" } all_nodes { op: OP_LITERAL id: 620 ir: "literal.620: bits[8] = literal(value=150, id=620, pos=[(0,4188,17), (0,4287,35), (0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 135 op: OP_SEL id: 624 ir: "sel.624: bits[23] = sel(f_sign__1, cases=[fraction_integral__2, fraction_integral__4], id=624, pos=[(0,4297,19), (0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 696 ir: "sign_ext.696: bits[23] = sign_ext(or.737: bits[1], new_bit_count=23, id=696, pos=[(0,4289,19), (0,4393,21), (2,453,50)])" } all_nodes { op: OP_CONCAT id: 729 ir: "concat.729: bits[8] = concat(literal.597: bits[7], nor.765: bits[1], id=729)" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 772 ir: "sign_ext.772: bits[7] = sign_ext(not.645: bits[1], new_bit_count=7, id=772, pos=[(0,4290,16), (0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 600 ir: "and.600: bits[1] = and(eq.594: bits[1], nand.677: bits[1], id=600, pos=[(0,4282,13), (0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 130 op: OP_ULT id: 628 ir: "ult.628: bits[1] = ult(f_bexp__2: bits[8], literal.620: bits[8], id=628, pos=[(0,4188,5), (0,4287,35), (0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 697 ir: "and.697: bits[23] = and(sel.624: bits[23], sign_ext.696: bits[23], id=697, pos=[(0,4289,19), (0,4393,21), (2,453,50)])" } 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,4215,5), (0,4289,43), (0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 212 op: OP_ADD id: 683 ir: "add.683: bits[8] = add(f_bexp__2: bits[8], concat.729: bits[8], id=683)" } all_nodes { op: OP_CONCAT id: 773 ir: "concat.773: bits[8] = concat(literal.587: bits[1], sign_ext.772: bits[7], id=773, pos=[(0,4290,16), (0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 19 op: OP_OR id: 734 ir: "or.734: bits[1] = or(eq.579: bits[1], and.600: bits[1], id=734, pos=[(0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 778 ir: "and.778: bits[1] = and(eq.594: bits[1], ne.674: bits[1], id=778, pos=[(0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 135 op: OP_SEL id: 634 ir: "sel.634: bits[23] = sel(ult.628, cases=[tuple_index.583, and.697], id=634, pos=[(0,4287,12), (0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 775 ir: "nor.775: bits[1] = nor(eq.579: bits[1], eq.594: bits[1], id=775, pos=[(0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 115 op: OP_SEL id: 629 ir: "sel.629: bits[8] = sel(nor.621, cases=[add.683, concat.773], id=629, pos=[(0,4289,19), (0,4393,21), (2,453,50)])" } all_nodes { op: OP_CONCAT id: 732 ir: "concat.732: bits[2] = concat(or.734: bits[1], and.778: bits[1], id=732, pos=[(0,4393,21), (2,453,50)])" } all_nodes { op: OP_LITERAL id: 658 ir: "literal.658: bits[1] = literal(value=1, id=658, pos=[(0,4282,13), (0,4393,21), (2,453,50)])" } all_nodes { op: OP_BIT_SLICE id: 714 ir: "bit_slice.714: bits[1] = bit_slice(sel.634: bits[23], start=22, width=1, id=714, pos=[(0,4393,21), (2,453,50)])" } all_nodes { op: OP_BIT_SLICE id: 710 ir: "bit_slice.710: bits[22] = bit_slice(sel.634: bits[23], start=0, width=22, id=710, pos=[(0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 769 ir: "sign_ext.769: bits[22] = sign_ext(nor.775: bits[1], new_bit_count=22, id=769, pos=[(0,4393,21), (2,453,50)])" } all_nodes { op: OP_CONCAT id: 731 ir: "concat.731: bits[2] = concat(eq.579: bits[1], eq.594: bits[1], id=731, pos=[(0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 115 op: OP_SEL id: 632 ir: "sel.632: bits[8] = sel(ult.628, cases=[f_bexp__2, sel.629], id=632, pos=[(0,4287,12), (0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 90 op: OP_PRIORITY_SEL id: 715 ir: "priority_sel.715: bits[1] = priority_sel(concat.732, cases=[literal.658, literal.587], default=bit_slice.714, id=715, pos=[(0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 770 ir: "and.770: bits[22] = and(bit_slice.710: bits[22], sign_ext.769: bits[22], id=770, pos=[(0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 646 ir: "nor.646: bits[1] = nor(and.778: bits[1], not.645: bits[1], id=646, pos=[(0,4393,21), (2,453,50)])" } all_nodes { node_delay_ps: 135 op: OP_PRIORITY_SEL id: 702 ir: "priority_sel.702: bits[8] = priority_sel(concat.731, cases=[EXPR_MASK, literal.578], default=sel.632, id=702, pos=[(0,4393,21), (2,453,50)])" } all_nodes { op: OP_CONCAT id: 716 ir: "concat.716: bits[23] = concat(priority_sel.715: bits[1], and.770: bits[22], id=716, pos=[(0,4393,21), (2,453,50)])" } all_nodes { op: OP_TUPLE id: 638 ir: "tuple.638: (bits[1], bits[8], bits[23]) = tuple(nor.646: bits[1], priority_sel.702: bits[8], concat.716: bits[23], id=638, pos=[(0,4393,21), (2,453,50)])" }