combinational_critical_path { total_delay_ps: 3423 nodes { total_delay_ps: 3423 op: OP_TUPLE id: 43 ir: "tuple.43: ((bits[32]), bits[64]) = tuple(s__2: (bits[32]), result: bits[64], id=43, pos=[(1,49,4)])" } nodes { total_delay_ps: 3423 op: OP_CONCAT id: 202 ir: "result: bits[64] = concat(add.194: bits[63], bit_slice.200: bits[1], id=202, pos=[(1,48,24)])" } nodes { total_delay_ps: 3423 node_delay_ps: 435 op: OP_ADD id: 194 ir: "add.194: bits[63] = add(smul_105_NarrowedMult_: bits[63], concat.199: bits[63], id=194, pos=[(1,48,24)])" } nodes { total_delay_ps: 2988 op: OP_CONCAT id: 199 ir: "concat.199: bits[63] = concat(literal.63: bits[32], bit_slice.198: bits[31], id=199, pos=[(1,48,24)])" } nodes { total_delay_ps: 2988 op: OP_BIT_SLICE id: 198 ir: "bit_slice.198: bits[31] = bit_slice(new_seed__2: bits[32], start=1, width=31, id=198, pos=[(1,48,24)])" } nodes { total_delay_ps: 2988 node_delay_ps: 358 op: OP_ADD id: 137 ir: "new_seed__2: bits[32] = add(concat.171: bits[32], concat.180: bits[32], id=137, pos=[(1,37,21), (1,47,29)])" } nodes { total_delay_ps: 2630 op: OP_CONCAT id: 180 ir: "concat.180: bits[32] = concat(smul_105_TrailingBits_: bits[1], bit_slice.174: bits[31], id=180, pos=[(1,37,43), (1,47,29)])" } nodes { total_delay_ps: 2630 op: OP_BIT_SLICE id: 174 ir: "bit_slice.174: bits[31] = bit_slice(umul.129: bits[47], start=0, width=31, id=174, pos=[(1,37,43), (1,47,29)])" } nodes { total_delay_ps: 2630 node_delay_ps: 1136 op: OP_UMUL id: 129 ir: "umul.129: bits[47] = umul(new_seed: bits[32], literal.108: bits[15], id=129, pos=[(1,36,20), (1,47,29)])" } nodes { total_delay_ps: 1494 node_delay_ps: 358 op: OP_ADD id: 117 ir: "new_seed: bits[32] = add(concat.164: bits[32], concat.179: bits[32], id=117, pos=[(1,37,21), (1,46,29)])" } nodes { total_delay_ps: 1136 op: OP_CONCAT id: 179 ir: "concat.179: bits[32] = concat(smul_105_TrailingBits_: bits[1], bit_slice.173: bits[31], id=179, pos=[(1,37,43), (1,46,29)])" } nodes { total_delay_ps: 1136 op: OP_BIT_SLICE id: 173 ir: "bit_slice.173: bits[31] = bit_slice(umul.109: bits[47], start=0, width=31, id=173, pos=[(1,37,43), (1,46,29)])" } nodes { total_delay_ps: 1136 node_delay_ps: 1136 op: OP_UMUL id: 109 ir: "umul.109: bits[47] = umul(s_seed__1: bits[32], literal.108: bits[15], id=109, pos=[(1,36,20), (1,46,29)])" } nodes { op: OP_LITERAL id: 108 ir: "literal.108: bits[15] = literal(value=16807, id=108, pos=[(1,35,14), (1,46,29)])" } } all_nodes { op: OP_PARAM id: 24 ir: "s: (bits[32]) = param(name=s, id=24)" } all_nodes { op: OP_TUPLE_INDEX id: 107 ir: "s_seed__1: bits[32] = tuple_index(s: (bits[32]), index=0, id=107, pos=[(1,36,20), (1,46,29)])" } all_nodes { op: OP_LITERAL id: 108 ir: "literal.108: bits[15] = literal(value=16807, id=108, pos=[(1,35,14), (1,46,29)])" } all_nodes { node_delay_ps: 1136 op: OP_UMUL id: 109 ir: "umul.109: bits[47] = umul(s_seed__1: bits[32], literal.108: bits[15], id=109, pos=[(1,36,20), (1,46,29)])" } all_nodes { op: OP_LITERAL id: 147 ir: "literal.147: bits[16] = literal(value=0, id=147, pos=[(1,36,20), (1,46,29)])" } all_nodes { op: OP_BIT_SLICE id: 163 ir: "bit_slice.163: bits[16] = bit_slice(umul.109: bits[47], start=31, width=16, id=163, pos=[(1,37,21), (1,46,29)])" } all_nodes { op: OP_LITERAL id: 157 ir: "smul_105_TrailingBits_: bits[1] = literal(value=0, id=157, pos=[(1,48,24)])" } all_nodes { op: OP_BIT_SLICE id: 173 ir: "bit_slice.173: bits[31] = bit_slice(umul.109: bits[47], start=0, width=31, id=173, pos=[(1,37,43), (1,46,29)])" } all_nodes { op: OP_CONCAT id: 164 ir: "concat.164: bits[32] = concat(literal.147: bits[16], bit_slice.163: bits[16], id=164, pos=[(1,37,21), (1,46,29)])" } all_nodes { op: OP_CONCAT id: 179 ir: "concat.179: bits[32] = concat(smul_105_TrailingBits_: bits[1], bit_slice.173: bits[31], id=179, pos=[(1,37,43), (1,46,29)])" } all_nodes { node_delay_ps: 358 op: OP_ADD id: 117 ir: "new_seed: bits[32] = add(concat.164: bits[32], concat.179: bits[32], id=117, pos=[(1,37,21), (1,46,29)])" } all_nodes { node_delay_ps: 1136 op: OP_UMUL id: 129 ir: "umul.129: bits[47] = umul(new_seed: bits[32], literal.108: bits[15], id=129, pos=[(1,36,20), (1,47,29)])" } all_nodes { op: OP_BIT_SLICE id: 170 ir: "bit_slice.170: bits[16] = bit_slice(umul.129: bits[47], start=31, width=16, id=170, pos=[(1,37,21), (1,47,29)])" } all_nodes { op: OP_BIT_SLICE id: 174 ir: "bit_slice.174: bits[31] = bit_slice(umul.129: bits[47], start=0, width=31, id=174, pos=[(1,37,43), (1,47,29)])" } all_nodes { op: OP_CONCAT id: 176 ir: "concat.176: bits[33] = concat(smul_105_TrailingBits_: bits[1], new_seed: bits[32], id=176)" } all_nodes { op: OP_LITERAL id: 100 ir: "literal.100: bits[33] = literal(value=8589934591, id=100, pos=[(1,48,24)])" } all_nodes { op: OP_CONCAT id: 171 ir: "concat.171: bits[32] = concat(literal.147: bits[16], bit_slice.170: bits[16], id=171, pos=[(1,37,21), (1,47,29)])" } all_nodes { op: OP_CONCAT id: 180 ir: "concat.180: bits[32] = concat(smul_105_TrailingBits_: bits[1], bit_slice.174: bits[31], id=180, pos=[(1,37,43), (1,47,29)])" } all_nodes { node_delay_ps: 362 op: OP_ADD id: 77 ir: "add.77: bits[33] = add(concat.176: bits[33], literal.100: bits[33], id=77, pos=[(1,48,24)])" } all_nodes { op: OP_LITERAL id: 188 ir: "literal.188: bits[30] = literal(value=0, id=188, pos=[(1,48,24)])" } all_nodes { node_delay_ps: 358 op: OP_ADD id: 137 ir: "new_seed__2: bits[32] = add(concat.171: bits[32], concat.180: bits[32], id=137, pos=[(1,37,21), (1,47,29)])" } all_nodes { op: OP_CONCAT id: 190 ir: "concat.190: bits[63] = concat(add.77: bits[33], literal.188: bits[30], id=190, pos=[(1,48,24)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 182 ir: "sign_ext.182: bits[63] = sign_ext(add.77: bits[33], new_bit_count=63, id=182, pos=[(1,48,24)])" } all_nodes { op: OP_LITERAL id: 63 ir: "literal.63: bits[32] = literal(value=0, id=63)" } all_nodes { op: OP_BIT_SLICE id: 198 ir: "bit_slice.198: bits[31] = bit_slice(new_seed__2: bits[32], start=1, width=31, id=198, pos=[(1,48,24)])" } all_nodes { node_delay_ps: 409 op: OP_SUB id: 187 ir: "smul_105_NarrowedMult_: bits[63] = sub(concat.190: bits[63], sign_ext.182: bits[63], id=187, pos=[(1,48,24)])" } all_nodes { op: OP_CONCAT id: 199 ir: "concat.199: bits[63] = concat(literal.63: bits[32], bit_slice.198: bits[31], id=199, pos=[(1,48,24)])" } all_nodes { node_delay_ps: 435 op: OP_ADD id: 194 ir: "add.194: bits[63] = add(smul_105_NarrowedMult_: bits[63], concat.199: bits[63], id=194, pos=[(1,48,24)])" } all_nodes { op: OP_BIT_SLICE id: 200 ir: "bit_slice.200: bits[1] = bit_slice(new_seed__2: bits[32], start=0, width=1, id=200, pos=[(1,48,24)])" } all_nodes { op: OP_TUPLE id: 145 ir: "s__2: (bits[32]) = tuple(new_seed__2: bits[32], id=145, pos=[(1,39,11), (1,47,29)])" } all_nodes { op: OP_CONCAT id: 202 ir: "result: bits[64] = concat(add.194: bits[63], bit_slice.200: bits[1], id=202, pos=[(1,48,24)])" } all_nodes { op: OP_TUPLE id: 43 ir: "tuple.43: ((bits[32]), bits[64]) = tuple(s__2: (bits[32]), result: bits[64], id=43, pos=[(1,49,4)])" }