combinational_critical_path { total_delay_ps: 1661 nodes { total_delay_ps: 1661 op: OP_TUPLE id: 233 ir: "result__1: (bits[1], bits[8], bits[23]) = tuple(sign: bits[1], and.282: bits[8], x__4: bits[23], id=233, pos=[(0,244,17), (0,272,23)])" } nodes { total_delay_ps: 1661 node_delay_ps: 23 op: OP_AND id: 282 ir: "and.282: bits[8] = and(bexp__1: bits[8], sign_ext.281: bits[8], id=282, pos=[(0,244,17), (0,272,23)])" } nodes { total_delay_ps: 1638 node_delay_ps: 17 op: OP_SIGN_EXT id: 281 ir: "sign_ext.281: bits[8] = sign_ext(or.297: bits[1], new_bit_count=8, id=281, pos=[(0,244,17), (0,272,23)])" } nodes { total_delay_ps: 1621 node_delay_ps: 27 op: OP_OR id: 297 ir: "or.297: bits[1] = or(bit_slice.225: bits[1], and_reduce.226: bits[1], ne.234: bits[1], id=297, pos=[(0,244,17), (0,272,23)])" } nodes { total_delay_ps: 1594 node_delay_ps: 64 op: OP_AND_REDUCE id: 226 ir: "and_reduce.226: bits[1] = and_reduce(bit_slice.223: bits[7], id=226, pos=[(0,244,20), (0,272,23)])" } nodes { total_delay_ps: 1530 op: OP_BIT_SLICE id: 223 ir: "bit_slice.223: bits[7] = bit_slice(bexp__1: bits[8], start=0, width=7, id=223, pos=[(0,244,20), (0,272,23)])" } nodes { total_delay_ps: 1530 node_delay_ps: 206 op: OP_SUB id: 271 ir: "bexp__1: bits[8] = sub(concat.285: bits[8], lz: bits[8], id=271)" } nodes { total_delay_ps: 1324 op: OP_CONCAT id: 285 ir: "concat.285: bits[8] = concat(literal.277: bits[6], sel.276: bits[2], id=285)" } nodes { total_delay_ps: 1324 node_delay_ps: 88 op: OP_SEL id: 276 ir: "sel.276: bits[2] = sel(bit_slice.299, cases=[bexp_associative_element_squeezed, literal.284], id=276)" } nodes { total_delay_ps: 1236 op: OP_BIT_SLICE id: 299 ir: "bit_slice.299: bits[1] = bit_slice(add.293: bits[24], start=23, width=1, id=299, pos=[(0,234,19), (0,272,23)])" } nodes { total_delay_ps: 1236 node_delay_ps: 327 op: OP_ADD id: 293 ir: "add.293: bits[24] = add(concat.308: bits[24], concat.323: bits[24], id=293)" } nodes { total_delay_ps: 909 op: OP_CONCAT id: 323 ir: "concat.323: bits[24] = concat(literal.317: bits[23], or.206: bits[1], id=323)" } nodes { total_delay_ps: 909 node_delay_ps: 19 op: OP_OR id: 206 ir: "or.206: bits[1] = or(ugt.204: bits[1], eq.205: bits[1], id=206, pos=[(0,233,12), (0,272,23)])" } nodes { total_delay_ps: 890 node_delay_ps: 75 op: OP_UGT id: 204 ir: "ugt.204: bits[1] = ugt(normal_chunk: bits[3], literal.201: bits[3], id=204, pos=[(0,233,12), (0,272,23)])" } nodes { total_delay_ps: 815 op: OP_BIT_SLICE id: 200 ir: "normal_chunk: bits[3] = bit_slice(x__2: bits[26], start=0, width=3, id=200, pos=[(0,230,31), (0,272,23)])" } nodes { total_delay_ps: 815 node_delay_ps: 19 op: OP_OR id: 199 ir: "x__2: bits[26] = or(bit_slice.197: bits[26], concat.198: bits[26], id=199, pos=[(0,228,20), (0,272,23)])" } nodes { total_delay_ps: 796 op: OP_CONCAT id: 198 ir: "concat.198: bits[26] = concat(literal.195: bits[25], ne.264: bits[1], id=198, pos=[(0,272,23)])" } nodes { total_delay_ps: 796 node_delay_ps: 85 op: OP_NE id: 264 ir: "ne.264: bits[1] = ne(bit_slice.266: bits[5], literal.265: bits[5], id=264, pos=[(0,227,18), (0,272,23)])" } nodes { total_delay_ps: 711 op: OP_BIT_SLICE id: 266 ir: "bit_slice.266: bits[5] = bit_slice(x__1_narrowed: bits[33], start=2, width=5, id=266, pos=[(0,227,18), (0,272,23)])" } nodes { total_delay_ps: 711 node_delay_ps: 259 op: OP_SHLL id: 252 ir: "x__1_narrowed: bits[33] = shll(concat.187: bits[33], concat.314: bits[7], id=252, pos=[(0,272,23)])" } nodes { total_delay_ps: 452 op: OP_CONCAT id: 314 ir: "concat.314: bits[7] = concat(add.288: bits[6], bit_slice.305: bits[1], id=314, pos=[(0,221,40), (0,272,23)])" } nodes { total_delay_ps: 452 node_delay_ps: 182 op: OP_ADD id: 288 ir: "add.288: bits[6] = add(concat.304: bits[6], literal.296: bits[6], id=288, pos=[(0,221,40), (0,272,23)])" } nodes { total_delay_ps: 270 op: OP_CONCAT id: 304 ir: "concat.304: bits[6] = concat(sign: bits[1], bit_slice.303: bits[5], id=304, pos=[(0,221,40), (0,272,23)])" } nodes { total_delay_ps: 270 op: OP_BIT_SLICE id: 303 ir: "bit_slice.303: bits[5] = bit_slice(encode.66: bits[6], start=1, width=5, id=303, pos=[(0,221,40), (0,272,23)])" } nodes { total_delay_ps: 270 node_delay_ps: 81 op: OP_ENCODE id: 66 ir: "encode.66: bits[6] = encode(one_hot.65: bits[33], id=66, pos=[(0,271,17)])" } nodes { total_delay_ps: 189 node_delay_ps: 189 op: OP_ONE_HOT id: 65 ir: "one_hot.65: bits[33] = one_hot(reverse.64: bits[32], lsb_prio=true, id=65, pos=[(0,271,17)])" } nodes { op: OP_REVERSE id: 64 ir: "reverse.64: bits[32] = reverse(x: bits[32], id=64, pos=[(0,271,17)])" } nodes { op: OP_PARAM id: 61 ir: "x: bits[32] = param(name=x, id=61)" } } all_nodes { op: OP_PARAM id: 61 ir: "x: bits[32] = param(name=x, id=61)" } all_nodes { op: OP_REVERSE id: 64 ir: "reverse.64: bits[32] = reverse(x: bits[32], id=64, pos=[(0,271,17)])" } all_nodes { node_delay_ps: 189 op: OP_ONE_HOT id: 65 ir: "one_hot.65: bits[33] = one_hot(reverse.64: bits[32], lsb_prio=true, id=65, pos=[(0,271,17)])" } all_nodes { node_delay_ps: 81 op: OP_ENCODE id: 66 ir: "encode.66: bits[6] = encode(one_hot.65: bits[33], id=66, pos=[(0,271,17)])" } all_nodes { op: OP_LITERAL id: 180 ir: "sign: bits[1] = literal(value=0, id=180)" } all_nodes { op: OP_BIT_SLICE id: 303 ir: "bit_slice.303: bits[5] = bit_slice(encode.66: bits[6], start=1, width=5, id=303, pos=[(0,221,40), (0,272,23)])" } all_nodes { op: OP_CONCAT id: 304 ir: "concat.304: bits[6] = concat(sign: bits[1], bit_slice.303: bits[5], id=304, pos=[(0,221,40), (0,272,23)])" } all_nodes { op: OP_LITERAL id: 296 ir: "literal.296: bits[6] = literal(value=1, id=296, pos=[(0,221,40), (0,272,23)])" } all_nodes { node_delay_ps: 182 op: OP_ADD id: 288 ir: "add.288: bits[6] = add(concat.304: bits[6], literal.296: bits[6], id=288, pos=[(0,221,40), (0,272,23)])" } all_nodes { op: OP_BIT_SLICE id: 305 ir: "bit_slice.305: bits[1] = bit_slice(encode.66: bits[6], start=0, width=1, id=305, pos=[(0,221,40), (0,272,23)])" } all_nodes { op: OP_CONCAT id: 187 ir: "concat.187: bits[33] = concat(sign: bits[1], x: bits[32], id=187, pos=[(0,221,20), (0,272,23)])" } all_nodes { op: OP_CONCAT id: 314 ir: "concat.314: bits[7] = concat(add.288: bits[6], bit_slice.305: bits[1], id=314, pos=[(0,221,40), (0,272,23)])" } all_nodes { node_delay_ps: 259 op: OP_SHLL id: 252 ir: "x__1_narrowed: bits[33] = shll(concat.187: bits[33], concat.314: bits[7], id=252, pos=[(0,272,23)])" } all_nodes { op: OP_BIT_SLICE id: 266 ir: "bit_slice.266: bits[5] = bit_slice(x__1_narrowed: bits[33], start=2, width=5, id=266, pos=[(0,227,18), (0,272,23)])" } all_nodes { op: OP_LITERAL id: 265 ir: "literal.265: bits[5] = literal(value=0, id=265, pos=[(0,227,18), (0,272,23)])" } all_nodes { op: OP_LITERAL id: 195 ir: "literal.195: bits[25] = literal(value=0, id=195, pos=[(0,272,23)])" } all_nodes { node_delay_ps: 85 op: OP_NE id: 264 ir: "ne.264: bits[1] = ne(bit_slice.266: bits[5], literal.265: bits[5], id=264, pos=[(0,227,18), (0,272,23)])" } all_nodes { op: OP_BIT_SLICE id: 197 ir: "bit_slice.197: bits[26] = bit_slice(x__1_narrowed: bits[33], start=7, width=26, id=197, pos=[(0,228,20), (0,272,23)])" } all_nodes { op: OP_CONCAT id: 198 ir: "concat.198: bits[26] = concat(literal.195: bits[25], ne.264: bits[1], id=198, pos=[(0,272,23)])" } all_nodes { node_delay_ps: 19 op: OP_OR id: 199 ir: "x__2: bits[26] = or(bit_slice.197: bits[26], concat.198: bits[26], id=199, pos=[(0,228,20), (0,272,23)])" } all_nodes { op: OP_BIT_SLICE id: 200 ir: "normal_chunk: bits[3] = bit_slice(x__2: bits[26], start=0, width=3, id=200, pos=[(0,230,31), (0,272,23)])" } all_nodes { op: OP_LITERAL id: 201 ir: "literal.201: bits[3] = literal(value=4, id=201, pos=[(0,233,27), (0,272,23)])" } all_nodes { op: OP_BIT_SLICE id: 202 ir: "half_way_chunk: bits[2] = bit_slice(x__2: bits[26], start=2, width=2, id=202, pos=[(0,231,33), (0,272,23)])" } all_nodes { op: OP_LITERAL id: 203 ir: "literal.203: bits[2] = literal(value=3, id=203, pos=[(0,233,56), (0,272,23)])" } all_nodes { node_delay_ps: 75 op: OP_UGT id: 204 ir: "ugt.204: bits[1] = ugt(normal_chunk: bits[3], literal.201: bits[3], id=204, pos=[(0,233,12), (0,272,23)])" } all_nodes { node_delay_ps: 64 op: OP_EQ id: 205 ir: "eq.205: bits[1] = eq(half_way_chunk: bits[2], literal.203: bits[2], id=205, pos=[(0,233,38), (0,272,23)])" } all_nodes { op: OP_BIT_SLICE id: 307 ir: "bit_slice.307: bits[23] = bit_slice(x__2: bits[26], start=3, width=23, id=307)" } all_nodes { op: OP_LITERAL id: 317 ir: "literal.317: bits[23] = literal(value=0, id=317)" } all_nodes { node_delay_ps: 19 op: OP_OR id: 206 ir: "or.206: bits[1] = or(ugt.204: bits[1], eq.205: bits[1], id=206, pos=[(0,233,12), (0,272,23)])" } all_nodes { op: OP_CONCAT id: 308 ir: "concat.308: bits[24] = concat(sign: bits[1], bit_slice.307: bits[23], id=308)" } all_nodes { op: OP_CONCAT id: 323 ir: "concat.323: bits[24] = concat(literal.317: bits[23], or.206: bits[1], id=323)" } all_nodes { node_delay_ps: 327 op: OP_ADD id: 293 ir: "add.293: bits[24] = add(concat.308: bits[24], concat.323: bits[24], id=293)" } all_nodes { op: OP_BIT_SLICE id: 299 ir: "bit_slice.299: bits[1] = bit_slice(add.293: bits[24], start=23, width=1, id=299, pos=[(0,234,19), (0,272,23)])" } all_nodes { op: OP_LITERAL id: 283 ir: "bexp_associative_element_squeezed: bits[2] = literal(value=1, id=283, pos=[(0,224,15), (0,272,23)])" } all_nodes { op: OP_LITERAL id: 284 ir: "literal.284: bits[2] = literal(value=2, id=284, pos=[(0,238,29), (0,272,23)])" } all_nodes { op: OP_CONCAT id: 159 ir: "concat.159: bits[7] = concat(sign: bits[1], encode.66: bits[6], id=159)" } all_nodes { op: OP_LITERAL id: 181 ir: "literal.181: bits[7] = literal(value=127, id=181, pos=[(0,271,17)])" } all_nodes { op: OP_LITERAL id: 277 ir: "literal.277: bits[6] = literal(value=39, id=277)" } all_nodes { node_delay_ps: 88 op: OP_SEL id: 276 ir: "sel.276: bits[2] = sel(bit_slice.299, cases=[bexp_associative_element_squeezed, literal.284], id=276)" } all_nodes { node_delay_ps: 198 op: OP_ADD id: 138 ir: "add.138: bits[7] = add(concat.159: bits[7], literal.181: bits[7], id=138, pos=[(0,271,17)])" } all_nodes { op: OP_CONCAT id: 285 ir: "concat.285: bits[8] = concat(literal.277: bits[6], sel.276: bits[2], id=285)" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 139 ir: "lz: bits[8] = sign_ext(add.138: bits[7], new_bit_count=8, id=139, pos=[(0,271,17)])" } all_nodes { node_delay_ps: 206 op: OP_SUB id: 271 ir: "bexp__1: bits[8] = sub(concat.285: bits[8], lz: bits[8], id=271)" } all_nodes { op: OP_BIT_SLICE id: 223 ir: "bit_slice.223: bits[7] = bit_slice(bexp__1: bits[8], start=0, width=7, id=223, pos=[(0,244,20), (0,272,23)])" } all_nodes { op: OP_BIT_SLICE id: 301 ir: "x__4: bits[23] = bit_slice(add.293: bits[24], start=0, width=23, id=301, pos=[(0,272,23)])" } all_nodes { op: OP_BIT_SLICE id: 225 ir: "bit_slice.225: bits[1] = bit_slice(bexp__1: bits[8], start=7, width=1, id=225, pos=[(0,244,20), (0,272,23)])" } all_nodes { node_delay_ps: 64 op: OP_AND_REDUCE id: 226 ir: "and_reduce.226: bits[1] = and_reduce(bit_slice.223: bits[7], id=226, pos=[(0,244,20), (0,272,23)])" } all_nodes { node_delay_ps: 125 op: OP_NE id: 234 ir: "ne.234: bits[1] = ne(x__4: bits[23], literal.317: bits[23], id=234, pos=[(0,244,20), (0,272,23)])" } all_nodes { node_delay_ps: 27 op: OP_OR id: 297 ir: "or.297: bits[1] = or(bit_slice.225: bits[1], and_reduce.226: bits[1], ne.234: bits[1], id=297, pos=[(0,244,17), (0,272,23)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 281 ir: "sign_ext.281: bits[8] = sign_ext(or.297: bits[1], new_bit_count=8, id=281, pos=[(0,244,17), (0,272,23)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 282 ir: "and.282: bits[8] = and(bexp__1: bits[8], sign_ext.281: bits[8], id=282, pos=[(0,244,17), (0,272,23)])" } all_nodes { op: OP_TUPLE id: 233 ir: "result__1: (bits[1], bits[8], bits[23]) = tuple(sign: bits[1], and.282: bits[8], x__4: bits[23], id=233, pos=[(0,244,17), (0,272,23)])" }