combinational_critical_path { total_delay_ps: 1810 nodes { total_delay_ps: 1810 op: OP_TUPLE id: 1724 ir: "tuple.1724: (bits[1], bits[5], bits[10]) = tuple(x_sign: bits[1], x_bexp__1: bits[5], and.1786: bits[10], id=1724, pos=[(1,809,4), (1,1721,22), (2,176,25)])" } nodes { total_delay_ps: 1810 node_delay_ps: 23 op: OP_AND id: 1786 ir: "and.1786: bits[10] = and(concat.1808: bits[10], sign_ext.1785: bits[10], id=1786, pos=[(1,809,4), (1,1721,22), (2,176,25)])" } nodes { total_delay_ps: 1787 node_delay_ps: 17 op: OP_SIGN_EXT id: 1785 ir: "sign_ext.1785: bits[10] = sign_ext(ne.1861: bits[1], new_bit_count=10, id=1785, pos=[(1,809,4), (1,1721,22), (2,176,25)])" } nodes { total_delay_ps: 1770 node_delay_ps: 85 op: OP_NE id: 1861 ir: "ne.1861: bits[1] = ne(x_bexp__1: bits[5], literal.1672: bits[5], id=1861, pos=[(1,809,4), (1,1721,22), (2,176,25)])" } nodes { total_delay_ps: 1685 node_delay_ps: 125 op: OP_PRIORITY_SEL id: 1772 ir: "x_bexp__1: bits[5] = priority_sel(concat.1771, cases=[literal.1688, literal.1672], default=sel.1697, id=1772, pos=[(1,1721,31), (2,176,25)])" } nodes { total_delay_ps: 1560 node_delay_ps: 106 op: OP_SEL id: 1697 ir: "sel.1697: bits[5] = sel(or.1686, cases=[sel.1687, literal.1688], id=1697, pos=[(1,1373,4), (1,1416,45), (1,1721,31), (2,176,25)])" } nodes { total_delay_ps: 1454 node_delay_ps: 106 op: OP_SEL id: 1687 ir: "sel.1687: bits[5] = sel(sle.1677, cases=[add.1678, concat.1972], id=1687, pos=[(1,1382,15), (1,1416,45), (1,1721,31), (2,176,25)])" } nodes { total_delay_ps: 1348 op: OP_CONCAT id: 1972 ir: "concat.1972: bits[5] = concat(literal.1934: bits[4], nor.1870: bits[1], id=1972, pos=[(1,1321,4), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } nodes { total_delay_ps: 1348 node_delay_ps: 38 op: OP_NOR id: 1870 ir: "nor.1870: bits[1] = nor(ugt.1651: bits[1], not.1868: bits[1], not.1869: bits[1], id=1870, pos=[(1,1321,4), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } nodes { total_delay_ps: 1310 op: OP_NOT id: 1869 ir: "not.1869: bits[1] = not(eq.1659: bits[1], id=1869, pos=[(1,1321,4), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } nodes { total_delay_ps: 1310 node_delay_ps: 102 op: OP_EQ id: 1659 ir: "eq.1659: bits[1] = eq(subnormal_frac: bits[10], literal.1653: bits[10], id=1659, pos=[(1,1344,59), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } nodes { total_delay_ps: 1208 node_delay_ps: 235 op: OP_ADD id: 1751 ir: "subnormal_frac: bits[10] = add(unrounded_subnormal_frac: bits[10], concat.1969: bits[10], id=1751)" } nodes { total_delay_ps: 973 op: OP_CONCAT id: 1969 ir: "concat.1969: bits[10] = concat(literal.1821: bits[9], round_up__1: bits[1], id=1969)" } nodes { total_delay_ps: 973 node_delay_ps: 19 op: OP_OR id: 1644 ir: "round_up__1: bits[1] = or(and.1634: bits[1], and.1635: bits[1], id=1644, pos=[(1,428,13), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } nodes { total_delay_ps: 954 node_delay_ps: 23 op: OP_AND id: 1634 ir: "and.1634: bits[1] = and(round_bit__1: bits[1], sticky__1: bits[1], id=1634, pos=[(1,428,13), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } nodes { total_delay_ps: 931 node_delay_ps: 126 op: OP_NE id: 1626 ir: "sticky__1: bits[1] = ne(nor.1617: bits[24], literal.1618: bits[24], id=1626, pos=[(0,1501,17), (0,1528,22), (1,421,43), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } nodes { total_delay_ps: 805 node_delay_ps: 27 op: OP_NOR id: 1617 ir: "nor.1617: bits[24] = nor(concat.1609: bits[24], shll.1610: bits[24], id=1617, pos=[(0,1411,4), (0,1501,17), (0,1528,22), (1,421,43), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } nodes { total_delay_ps: 778 node_delay_ps: 236 op: OP_SHLL id: 1610 ir: "shll.1610: bits[24] = shll(literal.1603: bits[24], f32irst_lost_bit_idx__2: bits[32], id=1610, pos=[(0,1411,19), (0,1501,17), (0,1528,22), (1,421,43), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } nodes { total_delay_ps: 542 node_delay_ps: 17 op: OP_SIGN_EXT id: 1604 ir: "f32irst_lost_bit_idx__2: bits[32] = sign_ext(add.1600: bits[9], new_bit_count=32, id=1604, pos=[(1,414,29), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } nodes { total_delay_ps: 525 node_delay_ps: 224 op: OP_ADD id: 1600 ir: "add.1600: bits[9] = add(sign_ext.1597: bits[9], literal.1598: bits[9], id=1600, pos=[(1,414,29), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } nodes { total_delay_ps: 301 node_delay_ps: 17 op: OP_SIGN_EXT id: 1597 ir: "sign_ext.1597: bits[9] = sign_ext(neg.1596: bits[8], new_bit_count=9, id=1597, pos=[(1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } nodes { total_delay_ps: 284 node_delay_ps: 143 op: OP_NEG id: 1596 ir: "neg.1596: bits[8] = neg(concat.1846: bits[8], id=1596, pos=[(1,1320,26), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } nodes { total_delay_ps: 141 op: OP_CONCAT id: 1846 ir: "concat.1846: bits[8] = concat(add.1844: bits[4], bit_slice.1845: bits[4], id=1846, pos=[(1,1320,26), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } nodes { total_delay_ps: 141 node_delay_ps: 141 op: OP_ADD id: 1844 ir: "add.1844: bits[4] = add(bit_slice.1842: bits[4], literal.1862: bits[4], id=1844, pos=[(1,1320,26), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } nodes { op: OP_LITERAL id: 1862 ir: "literal.1862: bits[4] = literal(value=9, id=1862, pos=[(1,1320,26), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } } all_nodes { op: OP_PARAM id: 503 ir: "f32: (bits[1], bits[8], bits[23]) = param(name=f32, id=503)" } all_nodes { op: OP_TUPLE_INDEX id: 1593 ir: "f32_bexp__1: bits[8] = tuple_index(f32: (bits[1], bits[8], bits[23]), index=1, id=1593, pos=[(1,266,6), (1,1311,32), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_BIT_SLICE id: 1842 ir: "bit_slice.1842: bits[4] = bit_slice(f32_bexp__1: bits[8], start=4, width=4, id=1842, pos=[(1,1320,26), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1862 ir: "literal.1862: bits[4] = literal(value=9, id=1862, pos=[(1,1320,26), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 141 op: OP_ADD id: 1844 ir: "add.1844: bits[4] = add(bit_slice.1842: bits[4], literal.1862: bits[4], id=1844, pos=[(1,1320,26), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_BIT_SLICE id: 1845 ir: "bit_slice.1845: bits[4] = bit_slice(f32_bexp__1: bits[8], start=0, width=4, id=1845, pos=[(1,1320,26), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_CONCAT id: 1846 ir: "concat.1846: bits[8] = concat(add.1844: bits[4], bit_slice.1845: bits[4], id=1846, pos=[(1,1320,26), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 143 op: OP_NEG id: 1596 ir: "neg.1596: bits[8] = neg(concat.1846: bits[8], id=1596, pos=[(1,1320,26), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 1597 ir: "sign_ext.1597: bits[9] = sign_ext(neg.1596: bits[8], new_bit_count=9, id=1597, pos=[(1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1598 ir: "literal.1598: bits[9] = literal(value=13, id=1598, pos=[(1,414,29), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_TUPLE_INDEX id: 1599 ir: "f32_fraction__1: bits[23] = tuple_index(f32: (bits[1], bits[8], bits[23]), index=2, id=1599, pos=[(1,1113,49), (1,1366,27), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 224 op: OP_ADD id: 1600 ir: "add.1600: bits[9] = add(sign_ext.1597: bits[9], literal.1598: bits[9], id=1600, pos=[(1,414,29), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_BIT_SLICE id: 1847 ir: "bit_slice.1847: bits[8] = bit_slice(sign_ext.1597: bits[9], start=1, width=8, id=1847, pos=[(1,1334,12), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1863 ir: "literal.1863: bits[8] = literal(value=7, id=1863, pos=[(1,1334,12), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1601 ir: "literal.1601: bits[1] = literal(value=0, id=1601, pos=[(1,1721,31), (2,176,25)])" } all_nodes { op: OP_NOT id: 1602 ir: "not.1602: bits[23] = not(f32_fraction__1: bits[23], id=1602, pos=[(0,1411,4), (0,1501,17), (0,1528,22), (1,421,43), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1603 ir: "literal.1603: bits[24] = literal(value=16777215, id=1603, pos=[(0,1411,19), (0,1501,17), (0,1528,22), (1,421,43), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 1604 ir: "f32irst_lost_bit_idx__2: bits[32] = sign_ext(add.1600: bits[9], new_bit_count=32, id=1604, pos=[(1,414,29), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 212 op: OP_ADD id: 1849 ir: "add.1849: bits[8] = add(bit_slice.1847: bits[8], literal.1863: bits[8], id=1849, pos=[(1,1334,12), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_BIT_SLICE id: 1906 ir: "bit_slice.1906: bits[1] = bit_slice(neg.1596: bits[8], start=0, width=1, id=1906, pos=[(1,1334,12), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1608 ir: "literal.1608: bits[1] = literal(value=1, id=1608, pos=[(1,1113,36), (1,1366,27), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_CONCAT id: 1609 ir: "concat.1609: bits[24] = concat(literal.1601: bits[1], not.1602: bits[23], id=1609, pos=[(0,1411,4), (0,1501,17), (0,1528,22), (1,421,43), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 236 op: OP_SHLL id: 1610 ir: "shll.1610: bits[24] = shll(literal.1603: bits[24], f32irst_lost_bit_idx__2: bits[32], id=1610, pos=[(0,1411,19), (0,1501,17), (0,1528,22), (1,421,43), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_CONCAT id: 1851 ir: "concat.1851: bits[9] = concat(add.1849: bits[8], bit_slice.1906: bits[1], id=1851, pos=[(1,1334,12), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_CONCAT id: 1616 ir: "concat.1616: bits[24] = concat(literal.1608: bits[1], f32_fraction__1: bits[23], id=1616, pos=[(1,1334,53), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 1617 ir: "nor.1617: bits[24] = nor(concat.1609: bits[24], shll.1610: bits[24], id=1617, pos=[(0,1411,4), (0,1501,17), (0,1528,22), (1,421,43), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1618 ir: "literal.1618: bits[24] = literal(value=0, id=1618, pos=[(0,1501,31), (0,1528,22), (1,421,43), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1619 ir: "literal.1619: bits[9] = literal(value=24, id=1619, pos=[(1,419,22), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 1620 ir: "sign_ext.1620: bits[32] = sign_ext(concat.1851: bits[9], new_bit_count=32, id=1620, pos=[(1,1334,12), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1612 ir: "literal.1612: bits[9] = literal(value=1, id=1612, pos=[(1,1320,53), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 334 op: OP_DYNAMIC_BIT_SLICE id: 1625 ir: "round_bit__1: bits[1] = dynamic_bit_slice(concat.1616: bits[24], f32irst_lost_bit_idx__2: bits[32], width=1, id=1625, pos=[(1,415,28), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 126 op: OP_NE id: 1626 ir: "sticky__1: bits[1] = ne(nor.1617: bits[24], literal.1618: bits[24], id=1626, pos=[(0,1501,17), (0,1528,22), (1,421,43), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 136 op: OP_ULT id: 1627 ir: "ult.1627: bits[1] = ult(concat.1851: bits[9], literal.1619: bits[9], id=1627, pos=[(1,419,22), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 334 op: OP_DYNAMIC_BIT_SLICE id: 1628 ir: "dynamic_bit_slice.1628: bits[1] = dynamic_bit_slice(concat.1616: bits[24], sign_ext.1620: bits[32], width=1, id=1628, pos=[(1,419,57), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_BIT_SLICE id: 1621 ir: "truncated_frac: bits[10] = bit_slice(f32_fraction__1: bits[23], start=13, width=10, id=1621, pos=[(1,1327,39), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 224 op: OP_ADD id: 1622 ir: "add.1622: bits[9] = add(sign_ext.1597: bits[9], literal.1612: bits[9], id=1622, pos=[(1,1320,26), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 1634 ir: "and.1634: bits[1] = and(round_bit__1: bits[1], sticky__1: bits[1], id=1634, pos=[(1,428,13), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 35 op: OP_AND id: 1635 ir: "and.1635: bits[1] = and(round_bit__1: bits[1], ult.1627: bits[1], dynamic_bit_slice.1628: bits[1], id=1635, pos=[(1,428,38), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_BIT_SLICE id: 1606 ir: "bit_slice.1606: bits[12] = bit_slice(f32_fraction__1: bits[23], start=0, width=12, id=1606, pos=[(1,1113,49), (1,1366,27), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1607 ir: "literal.1607: bits[12] = literal(value=0, id=1607, pos=[(0,1411,19), (0,1501,17), (0,1528,22), (1,421,43), (1,1113,36), (1,1366,27), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_CONCAT id: 1629 ir: "f32ull_frac__2: bits[11] = concat(literal.1608: bits[1], truncated_frac: bits[10], id=1629, pos=[(1,1329,24), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 1630 ir: "right_shift_cnt: bits[32] = sign_ext(add.1622: bits[9], new_bit_count=32, id=1630, pos=[(1,1320,26), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1821 ir: "literal.1821: bits[9] = literal(value=0, id=1821, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 19 op: OP_OR id: 1644 ir: "round_up__1: bits[1] = or(and.1634: bits[1], and.1635: bits[1], id=1644, pos=[(1,428,13), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_BIT_SLICE id: 1613 ir: "round_bit: bits[1] = bit_slice(f32_fraction__1: bits[23], start=12, width=1, id=1613, pos=[(1,415,28), (1,1113,36), (1,1366,27), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 107 op: OP_NE id: 1614 ir: "sticky: bits[1] = ne(bit_slice.1606: bits[12], literal.1607: bits[12], id=1614, pos=[(0,1501,17), (0,1528,22), (1,421,43), (1,1113,36), (1,1366,27), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_BIT_SLICE id: 1615 ir: "bit_slice.1615: bits[1] = bit_slice(f32_fraction__1: bits[23], start=13, width=1, id=1615, pos=[(1,419,57), (1,1113,36), (1,1366,27), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 299 op: OP_DYNAMIC_BIT_SLICE id: 1636 ir: "unrounded_subnormal_frac: bits[10] = dynamic_bit_slice(f32ull_frac__2: bits[11], right_shift_cnt: bits[32], width=10, id=1636, pos=[(1,1331,48), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_CONCAT id: 1969 ir: "concat.1969: bits[10] = concat(literal.1821: bits[9], round_up__1: bits[1], id=1969)" } all_nodes { node_delay_ps: 23 op: OP_AND id: 1623 ir: "and.1623: bits[1] = and(round_bit: bits[1], sticky: bits[1], id=1623, pos=[(1,428,13), (1,1113,36), (1,1366,27), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 1624 ir: "and.1624: bits[1] = and(round_bit: bits[1], bit_slice.1615: bits[1], id=1624, pos=[(1,428,38), (1,1113,36), (1,1366,27), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1640 ir: "literal.1640: bits[8] = literal(value=0, id=1640, pos=[(1,41,9), (1,1407,13), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 235 op: OP_ADD id: 1751 ir: "subnormal_frac: bits[10] = add(unrounded_subnormal_frac: bits[10], concat.1969: bits[10], id=1751)" } all_nodes { op: OP_LITERAL id: 1653 ir: "literal.1653: bits[10] = literal(value=0, id=1653, pos=[(1,1344,77), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 19 op: OP_OR id: 1631 ir: "round_up: bits[1] = or(and.1623: bits[1], and.1624: bits[1], id=1631, pos=[(1,428,13), (1,1113,36), (1,1366,27), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 73 op: OP_AND_REDUCE id: 1632 ir: "and_reduce.1632: bits[1] = and_reduce(truncated_frac: bits[10], id=1632, pos=[(1,1115,44), (1,1366,27), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1643 ir: "literal.1643: bits[9] = literal(value=11, id=1643, pos=[(1,1321,7), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 96 op: OP_EQ id: 1658 ir: "eq.1658: bits[1] = eq(neg.1596: bits[8], literal.1640: bits[8], id=1658, pos=[(1,1344,31), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 102 op: OP_EQ id: 1659 ir: "eq.1659: bits[1] = eq(subnormal_frac: bits[10], literal.1653: bits[10], id=1659, pos=[(1,1344,59), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1922 ir: "literal.1922: bits[7] = literal(value=0, id=1922)" } all_nodes { node_delay_ps: 23 op: OP_AND id: 1641 ir: "renormalize: bits[1] = and(round_up: bits[1], and_reduce.1632: bits[1], id=1641, pos=[(1,1115,22), (1,1366,27), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 150 op: OP_UGT id: 1651 ir: "ugt.1651: bits[1] = ugt(add.1622: bits[9], literal.1643: bits[9], id=1651, pos=[(1,1321,7), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 1673 ir: "rounds_to_normal: bits[1] = and(eq.1658: bits[1], eq.1659: bits[1], id=1673, pos=[(1,1344,31), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_CONCAT id: 1970 ir: "concat.1970: bits[8] = concat(literal.1922: bits[7], renormalize: bits[1], id=1970)" } all_nodes { node_delay_ps: 19 op: OP_OR id: 1681 ir: "or.1681: bits[1] = or(ugt.1651: bits[1], rounds_to_normal: bits[1], id=1681, pos=[(1,1321,4), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 212 op: OP_ADD id: 1748 ir: "f32_cast_bexp__2: bits[8] = add(f32_bexp__1: bits[8], concat.1970: bits[8], id=1748)" } all_nodes { op: OP_LITERAL id: 1650 ir: "literal.1650: bits[8] = literal(value=129, id=1650, pos=[(1,266,6), (1,1378,36), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_NOT id: 1764 ir: "not.1764: bits[1] = not(or.1681: bits[1], id=1764, pos=[(1,1321,4), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1638 ir: "INF_EXP: bits[8] = literal(value=255, id=1638, pos=[(1,1370,43), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 212 op: OP_ADD id: 1656 ir: "uexp: bits[8] = add(f32_cast_bexp__2: bits[8], literal.1650: bits[8], id=1656, pos=[(1,266,6), (1,1378,36), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1666 ir: "TO_BIAS: bits[8] = literal(value=15, id=1666, pos=[(1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_NOT id: 1868 ir: "not.1868: bits[1] = not(eq.1658: bits[1], id=1868, pos=[(1,1321,4), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_NOT id: 1869 ir: "not.1869: bits[1] = not(eq.1659: bits[1], id=1869, pos=[(1,1321,4), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 96 op: OP_EQ id: 1648 ir: "eq.1648: bits[1] = eq(f32_bexp__1: bits[8], literal.1640: bits[8], id=1648, pos=[(1,1407,13), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1639 ir: "literal.1639: bits[23] = literal(value=0, id=1639, pos=[(1,41,23), (1,1407,13), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1667 ir: "literal.1667: bits[8] = literal(value=241, id=1667, pos=[(1,1382,53), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_CONCAT id: 1971 ir: "concat.1971: bits[10] = concat(literal.1821: bits[9], round_up: bits[1], id=1971)" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 1765 ir: "sign_ext.1765: bits[10] = sign_ext(not.1764: bits[1], new_bit_count=10, id=1765, pos=[(1,1321,4), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 96 op: OP_EQ id: 1675 ir: "eq.1675: bits[1] = eq(f32_cast_bexp__2: bits[8], INF_EXP: bits[8], id=1675, pos=[(1,1373,50), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 142 op: OP_SGT id: 1676 ir: "sgt.1676: bits[1] = sgt(uexp: bits[8], TO_BIAS: bits[8], id=1676, pos=[(1,1379,38), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_BIT_SLICE id: 1668 ir: "bit_slice.1668: bits[5] = bit_slice(uexp: bits[8], start=0, width=5, id=1668, pos=[(1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1669 ir: "BIAS: bits[5] = literal(value=15, id=1669, pos=[(1,343,38), (1,1387,26), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1934 ir: "literal.1934: bits[4] = literal(value=0, id=1934, pos=[(1,1321,4), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 38 op: OP_NOR id: 1870 ir: "nor.1870: bits[1] = nor(ugt.1651: bits[1], not.1868: bits[1], not.1869: bits[1], id=1870, pos=[(1,1321,4), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_NOT id: 2020 ir: "not.2020: bits[1] = not(eq.1648: bits[1], id=2020, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 125 op: OP_EQ id: 1647 ir: "eq.1647: bits[1] = eq(f32_fraction__1: bits[23], literal.1639: bits[23], id=1647, pos=[(1,1407,13), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 96 op: OP_EQ id: 1646 ir: "eq.1646: bits[1] = eq(f32_bexp__1: bits[8], INF_EXP: bits[8], id=1646, pos=[(1,1407,13), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 132 op: OP_SLE id: 1677 ir: "sle.1677: bits[1] = sle(uexp: bits[8], literal.1667: bits[8], id=1677, pos=[(1,1382,45), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 235 op: OP_ADD id: 1754 ir: "f32_cast_fraction__1: bits[10] = add(truncated_frac: bits[10], concat.1971: bits[10], id=1754)" } all_nodes { node_delay_ps: 23 op: OP_AND id: 1766 ir: "and.1766: bits[10] = and(subnormal_frac: bits[10], sign_ext.1765: bits[10], id=1766, pos=[(1,1321,4), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 1871 ir: "nor.1871: bits[1] = nor(eq.1675: bits[1], sgt.1676: bits[1], id=1871, pos=[(1,1373,4), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 164 op: OP_ADD id: 1678 ir: "add.1678: bits[5] = add(bit_slice.1668: bits[5], BIAS: bits[5], id=1678, pos=[(1,344,5), (1,1387,26), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_CONCAT id: 1972 ir: "concat.1972: bits[5] = concat(literal.1934: bits[4], nor.1870: bits[1], id=1972, pos=[(1,1321,4), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 2021 ir: "nor.2021: bits[1] = nor(not.2020: bits[1], eq.1647: bits[1], id=2021, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 1655 ir: "and.1655: bits[1] = and(eq.1648: bits[1], eq.1647: bits[1], id=1655, pos=[(1,1407,13), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 1654 ir: "and.1654: bits[1] = and(eq.1646: bits[1], eq.1647: bits[1], id=1654, pos=[(1,1407,13), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_NOT id: 2018 ir: "not.2018: bits[1] = not(eq.1646: bits[1], id=2018, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 119 op: OP_SEL id: 1698 ir: "sel.1698: bits[10] = sel(sle.1677, cases=[f32_cast_fraction__1, and.1766], id=1698, pos=[(1,1382,15), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 1774 ir: "sign_ext.1774: bits[10] = sign_ext(nor.1871: bits[1], new_bit_count=10, id=1774, pos=[(1,1373,4), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 19 op: OP_OR id: 1686 ir: "or.1686: bits[1] = or(eq.1675: bits[1], sgt.1676: bits[1], id=1686, pos=[(1,1373,4), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 106 op: OP_SEL id: 1687 ir: "sel.1687: bits[5] = sel(sle.1677, cases=[add.1678, concat.1972], id=1687, pos=[(1,1382,15), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1688 ir: "literal.1688: bits[5] = literal(value=31, id=1688, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 27 op: OP_OR id: 1841 ir: "or.1841: bits[1] = or(nor.2021: bits[1], and.1655: bits[1], and.1654: bits[1], id=1841, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 2025 ir: "nor.2025: bits[1] = nor(not.2018: bits[1], eq.1647: bits[1], id=2025, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 1775 ir: "and.1775: bits[10] = and(sel.1698: bits[10], sign_ext.1774: bits[10], id=1775, pos=[(1,1373,4), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 1995 ir: "nor.1995: bits[1] = nor(eq.1646: bits[1], eq.1648: bits[1], id=1995, pos=[(1,1407,13), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_CONCAT id: 1771 ir: "concat.1771: bits[2] = concat(eq.1648: bits[1], eq.1646: bits[1], id=1771, pos=[(1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1672 ir: "literal.1672: bits[5] = literal(value=0, id=1672, pos=[(1,1349,42), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 106 op: OP_SEL id: 1697 ir: "sel.1697: bits[5] = sel(or.1686, cases=[sel.1687, literal.1688], id=1697, pos=[(1,1373,4), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_CONCAT id: 1828 ir: "concat.1828: bits[2] = concat(or.1841: bits[1], nor.2025: bits[1], id=1828, pos=[(1,1721,31), (2,176,25)])" } all_nodes { op: OP_BIT_SLICE id: 1806 ir: "bit_slice.1806: bits[1] = bit_slice(and.1775: bits[10], start=9, width=1, id=1806, pos=[(1,1721,31), (2,176,25)])" } all_nodes { op: OP_BIT_SLICE id: 1802 ir: "bit_slice.1802: bits[9] = bit_slice(and.1775: bits[10], start=0, width=9, id=1802, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 1959 ir: "sign_ext.1959: bits[9] = sign_ext(nor.1995: bits[1], new_bit_count=9, id=1959, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 125 op: OP_PRIORITY_SEL id: 1772 ir: "x_bexp__1: bits[5] = priority_sel(concat.1771, cases=[literal.1688, literal.1672], default=sel.1697, id=1772, pos=[(1,1721,31), (2,176,25)])" } all_nodes { op: OP_NOT id: 1692 ir: "not.1692: bits[1] = not(eq.1675: bits[1], id=1692, pos=[(1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_NOT id: 1693 ir: "not.1693: bits[1] = not(sgt.1676: bits[1], id=1693, pos=[(1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 212 op: OP_ADD id: 1694 ir: "uexp__1: bits[8] = add(f32_bexp__1: bits[8], literal.1650: bits[8], id=1694, pos=[(1,266,6), (1,1311,32), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1695 ir: "literal.1695: bits[8] = literal(value=242, id=1695, pos=[(1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_TUPLE_INDEX id: 1711 ir: "f32_sign__2: bits[1] = tuple_index(f32: (bits[1], bits[8], bits[23]), index=0, id=1711, pos=[(1,1121,15), (1,1366,27), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 90 op: OP_PRIORITY_SEL id: 1807 ir: "priority_sel.1807: bits[1] = priority_sel(concat.1828, cases=[literal.1608, literal.1601], default=bit_slice.1806, id=1807, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 1960 ir: "and.1960: bits[9] = and(bit_slice.1802: bits[9], sign_ext.1959: bits[9], id=1960, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 85 op: OP_NE id: 1861 ir: "ne.1861: bits[1] = ne(x_bexp__1: bits[5], literal.1672: bits[5], id=1861, pos=[(1,809,4), (1,1721,22), (2,176,25)])" } all_nodes { node_delay_ps: 43 op: OP_AND id: 1732 ir: "and.1732: bits[1] = and(nor.1995: bits[1], not.1692: bits[1], not.1693: bits[1], sle.1677: bits[1], id=1732, pos=[(1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 135 op: OP_SGE id: 1701 ir: "sge.1701: bits[1] = sge(uexp__1: bits[8], literal.1695: bits[8], id=1701, pos=[(1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_NOT id: 1657 ir: "not.1657: bits[1] = not(ugt.1651: bits[1], id=1657, pos=[(1,1321,4), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 96 op: OP_EQ id: 1702 ir: "eq.1702: bits[1] = eq(neg.1596: bits[8], literal.1695: bits[8], id=1702, pos=[(1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 150 op: OP_UGT id: 1703 ir: "ugt.1703: bits[1] = ugt(concat.1851: bits[9], literal.1619: bits[9], id=1703, pos=[(1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_NOT id: 1740 ir: "not.1740: bits[1] = not(f32_sign__2: bits[1], id=1740, pos=[(1,1721,31), (2,176,25)])" } all_nodes { op: OP_CONCAT id: 1808 ir: "concat.1808: bits[10] = concat(priority_sel.1807: bits[1], and.1960: bits[9], id=1808, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 1785 ir: "sign_ext.1785: bits[10] = sign_ext(ne.1861: bits[1], new_bit_count=10, id=1785, pos=[(1,809,4), (1,1721,22), (2,176,25)])" } all_nodes { op: OP_AFTER_ALL id: 504 ir: "assert_1273__1: token = after_all(id=504)" } all_nodes { node_delay_ps: 25 op: OP_NAND id: 1708 ir: "nand.1708: bits[1] = nand(and.1732: bits[1], sge.1701: bits[1], id=1708, pos=[(1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 33 op: OP_NAND id: 1709 ir: "nand.1709: bits[1] = nand(and.1732: bits[1], not.1657: bits[1], eq.1702: bits[1], id=1709, pos=[(1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 33 op: OP_NAND id: 1710 ir: "nand.1710: bits[1] = nand(and.1732: bits[1], not.1657: bits[1], ugt.1703: bits[1], id=1710, pos=[(1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 1741 ir: "x_sign: bits[1] = nor(nor.2025: bits[1], not.1740: bits[1], id=1741, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 1786 ir: "and.1786: bits[10] = and(concat.1808: bits[10], sign_ext.1785: bits[10], id=1786, pos=[(1,809,4), (1,1721,22), (2,176,25)])" } all_nodes { op: OP_ASSERT id: 1729 ir: "assert_1103__2: token = assert(assert_1273__1: token, nand.1708: bits[1], message=\"Assertion failure via assert! @ /inputs/subtree/xls/dslx/stdlib/apfloat.x:1314:12-1316:65\", label=\"apfloat_downcast_to_subnormal_called_on_normal_number\", id=1729, pos=[(1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_ASSERT id: 1730 ir: "assert_874__1: token = assert(assert_1273__1: token, nand.1709: bits[1], message=\"Assertion failure via assert! @ /inputs/subtree/xls/dslx/stdlib/apfloat.x:412:12-412:65\", label=\"apfloat_round_without_residue\", id=1730, pos=[(1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_ASSERT id: 1731 ir: "assert_875__1: token = assert(assert_1273__1: token, nand.1710: bits[1], message=\"Assertion failure via assert! @ /inputs/subtree/xls/dslx/stdlib/apfloat.x:413:12-413:74\", label=\"apfloat_round_without_lsb\", id=1731, pos=[(1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_TUPLE id: 1724 ir: "tuple.1724: (bits[1], bits[5], bits[10]) = tuple(x_sign: bits[1], x_bexp__1: bits[5], and.1786: bits[10], id=1724, pos=[(1,809,4), (1,1721,22), (2,176,25)])" }