combinational_critical_path { total_delay_ps: 1978 nodes { total_delay_ps: 1978 node_delay_ps: 156 op: OP_SEL id: 387 ir: "result__2: bits[64] = sel(x_sign__1, cases=[result, neg.386], id=387, pos=[(1,2679,21), (1,2698,29), (2,105,48)])" } nodes { total_delay_ps: 1822 node_delay_ps: 315 op: OP_NEG id: 386 ir: "neg.386: bits[64] = neg(result: bits[64], id=386, pos=[(1,2679,50), (1,2698,29), (2,105,48)])" } nodes { total_delay_ps: 1507 node_delay_ps: 156 op: OP_SEL id: 385 ir: "result: bits[64] = sel(or.382, cases=[and.400, sel.384], id=385, pos=[(1,2651,17), (1,2698,29), (2,105,48)])" } nodes { total_delay_ps: 1351 node_delay_ps: 23 op: OP_AND id: 400 ir: "and.400: bits[64] = and(sel.377: bits[64], sign_ext.399: bits[64], id=400, pos=[(1,2654,11), (1,2698,29), (2,105,48)])" } nodes { total_delay_ps: 1328 node_delay_ps: 156 op: OP_SEL id: 377 ir: "sel.377: bits[64] = sel(eq.371, cases=[sel.372, literal.373], id=377, pos=[(1,2658,11), (1,2698,29), (2,105,48)])" } nodes { total_delay_ps: 1172 node_delay_ps: 156 op: OP_SEL id: 372 ir: "sel.372: bits[64] = sel(bit_slice.364, cases=[shll.395, concat.366], id=372, pos=[(1,2665,8), (1,2698,29), (2,105,48)])" } nodes { total_delay_ps: 1016 node_delay_ps: 309 op: OP_SHLL id: 395 ir: "shll.395: bits[64] = shll(fraction: bits[64], and.397: bits[32], id=395)" } nodes { total_delay_ps: 707 node_delay_ps: 23 op: OP_AND id: 397 ir: "and.397: bits[32] = and(effective_exp: bits[32], sign_ext.396: bits[32], id=397)" } nodes { total_delay_ps: 684 node_delay_ps: 17 op: OP_SIGN_EXT id: 396 ir: "sign_ext.396: bits[32] = sign_ext(sgt.357: bits[1], new_bit_count=32, id=396)" } nodes { total_delay_ps: 667 node_delay_ps: 170 op: OP_SGT id: 357 ir: "sgt.357: bits[1] = sgt(concat.405: bits[12], literal.351: bits[12], id=357, pos=[(1,2667,18), (1,2698,29), (2,105,48)])" } nodes { total_delay_ps: 497 op: OP_CONCAT id: 405 ir: "concat.405: bits[12] = concat(add.403: bits[10], bit_slice.407: bits[2], id=405, pos=[(1,2664,29), (1,2698,29), (2,105,48)])" } nodes { total_delay_ps: 497 node_delay_ps: 235 op: OP_ADD id: 403 ir: "add.403: bits[10] = add(sign_ext.409: bits[10], literal.406: bits[10], id=403, pos=[(1,2664,29), (1,2698,29), (2,105,48)])" } nodes { total_delay_ps: 262 node_delay_ps: 17 op: OP_SIGN_EXT id: 409 ir: "sign_ext.409: bits[10] = sign_ext(bit_slice.408: bits[9], new_bit_count=10, id=409, pos=[(1,2664,29), (1,2698,29), (2,105,48)])" } nodes { total_delay_ps: 245 op: OP_BIT_SLICE id: 408 ir: "bit_slice.408: bits[9] = bit_slice(exp: bits[11], start=2, width=9, id=408, pos=[(1,2664,29), (1,2698,29), (2,105,48)])" } nodes { total_delay_ps: 245 node_delay_ps: 245 op: OP_ADD id: 343 ir: "exp: bits[11] = add(x_bexp__2: bits[11], literal.342: bits[11], id=343, pos=[(1,266,6), (1,2642,31), (1,2698,29), (2,105,48)])" } nodes { op: OP_LITERAL id: 342 ir: "literal.342: bits[11] = literal(value=1025, id=342, pos=[(1,266,6), (1,2642,31), (1,2698,29), (2,105,48)])" } } all_nodes { op: OP_PARAM id: 135 ir: "x: (bits[1], bits[11], bits[52]) = param(name=x, id=135)" } all_nodes { op: OP_TUPLE_INDEX id: 341 ir: "x_bexp__2: bits[11] = tuple_index(x: (bits[1], bits[11], bits[52]), index=1, id=341, pos=[(1,266,6), (1,2642,31), (1,2698,29), (2,105,48)])" } all_nodes { op: OP_LITERAL id: 342 ir: "literal.342: bits[11] = literal(value=1025, id=342, pos=[(1,266,6), (1,2642,31), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 245 op: OP_ADD id: 343 ir: "exp: bits[11] = add(x_bexp__2: bits[11], literal.342: bits[11], id=343, pos=[(1,266,6), (1,2642,31), (1,2698,29), (2,105,48)])" } all_nodes { op: OP_BIT_SLICE id: 408 ir: "bit_slice.408: bits[9] = bit_slice(exp: bits[11], start=2, width=9, id=408, pos=[(1,2664,29), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 409 ir: "sign_ext.409: bits[10] = sign_ext(bit_slice.408: bits[9], new_bit_count=10, id=409, pos=[(1,2664,29), (1,2698,29), (2,105,48)])" } all_nodes { op: OP_LITERAL id: 406 ir: "literal.406: bits[10] = literal(value=1011, id=406, pos=[(1,2664,29), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 235 op: OP_ADD id: 403 ir: "add.403: bits[10] = add(sign_ext.409: bits[10], literal.406: bits[10], id=403, pos=[(1,2664,29), (1,2698,29), (2,105,48)])" } all_nodes { op: OP_BIT_SLICE id: 407 ir: "bit_slice.407: bits[2] = bit_slice(exp: bits[11], start=0, width=2, id=407, pos=[(1,2664,29), (1,2698,29), (2,105,48)])" } all_nodes { op: OP_CONCAT id: 405 ir: "concat.405: bits[12] = concat(add.403: bits[10], bit_slice.407: bits[2], id=405, pos=[(1,2664,29), (1,2698,29), (2,105,48)])" } all_nodes { op: OP_LITERAL id: 351 ir: "literal.351: bits[12] = literal(value=0, id=351, pos=[(1,2667,18), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 170 op: OP_SGT id: 357 ir: "sgt.357: bits[1] = sgt(concat.405: bits[12], literal.351: bits[12], id=357, pos=[(1,2667,18), (1,2698,29), (2,105,48)])" } all_nodes { op: OP_LITERAL id: 349 ir: "literal.349: bits[1] = literal(value=1, id=349, pos=[(1,2646,21), (1,2698,29), (2,105,48)])" } all_nodes { op: OP_TUPLE_INDEX id: 348 ir: "x_fraction__2: bits[52] = tuple_index(x: (bits[1], bits[11], bits[52]), index=2, id=348, pos=[(1,2646,21), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 172 op: OP_NEG id: 391 ir: "neg.391: bits[12] = neg(concat.405: bits[12], id=391, pos=[(1,2664,29), (1,2698,29), (2,105,48)])" } all_nodes { op: OP_LITERAL id: 355 ir: "literal.355: bits[11] = literal(value=2047, id=355, pos=[(1,71,29), (1,2654,20), (1,2698,29), (2,105,48)])" } all_nodes { op: OP_LITERAL id: 356 ir: "literal.356: bits[52] = literal(value=0, id=356, pos=[(1,71,57), (1,2654,20), (1,2698,29), (2,105,48)])" } all_nodes { op: OP_LITERAL id: 347 ir: "literal.347: bits[12] = literal(value=1, id=347, pos=[(1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 350 ir: "effective_exp: bits[32] = sign_ext(concat.405: bits[12], new_bit_count=32, id=350, pos=[(1,2664,29), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 396 ir: "sign_ext.396: bits[32] = sign_ext(sgt.357: bits[1], new_bit_count=32, id=396)" } all_nodes { op: OP_CONCAT id: 353 ir: "fraction_shift_bits: bits[53] = concat(literal.349: bits[1], x_fraction__2: bits[52], id=353, pos=[(1,2646,21), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 392 ir: "sign_ext.392: bits[32] = sign_ext(neg.391: bits[12], new_bit_count=32, id=392, pos=[(1,2666,26), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 105 op: OP_EQ id: 361 ir: "eq.361: bits[1] = eq(x_bexp__2: bits[11], literal.355: bits[11], id=361, pos=[(1,71,6), (1,2654,20), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 154 op: OP_NE id: 362 ir: "ne.362: bits[1] = ne(x_fraction__2: bits[52], literal.356: bits[52], id=362, pos=[(1,71,44), (1,2654,20), (1,2698,29), (2,105,48)])" } all_nodes { op: OP_CONCAT id: 352 ir: "fraction: bits[64] = concat(literal.347: bits[12], x_fraction__2: bits[52], id=352, pos=[(1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 397 ir: "and.397: bits[32] = and(effective_exp: bits[32], sign_ext.396: bits[32], id=397)" } all_nodes { op: OP_LITERAL id: 359 ir: "literal.359: bits[11] = literal(value=0, id=359, pos=[(1,2666,13), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 294 op: OP_SHRL id: 360 ir: "shrl.360: bits[53] = shrl(fraction_shift_bits: bits[53], sign_ext.392: bits[32], id=360, pos=[(1,2666,13), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 369 ir: "and.369: bits[1] = and(eq.361: bits[1], ne.362: bits[1], id=369, pos=[(1,71,6), (1,2654,20), (1,2698,29), (2,105,48)])" } all_nodes { op: OP_BIT_SLICE id: 370 ir: "bit_slice.370: bits[1] = bit_slice(exp: bits[11], start=10, width=1, id=370, pos=[(1,2656,14), (1,2698,29), (2,105,48)])" } all_nodes { op: OP_LITERAL id: 363 ir: "literal.363: bits[11] = literal(value=1023, id=363, pos=[(1,2658,14), (1,2698,29), (2,105,48)])" } all_nodes { op: OP_BIT_SLICE id: 364 ir: "bit_slice.364: bits[1] = bit_slice(effective_exp: bits[32], start=31, width=1, id=364, pos=[(1,2665,11), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 309 op: OP_SHLL id: 395 ir: "shll.395: bits[64] = shll(fraction: bits[64], and.397: bits[32], id=395)" } all_nodes { op: OP_CONCAT id: 366 ir: "concat.366: bits[64] = concat(literal.359: bits[11], shrl.360: bits[53], id=366, pos=[(1,2666,13), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 19 op: OP_OR id: 376 ir: "or.376: bits[1] = or(and.369: bits[1], bit_slice.370: bits[1], id=376, pos=[(1,2654,11), (1,2698,29), (2,105,48)])" } all_nodes { op: OP_LITERAL id: 367 ir: "literal.367: bits[11] = literal(value=63, id=367, pos=[(1,2650,18), (1,2698,29), (2,105,48)])" } all_nodes { op: OP_NOT id: 389 ir: "not.389: bits[1] = not(eq.361: bits[1], id=389, pos=[(1,96,6), (1,2651,37), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 105 op: OP_EQ id: 371 ir: "eq.371: bits[1] = eq(x_bexp__2: bits[11], literal.363: bits[11], id=371, pos=[(1,2658,14), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 156 op: OP_SEL id: 372 ir: "sel.372: bits[64] = sel(bit_slice.364, cases=[shll.395, concat.366], id=372, pos=[(1,2665,8), (1,2698,29), (2,105,48)])" } all_nodes { op: OP_LITERAL id: 373 ir: "literal.373: bits[64] = literal(value=1, id=373, pos=[(1,2659,8), (1,2698,29), (2,105,48)])" } all_nodes { op: OP_NOT id: 398 ir: "not.398: bits[1] = not(or.376: bits[1], id=398, pos=[(1,2654,11), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 156 op: OP_SGE id: 374 ir: "exp_oob: bits[1] = sge(exp: bits[11], literal.367: bits[11], id=374, pos=[(1,2650,18), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 390 ir: "nor.390: bits[1] = nor(not.389: bits[1], ne.362: bits[1], id=390, pos=[(1,96,6), (1,2651,37), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 156 op: OP_SEL id: 377 ir: "sel.377: bits[64] = sel(eq.371, cases=[sel.372, literal.373], id=377, pos=[(1,2658,11), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 399 ir: "sign_ext.399: bits[64] = sign_ext(not.398: bits[1], new_bit_count=64, id=399, pos=[(1,2654,11), (1,2698,29), (2,105,48)])" } all_nodes { op: OP_TUPLE_INDEX id: 379 ir: "x_sign__1: bits[1] = tuple_index(x: (bits[1], bits[11], bits[52]), index=0, id=379, pos=[(1,2653,12), (1,2698,29), (2,105,48)])" } all_nodes { op: OP_LITERAL id: 380 ir: "INT_MAX: bits[64] = literal(value=9223372036854775807, id=380, pos=[(1,2636,20), (1,2698,29), (2,105,48)])" } all_nodes { op: OP_LITERAL id: 381 ir: "INT_MIN: bits[64] = literal(value=9223372036854775808, id=381, pos=[(1,2631,20), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 19 op: OP_OR id: 382 ir: "or.382: bits[1] = or(exp_oob: bits[1], nor.390: bits[1], id=382, pos=[(1,2651,20), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 400 ir: "and.400: bits[64] = and(sel.377: bits[64], sign_ext.399: bits[64], id=400, pos=[(1,2654,11), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 156 op: OP_SEL id: 384 ir: "sel.384: bits[64] = sel(x_sign__1, cases=[INT_MAX, INT_MIN], id=384, pos=[(1,2653,8), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 156 op: OP_SEL id: 385 ir: "result: bits[64] = sel(or.382, cases=[and.400, sel.384], id=385, pos=[(1,2651,17), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 315 op: OP_NEG id: 386 ir: "neg.386: bits[64] = neg(result: bits[64], id=386, pos=[(1,2679,50), (1,2698,29), (2,105,48)])" } all_nodes { node_delay_ps: 156 op: OP_SEL id: 387 ir: "result__2: bits[64] = sel(x_sign__1, cases=[result, neg.386], id=387, pos=[(1,2679,21), (1,2698,29), (2,105,48)])" }