Lattice TOP ⊤ XCTRL ⊤ :ctrl TOP->XCTRL INT_TOP ⊤ :int TOP->INT_TOP FLT_TOP ⊤ :flt TOP->FLT_TOP FL8_TOP ⊤ :FP8 TOP->FL8_TOP STRUCT_TOP ⊤ :struct TOP->STRUCT_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 STRUCT_S1 field int/ptr STRUCT_TOP->STRUCT_S1 STRUCT_S2 field int/ptr field int/ptr STRUCT_TOP->STRUCT_S2 STRUCT_SN field int/ptr ...   int/ptr field int/ptr STRUCT_TOP->STRUCT_SN STRUCT_BOT ⊥ :struct STRUCT_BOT->BOT STRUCT_S1->STRUCT_BOT STRUCT_S2->STRUCT_BOT STRUCT_SN->STRUCT_BOT