Lattice TOP ⊤ XCTRL ⊤ :ctrl TOP->XCTRL INT_TOP ⊤ :int TOP->INT_TOP FLT_TOP ⊤ :flt TOP->FLT_TOP FL8_TOP ⊤ :FP8 TOP->FL8_TOP TUPLE_TOP ⊤ :tuple TOP->TUPLE_TOP BOT ⊥ CTRL ⊥ :ctrl XCTRL->CTRL CTRL->BOT INT_HI max < min INT_TOP->INT_HI INT_BOT ⊥ :int INT_BOT->BOT INT_XBOOL 1...0 INT_HI->INT_XBOOL INT_CON constants... INT_HI->INT_CON INT_CON0 0 INT_XBOOL->INT_CON0 INT_CON1 1 INT_XBOOL->INT_CON1 INT_LO max > min INT_CON->INT_LO INT_BOOL 0...1 INT_CON0->INT_BOOL INT_CON1->INT_BOOL INT_BOOL->INT_LO INT_LO->INT_BOT FLT_CON64 64b consts [excludes 32b consts] FLT_TOP->FLT_CON64 FLT_CONPI 3.14159... FLT_TOP->FLT_CONPI FLT_X32 ~f32 FLT_TOP->FLT_X32 FLT_BOT ⊥ :flt FLT_BOT->BOT FLT_CON64->FLT_BOT FLT_CON32 32b consts FLT_32 f32 FLT_CON32->FLT_32 FLT_CONPI->FLT_BOT FLT_X32->FLT_CON32 FLT_CON0 0. FLT_X32->FLT_CON0 FLT_CON0->FLT_32 FLT_32->FLT_BOT FL8_MINDOTS ... FL8_TOP->FL8_MINDOTS FL8_ZERO 0 FL8_TOP->FL8_ZERO FL8_MAXDOTS ... FL8_TOP->FL8_MAXDOTS FL8_BOT ⊥ :FP8 FL8_BOT->BOT FL8_MINDOTS->FL8_BOT FL8_ZERO->FL8_BOT FL8_MAXDOTS->FL8_BOT TUPLE1 Tuple type TUPLE_TOP->TUPLE1 TUPLE2 Tuple type type TUPLE_TOP->TUPLE2 TUPLEN Tuple type ... type TUPLE_TOP->TUPLEN TUPLE_BOT ⊥ :tuple TUPLE_BOT->BOT TUPLE1->TUPLE_BOT TUPLE2->TUPLE_BOT TUPLEN->TUPLE_BOT