combinational_critical_path { total_delay_ps: 1810 nodes { total_delay_ps: 1810 op: OP_TUPLE id: 1716 ir: "tuple.1716: (bits[1], bits[5], bits[10]) = tuple(x_sign: bits[1], x_bexp__1: bits[5], and.1778: bits[10], id=1716, pos=[(1,809,4), (1,1721,22), (2,176,25)])" } nodes { total_delay_ps: 1810 node_delay_ps: 23 op: OP_AND id: 1778 ir: "and.1778: bits[10] = and(concat.1800: bits[10], sign_ext.1777: bits[10], id=1778, pos=[(1,809,4), (1,1721,22), (2,176,25)])" } nodes { total_delay_ps: 1787 node_delay_ps: 17 op: OP_SIGN_EXT id: 1777 ir: "sign_ext.1777: bits[10] = sign_ext(ne.1853: bits[1], new_bit_count=10, id=1777, pos=[(1,809,4), (1,1721,22), (2,176,25)])" } nodes { total_delay_ps: 1770 node_delay_ps: 85 op: OP_NE id: 1853 ir: "ne.1853: bits[1] = ne(x_bexp__1: bits[5], literal.1664: bits[5], id=1853, pos=[(1,809,4), (1,1721,22), (2,176,25)])" } nodes { total_delay_ps: 1685 node_delay_ps: 125 op: OP_PRIORITY_SEL id: 1764 ir: "x_bexp__1: bits[5] = priority_sel(concat.1763, cases=[literal.1680, literal.1664], default=sel.1689, id=1764, pos=[(1,1721,31), (2,176,25)])" } nodes { total_delay_ps: 1560 node_delay_ps: 106 op: OP_SEL id: 1689 ir: "sel.1689: bits[5] = sel(or.1678, cases=[sel.1679, literal.1680], id=1689, 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: 1679 ir: "sel.1679: bits[5] = sel(sle.1669, cases=[add.1670, concat.1964], id=1679, pos=[(1,1382,15), (1,1416,45), (1,1721,31), (2,176,25)])" } nodes { total_delay_ps: 1348 op: OP_CONCAT id: 1964 ir: "concat.1964: bits[5] = concat(literal.1926: bits[4], nor.1862: bits[1], id=1964, 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: 1862 ir: "nor.1862: bits[1] = nor(ugt.1643: bits[1], not.1860: bits[1], not.1861: bits[1], id=1862, 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: 1861 ir: "not.1861: bits[1] = not(eq.1651: bits[1], id=1861, 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: 1651 ir: "eq.1651: bits[1] = eq(subnormal_frac: bits[10], literal.1645: bits[10], id=1651, 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: 1743 ir: "subnormal_frac: bits[10] = add(unrounded_subnormal_frac: bits[10], concat.1961: bits[10], id=1743)" } nodes { total_delay_ps: 973 op: OP_CONCAT id: 1961 ir: "concat.1961: bits[10] = concat(literal.1910: bits[9], round_up__1: bits[1], id=1961)" } nodes { total_delay_ps: 973 node_delay_ps: 19 op: OP_OR id: 1636 ir: "round_up__1: bits[1] = or(and.1626: bits[1], and.1627: bits[1], id=1636, 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: 1626 ir: "and.1626: bits[1] = and(round_bit__1: bits[1], sticky__1: bits[1], id=1626, 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: 1618 ir: "sticky__1: bits[1] = ne(nor.1609: bits[24], literal.1610: bits[24], id=1618, pos=[(0,1502,17), (0,1529,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: 1609 ir: "nor.1609: bits[24] = nor(concat.1601: bits[24], shll.1602: bits[24], id=1609, pos=[(0,1412,4), (0,1502,17), (0,1529,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: 1602 ir: "shll.1602: bits[24] = shll(literal.1595: bits[24], f32irst_lost_bit_idx__2: bits[32], id=1602, pos=[(0,1412,19), (0,1502,17), (0,1529,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: 1596 ir: "f32irst_lost_bit_idx__2: bits[32] = sign_ext(add.1592: bits[9], new_bit_count=32, id=1596, 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: 1592 ir: "add.1592: bits[9] = add(sign_ext.1589: bits[9], literal.1590: bits[9], id=1592, 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: 1589 ir: "sign_ext.1589: bits[9] = sign_ext(neg.1588: bits[8], new_bit_count=9, id=1589, 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: 1588 ir: "neg.1588: bits[8] = neg(concat.1838: bits[8], id=1588, 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: 1838 ir: "concat.1838: bits[8] = concat(add.1836: bits[4], bit_slice.1837: bits[4], id=1838, 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: 1836 ir: "add.1836: bits[4] = add(bit_slice.1834: bits[4], literal.1854: bits[4], id=1836, pos=[(1,1320,26), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } nodes { op: OP_LITERAL id: 1854 ir: "literal.1854: bits[4] = literal(value=9, id=1854, 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: 1585 ir: "f32_bexp__1: bits[8] = tuple_index(f32: (bits[1], bits[8], bits[23]), index=1, id=1585, 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: 1834 ir: "bit_slice.1834: bits[4] = bit_slice(f32_bexp__1: bits[8], start=4, width=4, id=1834, pos=[(1,1320,26), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1854 ir: "literal.1854: bits[4] = literal(value=9, id=1854, 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: 1836 ir: "add.1836: bits[4] = add(bit_slice.1834: bits[4], literal.1854: bits[4], id=1836, pos=[(1,1320,26), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_BIT_SLICE id: 1837 ir: "bit_slice.1837: bits[4] = bit_slice(f32_bexp__1: bits[8], start=0, width=4, id=1837, pos=[(1,1320,26), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_CONCAT id: 1838 ir: "concat.1838: bits[8] = concat(add.1836: bits[4], bit_slice.1837: bits[4], id=1838, 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: 1588 ir: "neg.1588: bits[8] = neg(concat.1838: bits[8], id=1588, 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: 1589 ir: "sign_ext.1589: bits[9] = sign_ext(neg.1588: bits[8], new_bit_count=9, id=1589, pos=[(1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1590 ir: "literal.1590: bits[9] = literal(value=13, id=1590, 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: 1591 ir: "f32_fraction__1: bits[23] = tuple_index(f32: (bits[1], bits[8], bits[23]), index=2, id=1591, 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: 1592 ir: "add.1592: bits[9] = add(sign_ext.1589: bits[9], literal.1590: bits[9], id=1592, 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: 1839 ir: "bit_slice.1839: bits[8] = bit_slice(sign_ext.1589: bits[9], start=1, width=8, id=1839, pos=[(1,1334,12), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1855 ir: "literal.1855: bits[8] = literal(value=7, id=1855, pos=[(1,1334,12), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1593 ir: "literal.1593: bits[1] = literal(value=0, id=1593, pos=[(0,1412,4), (0,1502,17), (0,1529,22), (1,421,43), (1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_NOT id: 1594 ir: "not.1594: bits[23] = not(f32_fraction__1: bits[23], id=1594, pos=[(0,1412,4), (0,1502,17), (0,1529,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: 1595 ir: "literal.1595: bits[24] = literal(value=16777215, id=1595, pos=[(0,1412,19), (0,1502,17), (0,1529,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: 1596 ir: "f32irst_lost_bit_idx__2: bits[32] = sign_ext(add.1592: bits[9], new_bit_count=32, id=1596, 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: 1841 ir: "add.1841: bits[8] = add(bit_slice.1839: bits[8], literal.1855: bits[8], id=1841, pos=[(1,1334,12), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_BIT_SLICE id: 1898 ir: "bit_slice.1898: bits[1] = bit_slice(neg.1588: bits[8], start=0, width=1, id=1898, pos=[(1,1334,12), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1600 ir: "literal.1600: bits[1] = literal(value=1, id=1600, pos=[(1,1334,53), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_CONCAT id: 1601 ir: "concat.1601: bits[24] = concat(literal.1593: bits[1], not.1594: bits[23], id=1601, pos=[(0,1412,4), (0,1502,17), (0,1529,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: 1602 ir: "shll.1602: bits[24] = shll(literal.1595: bits[24], f32irst_lost_bit_idx__2: bits[32], id=1602, pos=[(0,1412,19), (0,1502,17), (0,1529,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: 1843 ir: "concat.1843: bits[9] = concat(add.1841: bits[8], bit_slice.1898: bits[1], id=1843, pos=[(1,1334,12), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_CONCAT id: 1608 ir: "concat.1608: bits[24] = concat(literal.1600: bits[1], f32_fraction__1: bits[23], id=1608, 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: 1609 ir: "nor.1609: bits[24] = nor(concat.1601: bits[24], shll.1602: bits[24], id=1609, pos=[(0,1412,4), (0,1502,17), (0,1529,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: 1610 ir: "literal.1610: bits[24] = literal(value=0, id=1610, pos=[(0,1502,31), (0,1529,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: 1611 ir: "literal.1611: bits[9] = literal(value=24, id=1611, 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: 1612 ir: "sign_ext.1612: bits[32] = sign_ext(concat.1843: bits[9], new_bit_count=32, id=1612, pos=[(1,1334,12), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1604 ir: "literal.1604: bits[9] = literal(value=1, id=1604, 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: 1617 ir: "round_bit__1: bits[1] = dynamic_bit_slice(concat.1608: bits[24], f32irst_lost_bit_idx__2: bits[32], width=1, id=1617, 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: 1618 ir: "sticky__1: bits[1] = ne(nor.1609: bits[24], literal.1610: bits[24], id=1618, pos=[(0,1502,17), (0,1529,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: 1619 ir: "ult.1619: bits[1] = ult(concat.1843: bits[9], literal.1611: bits[9], 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: 334 op: OP_DYNAMIC_BIT_SLICE id: 1620 ir: "dynamic_bit_slice.1620: bits[1] = dynamic_bit_slice(concat.1608: bits[24], sign_ext.1612: bits[32], width=1, id=1620, 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: 1613 ir: "truncated_frac: bits[10] = bit_slice(f32_fraction__1: bits[23], start=13, width=10, id=1613, 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: 1614 ir: "add.1614: bits[9] = add(sign_ext.1589: bits[9], literal.1604: bits[9], id=1614, 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: 1626 ir: "and.1626: bits[1] = and(round_bit__1: bits[1], sticky__1: bits[1], id=1626, 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: 1627 ir: "and.1627: bits[1] = and(round_bit__1: bits[1], ult.1619: bits[1], dynamic_bit_slice.1620: bits[1], id=1627, 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: 1598 ir: "bit_slice.1598: bits[12] = bit_slice(f32_fraction__1: bits[23], start=0, width=12, id=1598, pos=[(1,1113,49), (1,1366,27), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1599 ir: "literal.1599: bits[12] = literal(value=0, id=1599, pos=[(0,1412,19), (0,1502,17), (0,1529,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: 1621 ir: "f32ull_frac__2: bits[11] = concat(literal.1600: bits[1], truncated_frac: bits[10], id=1621, 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: 1622 ir: "right_shift_cnt: bits[32] = sign_ext(add.1614: bits[9], new_bit_count=32, id=1622, pos=[(1,1320,26), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1910 ir: "literal.1910: bits[9] = literal(value=0, id=1910)" } all_nodes { node_delay_ps: 19 op: OP_OR id: 1636 ir: "round_up__1: bits[1] = or(and.1626: bits[1], and.1627: bits[1], id=1636, 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: 1605 ir: "round_bit: bits[1] = bit_slice(f32_fraction__1: bits[23], start=12, width=1, id=1605, 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: 1606 ir: "sticky: bits[1] = ne(bit_slice.1598: bits[12], literal.1599: bits[12], id=1606, pos=[(0,1502,17), (0,1529,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: 1607 ir: "bit_slice.1607: bits[1] = bit_slice(f32_fraction__1: bits[23], start=13, width=1, id=1607, 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: 1628 ir: "unrounded_subnormal_frac: bits[10] = dynamic_bit_slice(f32ull_frac__2: bits[11], right_shift_cnt: bits[32], width=10, id=1628, pos=[(1,1331,48), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_CONCAT id: 1961 ir: "concat.1961: bits[10] = concat(literal.1910: bits[9], round_up__1: bits[1], id=1961)" } all_nodes { node_delay_ps: 23 op: OP_AND id: 1615 ir: "and.1615: bits[1] = and(round_bit: bits[1], sticky: bits[1], id=1615, 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: 1616 ir: "and.1616: bits[1] = and(round_bit: bits[1], bit_slice.1607: bits[1], id=1616, 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: 1632 ir: "literal.1632: bits[8] = literal(value=0, id=1632, pos=[(1,41,9), (1,1407,13), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 235 op: OP_ADD id: 1743 ir: "subnormal_frac: bits[10] = add(unrounded_subnormal_frac: bits[10], concat.1961: bits[10], id=1743)" } all_nodes { op: OP_LITERAL id: 1645 ir: "literal.1645: bits[10] = literal(value=0, id=1645, 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: 1623 ir: "round_up: bits[1] = or(and.1615: bits[1], and.1616: 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: 73 op: OP_AND_REDUCE id: 1624 ir: "and_reduce.1624: bits[1] = and_reduce(truncated_frac: bits[10], id=1624, pos=[(1,1115,44), (1,1366,27), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1635 ir: "literal.1635: bits[9] = literal(value=11, id=1635, 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: 1650 ir: "eq.1650: bits[1] = eq(neg.1588: bits[8], literal.1632: bits[8], id=1650, 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: 1651 ir: "eq.1651: bits[1] = eq(subnormal_frac: bits[10], literal.1645: bits[10], id=1651, pos=[(1,1344,59), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1914 ir: "literal.1914: bits[7] = literal(value=0, id=1914)" } all_nodes { node_delay_ps: 23 op: OP_AND id: 1633 ir: "renormalize: bits[1] = and(round_up: bits[1], and_reduce.1624: bits[1], id=1633, 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: 1643 ir: "ugt.1643: bits[1] = ugt(add.1614: bits[9], literal.1635: bits[9], id=1643, 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: 1665 ir: "rounds_to_normal: bits[1] = and(eq.1650: bits[1], eq.1651: bits[1], id=1665, pos=[(1,1344,31), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_CONCAT id: 1962 ir: "concat.1962: bits[8] = concat(literal.1914: bits[7], renormalize: bits[1], id=1962)" } all_nodes { node_delay_ps: 19 op: OP_OR id: 1673 ir: "or.1673: bits[1] = or(ugt.1643: bits[1], rounds_to_normal: bits[1], id=1673, 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: 1740 ir: "f32_cast_bexp__2: bits[8] = add(f32_bexp__1: bits[8], concat.1962: bits[8], id=1740)" } all_nodes { op: OP_LITERAL id: 1642 ir: "literal.1642: bits[8] = literal(value=129, id=1642, pos=[(1,266,6), (1,1378,36), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_NOT id: 1756 ir: "not.1756: bits[1] = not(or.1673: bits[1], id=1756, pos=[(1,1321,4), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1630 ir: "EXPR_MASK: bits[8] = literal(value=255, id=1630, pos=[(1,39,36), (1,1407,13), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 212 op: OP_ADD id: 1648 ir: "uexp: bits[8] = add(f32_cast_bexp__2: bits[8], literal.1642: bits[8], id=1648, pos=[(1,266,6), (1,1378,36), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1658 ir: "TO_BIAS: bits[8] = literal(value=15, id=1658, pos=[(1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_NOT id: 1860 ir: "not.1860: bits[1] = not(eq.1650: bits[1], id=1860, pos=[(1,1321,4), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_NOT id: 1861 ir: "not.1861: bits[1] = not(eq.1651: bits[1], id=1861, 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: 1640 ir: "eq.1640: bits[1] = eq(f32_bexp__1: bits[8], literal.1632: bits[8], id=1640, pos=[(1,1407,13), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1631 ir: "literal.1631: bits[23] = literal(value=0, id=1631, pos=[(1,43,20), (1,1407,13), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1659 ir: "literal.1659: bits[8] = literal(value=241, id=1659, pos=[(1,1382,53), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_CONCAT id: 1963 ir: "concat.1963: bits[10] = concat(literal.1910: bits[9], round_up: bits[1], id=1963)" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 1757 ir: "sign_ext.1757: bits[10] = sign_ext(not.1756: bits[1], new_bit_count=10, id=1757, 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: 1667 ir: "eq.1667: bits[1] = eq(f32_cast_bexp__2: bits[8], EXPR_MASK: bits[8], id=1667, pos=[(1,1373,50), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 142 op: OP_SGT id: 1668 ir: "sgt.1668: bits[1] = sgt(uexp: bits[8], TO_BIAS: bits[8], id=1668, pos=[(1,1379,38), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_BIT_SLICE id: 1660 ir: "bit_slice.1660: bits[5] = bit_slice(uexp: bits[8], start=0, width=5, id=1660, pos=[(1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1661 ir: "BIAS: bits[5] = literal(value=15, id=1661, pos=[(1,343,38), (1,1387,26), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1926 ir: "literal.1926: bits[4] = literal(value=0, id=1926, 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: 1862 ir: "nor.1862: bits[1] = nor(ugt.1643: bits[1], not.1860: bits[1], not.1861: bits[1], id=1862, pos=[(1,1321,4), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_NOT id: 2012 ir: "not.2012: bits[1] = not(eq.1640: bits[1], id=2012, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 125 op: OP_EQ id: 1639 ir: "eq.1639: bits[1] = eq(f32_fraction__1: bits[23], literal.1631: bits[23], id=1639, pos=[(1,1407,13), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 96 op: OP_EQ id: 1638 ir: "eq.1638: bits[1] = eq(f32_bexp__1: bits[8], EXPR_MASK: bits[8], id=1638, pos=[(1,1407,13), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 132 op: OP_SLE id: 1669 ir: "sle.1669: bits[1] = sle(uexp: bits[8], literal.1659: bits[8], id=1669, pos=[(1,1382,45), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 235 op: OP_ADD id: 1746 ir: "f32_cast_fraction__1: bits[10] = add(truncated_frac: bits[10], concat.1963: bits[10], id=1746)" } all_nodes { node_delay_ps: 23 op: OP_AND id: 1758 ir: "and.1758: bits[10] = and(subnormal_frac: bits[10], sign_ext.1757: bits[10], id=1758, 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: 1863 ir: "nor.1863: bits[1] = nor(eq.1667: bits[1], sgt.1668: bits[1], id=1863, pos=[(1,1373,4), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 164 op: OP_ADD id: 1670 ir: "add.1670: bits[5] = add(bit_slice.1660: bits[5], BIAS: bits[5], id=1670, pos=[(1,344,5), (1,1387,26), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_CONCAT id: 1964 ir: "concat.1964: bits[5] = concat(literal.1926: bits[4], nor.1862: bits[1], id=1964, 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: 2013 ir: "nor.2013: bits[1] = nor(not.2012: bits[1], eq.1639: bits[1], id=2013, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 1647 ir: "and.1647: bits[1] = and(eq.1640: bits[1], eq.1639: bits[1], id=1647, pos=[(1,1407,13), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 1646 ir: "and.1646: bits[1] = and(eq.1638: bits[1], eq.1639: bits[1], id=1646, pos=[(1,1407,13), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_NOT id: 2010 ir: "not.2010: bits[1] = not(eq.1638: bits[1], id=2010, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 119 op: OP_SEL id: 1690 ir: "sel.1690: bits[10] = sel(sle.1669, cases=[f32_cast_fraction__1, and.1758], id=1690, pos=[(1,1382,15), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 1766 ir: "sign_ext.1766: bits[10] = sign_ext(nor.1863: bits[1], new_bit_count=10, id=1766, pos=[(1,1373,4), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 19 op: OP_OR id: 1678 ir: "or.1678: bits[1] = or(eq.1667: bits[1], sgt.1668: bits[1], id=1678, pos=[(1,1373,4), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 106 op: OP_SEL id: 1679 ir: "sel.1679: bits[5] = sel(sle.1669, cases=[add.1670, concat.1964], id=1679, pos=[(1,1382,15), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1680 ir: "literal.1680: bits[5] = literal(value=31, id=1680, pos=[(1,78,28), (1,1381,15), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 27 op: OP_OR id: 1833 ir: "or.1833: bits[1] = or(nor.2013: bits[1], and.1647: bits[1], and.1646: bits[1], id=1833, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 2017 ir: "nor.2017: bits[1] = nor(not.2010: bits[1], eq.1639: bits[1], id=2017, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 1767 ir: "and.1767: bits[10] = and(sel.1690: bits[10], sign_ext.1766: bits[10], id=1767, pos=[(1,1373,4), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 27 op: OP_NOR id: 2015 ir: "nor.2015: bits[1] = nor(eq.1638: bits[1], eq.1640: bits[1], id=2015, pos=[(1,1721,31), (2,176,25)])" } all_nodes { op: OP_CONCAT id: 1763 ir: "concat.1763: bits[2] = concat(eq.1640: bits[1], eq.1638: bits[1], id=1763, pos=[(1,1721,31), (2,176,25)])" } all_nodes { op: OP_LITERAL id: 1664 ir: "literal.1664: bits[5] = literal(value=0, id=1664, 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: 1689 ir: "sel.1689: bits[5] = sel(or.1678, cases=[sel.1679, literal.1680], id=1689, pos=[(1,1373,4), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_CONCAT id: 1820 ir: "concat.1820: bits[2] = concat(or.1833: bits[1], nor.2017: bits[1], id=1820, pos=[(1,1721,31), (2,176,25)])" } all_nodes { op: OP_BIT_SLICE id: 1798 ir: "bit_slice.1798: bits[1] = bit_slice(and.1767: bits[10], start=9, width=1, id=1798, pos=[(1,1721,31), (2,176,25)])" } all_nodes { op: OP_BIT_SLICE id: 1794 ir: "bit_slice.1794: bits[9] = bit_slice(and.1767: bits[10], start=0, width=9, id=1794, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 1951 ir: "sign_ext.1951: bits[9] = sign_ext(nor.2015: bits[1], new_bit_count=9, id=1951, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 125 op: OP_PRIORITY_SEL id: 1764 ir: "x_bexp__1: bits[5] = priority_sel(concat.1763, cases=[literal.1680, literal.1664], default=sel.1689, id=1764, pos=[(1,1721,31), (2,176,25)])" } all_nodes { op: OP_NOT id: 1684 ir: "not.1684: bits[1] = not(eq.1667: bits[1], id=1684, pos=[(1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_NOT id: 1685 ir: "not.1685: bits[1] = not(sgt.1668: bits[1], id=1685, pos=[(1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 212 op: OP_ADD id: 1686 ir: "uexp__1: bits[8] = add(f32_bexp__1: bits[8], literal.1642: bits[8], id=1686, 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: 1687 ir: "literal.1687: bits[8] = literal(value=242, id=1687, pos=[(1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_TUPLE_INDEX id: 1703 ir: "f32_sign__2: bits[1] = tuple_index(f32: (bits[1], bits[8], bits[23]), index=0, id=1703, 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: 1799 ir: "priority_sel.1799: bits[1] = priority_sel(concat.1820, cases=[literal.1600, literal.1593], default=bit_slice.1798, id=1799, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 1952 ir: "and.1952: bits[9] = and(bit_slice.1794: bits[9], sign_ext.1951: bits[9], id=1952, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 85 op: OP_NE id: 1853 ir: "ne.1853: bits[1] = ne(x_bexp__1: bits[5], literal.1664: bits[5], id=1853, pos=[(1,809,4), (1,1721,22), (2,176,25)])" } all_nodes { node_delay_ps: 43 op: OP_AND id: 1724 ir: "and.1724: bits[1] = and(nor.2015: bits[1], not.1684: bits[1], not.1685: bits[1], sle.1669: bits[1], id=1724, pos=[(1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 135 op: OP_SGE id: 1693 ir: "sge.1693: bits[1] = sge(uexp__1: bits[8], literal.1687: bits[8], id=1693, pos=[(1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_NOT id: 1649 ir: "not.1649: bits[1] = not(ugt.1643: bits[1], id=1649, 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: 1694 ir: "eq.1694: bits[1] = eq(neg.1588: bits[8], literal.1687: bits[8], id=1694, 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: 1695 ir: "ugt.1695: bits[1] = ugt(concat.1843: bits[9], literal.1611: bits[9], id=1695, pos=[(1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_NOT id: 1732 ir: "not.1732: bits[1] = not(f32_sign__2: bits[1], id=1732, pos=[(1,1721,31), (2,176,25)])" } all_nodes { op: OP_CONCAT id: 1800 ir: "concat.1800: bits[10] = concat(priority_sel.1799: bits[1], and.1952: bits[9], id=1800, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 1777 ir: "sign_ext.1777: bits[10] = sign_ext(ne.1853: bits[1], new_bit_count=10, id=1777, pos=[(1,809,4), (1,1721,22), (2,176,25)])" } all_nodes { op: OP_AFTER_ALL id: 504 ir: "assert_1265__1: token = after_all(id=504)" } all_nodes { node_delay_ps: 25 op: OP_NAND id: 1700 ir: "nand.1700: bits[1] = nand(and.1724: bits[1], sge.1693: bits[1], id=1700, pos=[(1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 33 op: OP_NAND id: 1701 ir: "nand.1701: bits[1] = nand(and.1724: bits[1], not.1649: bits[1], eq.1694: bits[1], id=1701, 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: 1702 ir: "nand.1702: bits[1] = nand(and.1724: bits[1], not.1649: bits[1], ugt.1695: bits[1], id=1702, 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: 1733 ir: "x_sign: bits[1] = nor(nor.2017: bits[1], not.1732: bits[1], id=1733, pos=[(1,1721,31), (2,176,25)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 1778 ir: "and.1778: bits[10] = and(concat.1800: bits[10], sign_ext.1777: bits[10], id=1778, pos=[(1,809,4), (1,1721,22), (2,176,25)])" } all_nodes { op: OP_ASSERT id: 1721 ir: "assert_1102__2: token = assert(assert_1265__1: token, nand.1700: 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=1721, pos=[(1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_ASSERT id: 1722 ir: "assert_874__1: token = assert(assert_1265__1: token, nand.1701: bits[1], message=\"Assertion failure via assert! @ /inputs/subtree/xls/dslx/stdlib/apfloat.x:412:12-412:65\", label=\"apfloat_round_without_residue\", id=1722, pos=[(1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_ASSERT id: 1723 ir: "assert_875__1: token = assert(assert_1265__1: token, nand.1702: bits[1], message=\"Assertion failure via assert! @ /inputs/subtree/xls/dslx/stdlib/apfloat.x:413:12-413:74\", label=\"apfloat_round_without_lsb\", id=1723, pos=[(1,1333,40), (1,1383,33), (1,1416,45), (1,1721,31), (2,176,25)])" } all_nodes { op: OP_TUPLE id: 1716 ir: "tuple.1716: (bits[1], bits[5], bits[10]) = tuple(x_sign: bits[1], x_bexp__1: bits[5], and.1778: bits[10], id=1716, pos=[(1,809,4), (1,1721,22), (2,176,25)])" }