combinational_critical_path { total_delay_ps: 1817 nodes { total_delay_ps: 1817 node_delay_ps: 358 op: OP_ADD id: 142 ir: "num_bits__1: bits[32] = add(sub.139: bits[32], literal.140: bits[32], id=142, pos=[(0,233,19)])" } nodes { total_delay_ps: 1459 node_delay_ps: 337 op: OP_SUB id: 139 ir: "sub.139: bits[32] = sub(msb__1: bits[32], sel.136: bits[32], id=139, pos=[(0,233,19)])" } nodes { total_delay_ps: 1122 node_delay_ps: 142 op: OP_SEL id: 156 ir: "msb__1: bits[32] = sel(sgt.128, cases=[bit_slice.154, bit_slice.155], id=156, pos=[(1,93,68), (0,231,22)])" } nodes { total_delay_ps: 980 node_delay_ps: 239 op: OP_SGT id: 128 ir: "sgt.128: bits[1] = sgt(msb_a: bits[33], msb_b: bits[33], id=128, pos=[(1,93,71), (0,231,22)])" } nodes { total_delay_ps: 741 node_delay_ps: 362 op: OP_ADD id: 126 ir: "msb_b: bits[33] = add(add.124: bits[33], literal.123: bits[33], id=126, pos=[(0,193,60), (0,228,45)])" } nodes { total_delay_ps: 379 node_delay_ps: 362 op: OP_ADD id: 124 ir: "add.124: bits[33] = add(concat.120: bits[33], sign_ext.121: bits[33], id=124, pos=[(0,193,60), (0,228,45)])" } nodes { total_delay_ps: 17 node_delay_ps: 17 op: OP_SIGN_EXT id: 121 ir: "sign_ext.121: bits[33] = sign_ext(BE_B: bits[32], new_bit_count=33, id=121, pos=[(0,228,45)])" } nodes { op: OP_PARAM id: 58 ir: "BE_B: bits[32] = param(name=BE_B, id=58)" } } all_nodes { op: OP_LITERAL id: 117 ir: "literal.117: bits[1] = literal(value=0, id=117, pos=[(0,227,45)])" } all_nodes { op: OP_PARAM id: 55 ir: "NB_A: bits[32] = param(name=NB_A, id=55)" } all_nodes { op: OP_PARAM id: 56 ir: "BE_A: bits[32] = param(name=BE_A, id=56)" } all_nodes { op: OP_PARAM id: 57 ir: "NB_B: bits[32] = param(name=NB_B, id=57)" } all_nodes { op: OP_PARAM id: 58 ir: "BE_B: bits[32] = param(name=BE_B, id=58)" } all_nodes { op: OP_CONCAT id: 118 ir: "concat.118: bits[33] = concat(literal.117: bits[1], NB_A: bits[32], id=118, pos=[(0,227,45)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 119 ir: "sign_ext.119: bits[33] = sign_ext(BE_A: bits[32], new_bit_count=33, id=119, pos=[(0,227,45)])" } all_nodes { op: OP_CONCAT id: 120 ir: "concat.120: bits[33] = concat(literal.117: bits[1], NB_B: bits[32], id=120, pos=[(0,228,45)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 121 ir: "sign_ext.121: bits[33] = sign_ext(BE_B: bits[32], new_bit_count=33, id=121, pos=[(0,228,45)])" } all_nodes { node_delay_ps: 362 op: OP_ADD id: 122 ir: "add.122: bits[33] = add(concat.118: bits[33], sign_ext.119: bits[33], id=122, pos=[(0,193,60), (0,227,45)])" } all_nodes { op: OP_LITERAL id: 123 ir: "literal.123: bits[33] = literal(value=8589934591, id=123, pos=[(0,193,60), (0,227,45)])" } all_nodes { node_delay_ps: 362 op: OP_ADD id: 124 ir: "add.124: bits[33] = add(concat.120: bits[33], sign_ext.121: bits[33], id=124, pos=[(0,193,60), (0,228,45)])" } all_nodes { node_delay_ps: 362 op: OP_ADD id: 125 ir: "msb_a: bits[33] = add(add.122: bits[33], literal.123: bits[33], id=125, pos=[(0,193,60), (0,227,45)])" } all_nodes { node_delay_ps: 362 op: OP_ADD id: 126 ir: "msb_b: bits[33] = add(add.124: bits[33], literal.123: bits[33], id=126, pos=[(0,193,60), (0,228,45)])" } all_nodes { node_delay_ps: 239 op: OP_SGT id: 128 ir: "sgt.128: bits[1] = sgt(msb_a: bits[33], msb_b: bits[33], id=128, pos=[(1,93,71), (0,231,22)])" } all_nodes { op: OP_BIT_SLICE id: 154 ir: "bit_slice.154: bits[32] = bit_slice(msb_b: bits[33], start=0, width=32, id=154, pos=[(1,93,68), (0,231,22)])" } all_nodes { op: OP_BIT_SLICE id: 155 ir: "bit_slice.155: bits[32] = bit_slice(msb_a: bits[33], start=0, width=32, id=155, pos=[(1,93,68), (0,231,22)])" } all_nodes { node_delay_ps: 206 op: OP_SLT id: 132 ir: "slt.132: bits[1] = slt(BE_A: bits[32], BE_B: bits[32], id=132, pos=[(1,110,71), (0,232,22)])" } all_nodes { op: OP_LITERAL id: 127 ir: "literal.127: bits[32] = literal(value=0, id=127)" } all_nodes { node_delay_ps: 142 op: OP_SEL id: 156 ir: "msb__1: bits[32] = sel(sgt.128, cases=[bit_slice.154, bit_slice.155], id=156, pos=[(1,93,68), (0,231,22)])" } all_nodes { node_delay_ps: 142 op: OP_SEL id: 136 ir: "sel.136: bits[32] = sel(slt.132, cases=[BE_B, BE_A], id=136, pos=[(1,110,68), (0,232,22)])" } all_nodes { op: OP_AFTER_ALL id: 59 ir: "after_all.59: token = after_all(id=59)" } all_nodes { node_delay_ps: 136 op: OP_NE id: 153 ir: "ne.153: bits[1] = ne(NB_A: bits[32], literal.127: bits[32], id=153)" } all_nodes { node_delay_ps: 136 op: OP_NE id: 152 ir: "ne.152: bits[1] = ne(NB_B: bits[32], literal.127: bits[32], id=152)" } all_nodes { node_delay_ps: 337 op: OP_SUB id: 139 ir: "sub.139: bits[32] = sub(msb__1: bits[32], sel.136: bits[32], id=139, pos=[(0,233,19)])" } all_nodes { op: OP_LITERAL id: 140 ir: "literal.140: bits[32] = literal(value=1, id=140, pos=[(0,233,31)])" } all_nodes { op: OP_ASSERT id: 144 ir: "assert_137: token = assert(after_all.59: token, ne.153: bits[1], message=\"Assertion failure via assert! @ /inputs/subtree/xls/dslx/stdlib/fixed_point.x:225:12-225:68\", label=\"__fixed_point__aligned_width_0___itok__fixed_point__aligned_width_0_width_will_yield_nonsensical_results\", id=144)" } all_nodes { op: OP_ASSERT id: 145 ir: "assert_138: token = assert(after_all.59: token, ne.152: bits[1], message=\"Assertion failure via assert! @ /inputs/subtree/xls/dslx/stdlib/fixed_point.x:226:12-226:68\", label=\"__fixed_point__aligned_width_0___itok__fixed_point__aligned_width_0_width_will_yield_nonsensical_results\", id=145)" } all_nodes { node_delay_ps: 358 op: OP_ADD id: 142 ir: "num_bits__1: bits[32] = add(sub.139: bits[32], literal.140: bits[32], id=142, pos=[(0,233,19)])" }