combinational_critical_path { total_delay_ps: 2157 nodes { total_delay_ps: 2157 op: OP_TUPLE id: 143 ir: "tuple.143: (bits[1], bits[8], bits[23]) = tuple(or.267: bits[1], sel.139: bits[8], and.319: bits[23], id=143, pos=[(0,255,4)])" } nodes { total_delay_ps: 2157 node_delay_ps: 115 op: OP_SEL id: 139 ir: "sel.139: bits[8] = sel(is_neg_int_max, cases=[and.316, literal.239], id=139, pos=[(0,255,4)])" } nodes { total_delay_ps: 2042 node_delay_ps: 23 op: OP_AND id: 316 ir: "and.316: bits[8] = and(bexp__1: bits[8], sign_ext.315: bits[8], id=316, pos=[(0,244,17), (0,261,27)])" } nodes { total_delay_ps: 2019 node_delay_ps: 17 op: OP_SIGN_EXT id: 315 ir: "sign_ext.315: bits[8] = sign_ext(or.328: bits[1], new_bit_count=8, id=315, pos=[(0,244,17), (0,261,27)])" } nodes { total_delay_ps: 2002 node_delay_ps: 27 op: OP_OR id: 328 ir: "or.328: bits[1] = or(bit_slice.248: bits[1], and_reduce.249: bits[1], ne.257: bits[1], id=328, pos=[(0,244,17), (0,261,27)])" } nodes { total_delay_ps: 1975 node_delay_ps: 64 op: OP_AND_REDUCE id: 249 ir: "and_reduce.249: bits[1] = and_reduce(bit_slice.246: bits[7], id=249, pos=[(0,244,20), (0,261,27)])" } nodes { total_delay_ps: 1911 op: OP_BIT_SLICE id: 246 ir: "bit_slice.246: bits[7] = bit_slice(bexp__1: bits[8], start=0, width=7, id=246, pos=[(0,244,20), (0,261,27)])" } nodes { total_delay_ps: 1911 node_delay_ps: 206 op: OP_SUB id: 305 ir: "bexp__1: bits[8] = sub(concat.322: bits[8], lz: bits[8], id=305)" } nodes { total_delay_ps: 1705 op: OP_CONCAT id: 322 ir: "concat.322: bits[8] = concat(literal.311: bits[6], sel.310: bits[2], id=322)" } nodes { total_delay_ps: 1705 node_delay_ps: 88 op: OP_SEL id: 310 ir: "sel.310: bits[2] = sel(bit_slice.330, cases=[bexp_associative_element_squeezed, literal.321], id=310)" } nodes { total_delay_ps: 1617 op: OP_BIT_SLICE id: 330 ir: "bit_slice.330: bits[1] = bit_slice(add.325: bits[24], start=23, width=1, id=330, pos=[(0,234,19), (0,261,27)])" } nodes { total_delay_ps: 1617 node_delay_ps: 327 op: OP_ADD id: 325 ir: "add.325: bits[24] = add(concat.335: bits[24], concat.349: bits[24], id=325)" } nodes { total_delay_ps: 1290 op: OP_CONCAT id: 349 ir: "concat.349: bits[24] = concat(literal.343: bits[23], or.229: bits[1], id=349)" } nodes { total_delay_ps: 1290 node_delay_ps: 19 op: OP_OR id: 229 ir: "or.229: bits[1] = or(ugt.227: bits[1], eq.228: bits[1], id=229, pos=[(0,233,12), (0,261,27)])" } nodes { total_delay_ps: 1271 node_delay_ps: 75 op: OP_UGT id: 227 ir: "ugt.227: bits[1] = ugt(normal_chunk: bits[3], literal.224: bits[3], id=227, pos=[(0,233,12), (0,261,27)])" } nodes { total_delay_ps: 1196 op: OP_BIT_SLICE id: 223 ir: "normal_chunk: bits[3] = bit_slice(fraction__2: bits[26], start=0, width=3, id=223, pos=[(0,230,31), (0,261,27)])" } nodes { total_delay_ps: 1196 node_delay_ps: 19 op: OP_OR id: 222 ir: "fraction__2: bits[26] = or(bit_slice.220: bits[26], concat.221: bits[26], id=222, pos=[(0,228,20), (0,261,27)])" } nodes { total_delay_ps: 1177 op: OP_CONCAT id: 221 ir: "concat.221: bits[26] = concat(literal.218: bits[25], ne.298: bits[1], id=221, pos=[(0,261,27)])" } nodes { total_delay_ps: 1177 node_delay_ps: 80 op: OP_NE id: 298 ir: "ne.298: bits[1] = ne(bit_slice.300: bits[4], literal.299: bits[4], id=298, pos=[(0,227,18), (0,261,27)])" } nodes { total_delay_ps: 1097 op: OP_BIT_SLICE id: 300 ir: "bit_slice.300: bits[4] = bit_slice(fraction__1_narrowed: bits[33], start=3, width=4, id=300, pos=[(0,227,18), (0,261,27)])" } nodes { total_delay_ps: 1097 node_delay_ps: 259 op: OP_SHLL id: 273 ir: "fraction__1_narrowed: bits[33] = shll(concat.280: bits[33], add.270: bits[6], id=273, pos=[(0,261,27)])" } nodes { total_delay_ps: 838 node_delay_ps: 182 op: OP_ADD id: 270 ir: "add.270: bits[6] = add(concat.276: bits[6], literal.282: bits[6], id=270, pos=[(0,221,40), (0,261,27)])" } nodes { total_delay_ps: 656 op: OP_CONCAT id: 276 ir: "concat.276: bits[6] = concat(literal.281: bits[1], encode.77: bits[5], id=276)" } nodes { total_delay_ps: 656 node_delay_ps: 80 op: OP_ENCODE id: 77 ir: "encode.77: bits[5] = encode(one_hot.76: bits[32], id=77, pos=[(0,260,20)])" } nodes { total_delay_ps: 576 node_delay_ps: 188 op: OP_ONE_HOT id: 76 ir: "one_hot.76: bits[32] = one_hot(reverse.75: bits[31], lsb_prio=true, id=76, pos=[(0,260,20)])" } nodes { total_delay_ps: 388 op: OP_REVERSE id: 75 ir: "reverse.75: bits[31] = reverse(fraction: bits[31], id=75, pos=[(0,260,20)])" } nodes { total_delay_ps: 388 node_delay_ps: 141 op: OP_SEL id: 74 ir: "fraction: bits[31] = sel(sign, cases=[bit_slice.181, neg.182], id=74, pos=[(0,259,23)])" } nodes { total_delay_ps: 247 node_delay_ps: 247 op: OP_NEG id: 182 ir: "neg.182: bits[31] = neg(bit_slice.181: bits[31], id=182, pos=[(0,259,33)])" } nodes { op: OP_BIT_SLICE id: 181 ir: "bit_slice.181: bits[31] = bit_slice(x: bits[32], start=0, width=31, id=181)" } 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_BIT_SLICE id: 181 ir: "bit_slice.181: bits[31] = bit_slice(x: bits[32], start=0, width=31, id=181)" } all_nodes { op: OP_BIT_SLICE id: 117 ir: "sign: bits[1] = bit_slice(x: bits[32], start=31, width=1, id=117, pos=[(0,258,20)])" } all_nodes { node_delay_ps: 247 op: OP_NEG id: 182 ir: "neg.182: bits[31] = neg(bit_slice.181: bits[31], id=182, pos=[(0,259,33)])" } all_nodes { node_delay_ps: 141 op: OP_SEL id: 74 ir: "fraction: bits[31] = sel(sign, cases=[bit_slice.181, neg.182], id=74, pos=[(0,259,23)])" } all_nodes { op: OP_REVERSE id: 75 ir: "reverse.75: bits[31] = reverse(fraction: bits[31], id=75, pos=[(0,260,20)])" } all_nodes { node_delay_ps: 188 op: OP_ONE_HOT id: 76 ir: "one_hot.76: bits[32] = one_hot(reverse.75: bits[31], lsb_prio=true, id=76, pos=[(0,260,20)])" } all_nodes { op: OP_LITERAL id: 281 ir: "literal.281: bits[1] = literal(value=0, id=281)" } all_nodes { node_delay_ps: 80 op: OP_ENCODE id: 77 ir: "encode.77: bits[5] = encode(one_hot.76: bits[32], id=77, pos=[(0,260,20)])" } all_nodes { op: OP_LITERAL id: 279 ir: "literal.279: bits[2] = literal(value=0, id=279, pos=[(0,221,20), (0,261,27)])" } all_nodes { op: OP_CONCAT id: 276 ir: "concat.276: bits[6] = concat(literal.281: bits[1], encode.77: bits[5], id=276)" } all_nodes { op: OP_LITERAL id: 282 ir: "literal.282: bits[6] = literal(value=3, id=282, pos=[(0,221,45), (0,261,27)])" } all_nodes { op: OP_CONCAT id: 280 ir: "concat.280: bits[33] = concat(literal.279: bits[2], fraction: bits[31], id=280, pos=[(0,221,20), (0,261,27)])" } all_nodes { node_delay_ps: 182 op: OP_ADD id: 270 ir: "add.270: bits[6] = add(concat.276: bits[6], literal.282: bits[6], id=270, pos=[(0,221,40), (0,261,27)])" } all_nodes { node_delay_ps: 259 op: OP_SHLL id: 273 ir: "fraction__1_narrowed: bits[33] = shll(concat.280: bits[33], add.270: bits[6], id=273, pos=[(0,261,27)])" } all_nodes { op: OP_BIT_SLICE id: 300 ir: "bit_slice.300: bits[4] = bit_slice(fraction__1_narrowed: bits[33], start=3, width=4, id=300, pos=[(0,227,18), (0,261,27)])" } all_nodes { op: OP_LITERAL id: 299 ir: "literal.299: bits[4] = literal(value=0, id=299, pos=[(0,227,18), (0,261,27)])" } all_nodes { op: OP_LITERAL id: 218 ir: "literal.218: bits[25] = literal(value=0, id=218, pos=[(0,261,27)])" } all_nodes { node_delay_ps: 80 op: OP_NE id: 298 ir: "ne.298: bits[1] = ne(bit_slice.300: bits[4], literal.299: bits[4], id=298, pos=[(0,227,18), (0,261,27)])" } all_nodes { op: OP_BIT_SLICE id: 220 ir: "bit_slice.220: bits[26] = bit_slice(fraction__1_narrowed: bits[33], start=7, width=26, id=220, pos=[(0,228,20), (0,261,27)])" } all_nodes { op: OP_CONCAT id: 221 ir: "concat.221: bits[26] = concat(literal.218: bits[25], ne.298: bits[1], id=221, pos=[(0,261,27)])" } all_nodes { node_delay_ps: 19 op: OP_OR id: 222 ir: "fraction__2: bits[26] = or(bit_slice.220: bits[26], concat.221: bits[26], id=222, pos=[(0,228,20), (0,261,27)])" } all_nodes { op: OP_BIT_SLICE id: 223 ir: "normal_chunk: bits[3] = bit_slice(fraction__2: bits[26], start=0, width=3, id=223, pos=[(0,230,31), (0,261,27)])" } all_nodes { op: OP_LITERAL id: 224 ir: "literal.224: bits[3] = literal(value=4, id=224, pos=[(0,233,27), (0,261,27)])" } all_nodes { op: OP_BIT_SLICE id: 225 ir: "half_way_chunk: bits[2] = bit_slice(fraction__2: bits[26], start=2, width=2, id=225, pos=[(0,231,33), (0,261,27)])" } all_nodes { op: OP_LITERAL id: 226 ir: "literal.226: bits[2] = literal(value=3, id=226, pos=[(0,233,56), (0,261,27)])" } all_nodes { node_delay_ps: 75 op: OP_UGT id: 227 ir: "ugt.227: bits[1] = ugt(normal_chunk: bits[3], literal.224: bits[3], id=227, pos=[(0,233,12), (0,261,27)])" } all_nodes { node_delay_ps: 64 op: OP_EQ id: 228 ir: "eq.228: bits[1] = eq(half_way_chunk: bits[2], literal.226: bits[2], id=228, pos=[(0,233,38), (0,261,27)])" } all_nodes { op: OP_BIT_SLICE id: 334 ir: "bit_slice.334: bits[23] = bit_slice(fraction__2: bits[26], start=3, width=23, id=334)" } all_nodes { op: OP_LITERAL id: 343 ir: "literal.343: bits[23] = literal(value=0, id=343)" } all_nodes { node_delay_ps: 19 op: OP_OR id: 229 ir: "or.229: bits[1] = or(ugt.227: bits[1], eq.228: bits[1], id=229, pos=[(0,233,12), (0,261,27)])" } all_nodes { op: OP_CONCAT id: 335 ir: "concat.335: bits[24] = concat(literal.281: bits[1], bit_slice.334: bits[23], id=335)" } all_nodes { op: OP_CONCAT id: 349 ir: "concat.349: bits[24] = concat(literal.343: bits[23], or.229: bits[1], id=349)" } all_nodes { node_delay_ps: 327 op: OP_ADD id: 325 ir: "add.325: bits[24] = add(concat.335: bits[24], concat.349: bits[24], id=325)" } all_nodes { op: OP_BIT_SLICE id: 330 ir: "bit_slice.330: bits[1] = bit_slice(add.325: bits[24], start=23, width=1, id=330, pos=[(0,234,19), (0,261,27)])" } all_nodes { op: OP_LITERAL id: 320 ir: "bexp_associative_element_squeezed: bits[2] = literal(value=1, id=320, pos=[(0,224,15), (0,261,27)])" } all_nodes { op: OP_LITERAL id: 321 ir: "literal.321: bits[2] = literal(value=2, id=321, pos=[(0,238,29), (0,261,27)])" } all_nodes { op: OP_LITERAL id: 311 ir: "literal.311: bits[6] = literal(value=39, id=311)" } all_nodes { node_delay_ps: 88 op: OP_SEL id: 310 ir: "sel.310: bits[2] = sel(bit_slice.330, cases=[bexp_associative_element_squeezed, literal.321], id=310)" } all_nodes { op: OP_LITERAL id: 204 ir: "literal.204: bits[3] = literal(value=0, id=204)" } all_nodes { op: OP_CONCAT id: 322 ir: "concat.322: bits[8] = concat(literal.311: bits[6], sel.310: bits[2], id=322)" } all_nodes { op: OP_CONCAT id: 184 ir: "lz: bits[8] = concat(literal.204: bits[3], encode.77: bits[5], id=184)" } all_nodes { node_delay_ps: 206 op: OP_SUB id: 305 ir: "bexp__1: bits[8] = sub(concat.322: bits[8], lz: bits[8], id=305)" } all_nodes { op: OP_BIT_SLICE id: 246 ir: "bit_slice.246: bits[7] = bit_slice(bexp__1: bits[8], start=0, width=7, id=246, pos=[(0,244,20), (0,261,27)])" } all_nodes { op: OP_BIT_SLICE id: 332 ir: "fraction__4: bits[23] = bit_slice(add.325: bits[24], start=0, width=23, id=332, pos=[(0,261,27)])" } all_nodes { op: OP_LITERAL id: 62 ir: "literal.62: bits[32] = literal(value=2147483648, id=62, pos=[(0,253,30)])" } all_nodes { op: OP_BIT_SLICE id: 248 ir: "bit_slice.248: bits[1] = bit_slice(bexp__1: bits[8], start=7, width=1, id=248, pos=[(0,244,20), (0,261,27)])" } all_nodes { node_delay_ps: 64 op: OP_AND_REDUCE id: 249 ir: "and_reduce.249: bits[1] = and_reduce(bit_slice.246: bits[7], id=249, pos=[(0,244,20), (0,261,27)])" } all_nodes { node_delay_ps: 125 op: OP_NE id: 257 ir: "ne.257: bits[1] = ne(fraction__4: bits[23], literal.343: bits[23], id=257, pos=[(0,244,20), (0,261,27)])" } all_nodes { node_delay_ps: 136 op: OP_EQ id: 63 ir: "is_neg_int_max: bits[1] = eq(x: bits[32], literal.62: bits[32], id=63, pos=[(0,253,25)])" } all_nodes { node_delay_ps: 38 op: OP_NOR id: 251 ir: "nor.251: bits[1] = nor(bit_slice.248: bits[1], and_reduce.249: bits[1], ne.257: bits[1], id=251, pos=[(0,244,20), (0,261,27)])" } all_nodes { node_delay_ps: 27 op: OP_OR id: 328 ir: "or.328: bits[1] = or(bit_slice.248: bits[1], and_reduce.249: bits[1], ne.257: bits[1], id=328, pos=[(0,244,17), (0,261,27)])" } all_nodes { node_delay_ps: 19 op: OP_OR id: 292 ir: "or.292: bits[1] = or(is_neg_int_max: bits[1], nor.251: bits[1], id=292, pos=[(0,255,4)])" } all_nodes { op: OP_NOT id: 265 ir: "not.265: bits[1] = not(is_neg_int_max: bits[1], id=265, pos=[(0,255,4)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 315 ir: "sign_ext.315: bits[8] = sign_ext(or.328: bits[1], new_bit_count=8, id=315, pos=[(0,244,17), (0,261,27)])" } all_nodes { op: OP_NOT id: 317 ir: "not.317: bits[1] = not(or.292: bits[1], id=317, pos=[(0,255,4)])" } all_nodes { node_delay_ps: 35 op: OP_AND id: 291 ir: "and.291: bits[1] = and(not.265: bits[1], or.328: bits[1], sign: bits[1], id=291, pos=[(0,255,4)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 316 ir: "and.316: bits[8] = and(bexp__1: bits[8], sign_ext.315: bits[8], id=316, pos=[(0,244,17), (0,261,27)])" } all_nodes { op: OP_LITERAL id: 239 ir: "literal.239: bits[8] = literal(value=158, id=239, pos=[(0,238,29), (0,261,27)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 318 ir: "sign_ext.318: bits[23] = sign_ext(not.317: bits[1], new_bit_count=23, id=318, pos=[(0,255,4)])" } all_nodes { node_delay_ps: 19 op: OP_OR id: 267 ir: "or.267: bits[1] = or(is_neg_int_max: bits[1], and.291: bits[1], id=267, pos=[(0,255,4)])" } all_nodes { node_delay_ps: 115 op: OP_SEL id: 139 ir: "sel.139: bits[8] = sel(is_neg_int_max, cases=[and.316, literal.239], id=139, pos=[(0,255,4)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 319 ir: "and.319: bits[23] = and(fraction__4: bits[23], sign_ext.318: bits[23], id=319, pos=[(0,255,4)])" } all_nodes { op: OP_TUPLE id: 143 ir: "tuple.143: (bits[1], bits[8], bits[23]) = tuple(or.267: bits[1], sel.139: bits[8], and.319: bits[23], id=143, pos=[(0,255,4)])" }