1(* mipsScript.sml - generated by L3 - Wed Jun 21 13:20:47 2017 *) 2open HolKernel boolLib bossLib Import 3 4val () = Import.start "mips" 5 6val _ = Record ("Index",[("Index",F8),("P",bTy),("index'rst",FTy 23)]) 7; 8val _ = Record ("Random",[("Random",F8),("random'rst",FTy 24)]) 9; 10val _ = Record ("Wired",[("Wired",F8),("wired'rst",FTy 24)]) 11; 12val _ = Record 13 ("EntryLo", 14 [("C",FTy 3),("D",bTy),("G",bTy),("PFN",FTy 28),("V",bTy), 15 ("entrylo'rst",FTy 30)]) 16; 17val _ = Record ("PageMask",[("Mask",FTy 12),("pagemask'rst",FTy 20)]) 18; 19val _ = Record 20 ("EntryHi", 21 [("ASID",F8),("R",FTy 2),("VPN2",FTy 27),("entryhi'rst",FTy 27)]) 22; 23val _ = Record 24 ("StatusRegister", 25 [("BEV",bTy),("CU0",bTy),("CU1",bTy),("ERL",bTy),("EXL",bTy), 26 ("FR",bTy),("IE",bTy),("IM",F8),("KSU",FTy 2),("KX",bTy),("RE",bTy), 27 ("SX",bTy),("UX",bTy),("statusregister'rst",FTy 11)]) 28; 29val _ = Record 30 ("ConfigRegister", 31 [("AR",FTy 3),("AT",FTy 2),("BE",bTy),("K0",FTy 3),("M",bTy), 32 ("MT",FTy 3),("configregister'rst",FTy 19)]) 33; 34val _ = Record 35 ("ConfigRegister1", 36 [("C2",bTy),("CA",bTy),("DA",FTy 3),("DL",FTy 3),("DS",FTy 3), 37 ("EP",bTy),("FP",bTy),("IA",FTy 3),("IL",FTy 3),("IS",FTy 3), 38 ("M",bTy),("MD",bTy),("MMUSize",FTy 6),("PC",bTy),("WR",bTy)]) 39; 40val _ = Record 41 ("ConfigRegister2", 42 [("M",bTy),("SA",F4),("SL",F4),("SS",F4),("SU",F4),("TA",F4),("TL",F4), 43 ("TS",F4),("TU",FTy 3)]) 44; 45val _ = Record 46 ("ConfigRegister3", 47 [("DSPP",bTy),("LPA",bTy),("M",bTy),("MT",bTy),("SM",bTy),("SP",bTy), 48 ("TL",bTy),("ULRI",bTy),("VEIC",bTy),("VInt",bTy), 49 ("configregister3'rst",FTy 22)]) 50; 51val _ = Record 52 ("ConfigRegister6", 53 [("LTLB",bTy),("TLBSize",F16),("configregister6'rst",FTy 15)]) 54; 55val _ = Record 56 ("CauseRegister", 57 [("BD",bTy),("CE",FTy 2),("ExcCode",FTy 5),("IP",F8),("TI",bTy), 58 ("causeregister'rst",FTy 15)]) 59; 60val _ = Record 61 ("Context",[("BadVPN2",FTy 19),("PTEBase",FTy 41),("context'rst",F4)]) 62; 63val _ = Record 64 ("XContext", 65 [("BadVPN2",FTy 27),("PTEBase",FTy 31),("R",FTy 2),("xcontext'rst",F4)]) 66; 67val _ = Record 68 ("HWREna", 69 [("CC",bTy),("CCRes",bTy),("CPUNum",bTy),("UL",bTy), 70 ("hwrena'rst",FTy 28)]) 71; 72val _ = Record 73 ("CP0", 74 [("BadVAddr",F64),("Cause",CTy"CauseRegister"),("Compare",F32), 75 ("Config",CTy"ConfigRegister"),("Config1",CTy"ConfigRegister1"), 76 ("Config2",CTy"ConfigRegister2"),("Config3",CTy"ConfigRegister3"), 77 ("Config6",CTy"ConfigRegister6"),("Context",CTy"Context"), 78 ("Count",F32),("Debug",F32),("EPC",F64),("EntryHi",CTy"EntryHi"), 79 ("EntryLo0",CTy"EntryLo"),("EntryLo1",CTy"EntryLo"),("ErrCtl",F32), 80 ("ErrorEPC",F64),("HWREna",CTy"HWREna"),("Index",CTy"Index"), 81 ("LLAddr",F64),("PRId",F32),("PageMask",CTy"PageMask"), 82 ("Random",CTy"Random"),("Status",CTy"StatusRegister"), 83 ("UsrLocal",F64),("Wired",CTy"Wired"),("XContext",CTy"XContext")]) 84; 85val _ = Construct 86 [("ExceptionType", 87 [("Int",[]),("Mod",[]),("TLBL",[]),("TLBS",[]),("AdEL",[]), 88 ("AdES",[]),("Sys",[]),("Bp",[]),("ResI",[]),("CpU",[]),("Ov",[]), 89 ("Tr",[]),("XTLBRefillL",[]),("XTLBRefillS",[])])] 90; 91val _ = Construct [("LorS",[("LOAD",[]),("STORE",[])])] 92; 93val _ = Record 94 ("FCSR", 95 [("ABS2008",bTy),("CauseE",bTy),("CauseI",bTy),("CauseO",bTy), 96 ("CauseU",bTy),("CauseV",bTy),("CauseZ",bTy),("EnableI",bTy), 97 ("EnableO",bTy),("EnableU",bTy),("EnableV",bTy),("EnableZ",bTy), 98 ("FCC",F8),("FS",bTy),("FlagI",bTy),("FlagO",bTy),("FlagU",bTy), 99 ("FlagV",bTy),("FlagZ",bTy),("NAN2008",bTy),("RM",FTy 2), 100 ("fcsr'rst",FTy 3)]) 101; 102val _ = Record 103 ("FIR", 104 [("ASE",bTy),("D",bTy),("F64",bTy),("L",bTy),("PS",bTy),("PrID",F8), 105 ("Rev",F8),("S",bTy),("W",bTy),("fir'rst",FTy 9)]) 106; 107val _ = Construct 108 [("Branch", 109 [("BEQ",[PTy(FTy 5,PTy(FTy 5,F16))]), 110 ("BEQL",[PTy(FTy 5,PTy(FTy 5,F16))]),("BGEZ",[PTy(FTy 5,F16)]), 111 ("BGEZAL",[PTy(FTy 5,F16)]),("BGEZALL",[PTy(FTy 5,F16)]), 112 ("BGEZL",[PTy(FTy 5,F16)]),("BGTZ",[PTy(FTy 5,F16)]), 113 ("BGTZL",[PTy(FTy 5,F16)]),("BLEZ",[PTy(FTy 5,F16)]), 114 ("BLEZL",[PTy(FTy 5,F16)]),("BLTZ",[PTy(FTy 5,F16)]), 115 ("BLTZAL",[PTy(FTy 5,F16)]),("BLTZALL",[PTy(FTy 5,F16)]), 116 ("BLTZL",[PTy(FTy 5,F16)]),("BNE",[PTy(FTy 5,PTy(FTy 5,F16))]), 117 ("BNEL",[PTy(FTy 5,PTy(FTy 5,F16))]),("J",[FTy 26]),("JAL",[FTy 26]), 118 ("JALR",[PTy(FTy 5,FTy 5)]),("JR",[FTy 5])])] 119; 120val _ = Construct 121 [("CP", 122 [("DMFC0",[PTy(FTy 5,PTy(FTy 5,FTy 3))]), 123 ("DMTC0",[PTy(FTy 5,PTy(FTy 5,FTy 3))]), 124 ("MFC0",[PTy(FTy 5,PTy(FTy 5,FTy 3))]), 125 ("MTC0",[PTy(FTy 5,PTy(FTy 5,FTy 3))])])] 126; 127val _ = Construct 128 [("Store", 129 [("SB",[PTy(FTy 5,PTy(FTy 5,F16))]), 130 ("SC",[PTy(FTy 5,PTy(FTy 5,F16))]), 131 ("SCD",[PTy(FTy 5,PTy(FTy 5,F16))]), 132 ("SD",[PTy(FTy 5,PTy(FTy 5,F16))]), 133 ("SDL",[PTy(FTy 5,PTy(FTy 5,F16))]), 134 ("SDR",[PTy(FTy 5,PTy(FTy 5,F16))]), 135 ("SH",[PTy(FTy 5,PTy(FTy 5,F16))]), 136 ("SW",[PTy(FTy 5,PTy(FTy 5,F16))]), 137 ("SWL",[PTy(FTy 5,PTy(FTy 5,F16))]), 138 ("SWR",[PTy(FTy 5,PTy(FTy 5,F16))])])] 139; 140val _ = Construct 141 [("Load", 142 [("LB",[PTy(FTy 5,PTy(FTy 5,F16))]), 143 ("LBU",[PTy(FTy 5,PTy(FTy 5,F16))]), 144 ("LD",[PTy(FTy 5,PTy(FTy 5,F16))]), 145 ("LDL",[PTy(FTy 5,PTy(FTy 5,F16))]), 146 ("LDR",[PTy(FTy 5,PTy(FTy 5,F16))]), 147 ("LH",[PTy(FTy 5,PTy(FTy 5,F16))]), 148 ("LHU",[PTy(FTy 5,PTy(FTy 5,F16))]), 149 ("LL",[PTy(FTy 5,PTy(FTy 5,F16))]), 150 ("LLD",[PTy(FTy 5,PTy(FTy 5,F16))]), 151 ("LW",[PTy(FTy 5,PTy(FTy 5,F16))]), 152 ("LWL",[PTy(FTy 5,PTy(FTy 5,F16))]), 153 ("LWR",[PTy(FTy 5,PTy(FTy 5,F16))]), 154 ("LWU",[PTy(FTy 5,PTy(FTy 5,F16))])])] 155; 156val _ = Construct 157 [("Trap", 158 [("TEQ",[PTy(FTy 5,FTy 5)]),("TEQI",[PTy(FTy 5,F16)]), 159 ("TGE",[PTy(FTy 5,FTy 5)]),("TGEI",[PTy(FTy 5,F16)]), 160 ("TGEIU",[PTy(FTy 5,F16)]),("TGEU",[PTy(FTy 5,FTy 5)]), 161 ("TLT",[PTy(FTy 5,FTy 5)]),("TLTI",[PTy(FTy 5,F16)]), 162 ("TLTIU",[PTy(FTy 5,F16)]),("TLTU",[PTy(FTy 5,FTy 5)]), 163 ("TNE",[PTy(FTy 5,FTy 5)]),("TNEI",[PTy(FTy 5,F16)])])] 164; 165val _ = Construct 166 [("Shift", 167 [("DSLL",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 168 ("DSLL32",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 169 ("DSLLV",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 170 ("DSRA",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 171 ("DSRA32",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 172 ("DSRAV",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 173 ("DSRL",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 174 ("DSRL32",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 175 ("DSRLV",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 176 ("SLL",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 177 ("SLLV",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 178 ("SRA",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 179 ("SRAV",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 180 ("SRL",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 181 ("SRLV",[PTy(FTy 5,PTy(FTy 5,FTy 5))])])] 182; 183val _ = Construct 184 [("MultDiv", 185 [("DDIV",[PTy(FTy 5,FTy 5)]),("DDIVU",[PTy(FTy 5,FTy 5)]), 186 ("DIV",[PTy(FTy 5,FTy 5)]),("DIVU",[PTy(FTy 5,FTy 5)]), 187 ("DMULT",[PTy(FTy 5,FTy 5)]),("DMULTU",[PTy(FTy 5,FTy 5)]), 188 ("MADD",[PTy(FTy 5,FTy 5)]),("MADDU",[PTy(FTy 5,FTy 5)]), 189 ("MFHI",[FTy 5]),("MFLO",[FTy 5]),("MSUB",[PTy(FTy 5,FTy 5)]), 190 ("MSUBU",[PTy(FTy 5,FTy 5)]),("MTHI",[FTy 5]),("MTLO",[FTy 5]), 191 ("MUL",[PTy(FTy 5,PTy(FTy 5,FTy 5))]),("MULT",[PTy(FTy 5,FTy 5)]), 192 ("MULTU",[PTy(FTy 5,FTy 5)])])] 193; 194val _ = Construct 195 [("ArithR", 196 [("ADD",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 197 ("ADDU",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 198 ("AND",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 199 ("DADD",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 200 ("DADDU",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 201 ("DSUB",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 202 ("DSUBU",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 203 ("MOVN",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 204 ("MOVZ",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 205 ("NOR",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 206 ("OR",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 207 ("SLT",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 208 ("SLTU",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 209 ("SUB",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 210 ("SUBU",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 211 ("XOR",[PTy(FTy 5,PTy(FTy 5,FTy 5))])])] 212; 213val _ = Construct 214 [("ArithI", 215 [("ADDI",[PTy(FTy 5,PTy(FTy 5,F16))]), 216 ("ADDIU",[PTy(FTy 5,PTy(FTy 5,F16))]), 217 ("ANDI",[PTy(FTy 5,PTy(FTy 5,F16))]), 218 ("DADDI",[PTy(FTy 5,PTy(FTy 5,F16))]), 219 ("DADDIU",[PTy(FTy 5,PTy(FTy 5,F16))]),("LUI",[PTy(FTy 5,F16)]), 220 ("ORI",[PTy(FTy 5,PTy(FTy 5,F16))]), 221 ("SLTI",[PTy(FTy 5,PTy(FTy 5,F16))]), 222 ("SLTIU",[PTy(FTy 5,PTy(FTy 5,F16))]), 223 ("XORI",[PTy(FTy 5,PTy(FTy 5,F16))])])] 224; 225val _ = Construct 226 [("COP1", 227 [("ABS_D",[PTy(FTy 5,FTy 5)]),("ABS_S",[PTy(FTy 5,FTy 5)]), 228 ("ADD_D",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 229 ("ADD_S",[PTy(FTy 5,PTy(FTy 5,FTy 5))]),("BC1F",[PTy(F16,FTy 3)]), 230 ("BC1FL",[PTy(F16,FTy 3)]),("BC1T",[PTy(F16,FTy 3)]), 231 ("BC1TL",[PTy(F16,FTy 3)]),("CEIL_L_D",[PTy(FTy 5,FTy 5)]), 232 ("CEIL_L_S",[PTy(FTy 5,FTy 5)]),("CEIL_W_D",[PTy(FTy 5,FTy 5)]), 233 ("CEIL_W_S",[PTy(FTy 5,FTy 5)]),("CFC1",[PTy(FTy 5,FTy 5)]), 234 ("CTC1",[PTy(FTy 5,FTy 5)]),("CVT_D_L",[PTy(FTy 5,FTy 5)]), 235 ("CVT_D_S",[PTy(FTy 5,FTy 5)]),("CVT_D_W",[PTy(FTy 5,FTy 5)]), 236 ("CVT_L_D",[PTy(FTy 5,FTy 5)]),("CVT_L_S",[PTy(FTy 5,FTy 5)]), 237 ("CVT_S_D",[PTy(FTy 5,FTy 5)]),("CVT_S_L",[PTy(FTy 5,FTy 5)]), 238 ("CVT_S_W",[PTy(FTy 5,FTy 5)]),("CVT_W_D",[PTy(FTy 5,FTy 5)]), 239 ("CVT_W_S",[PTy(FTy 5,FTy 5)]), 240 ("C_cond_D",[PTy(FTy 5,PTy(FTy 5,PTy(FTy 3,FTy 3)))]), 241 ("C_cond_S",[PTy(FTy 5,PTy(FTy 5,PTy(FTy 3,FTy 3)))]), 242 ("DIV_D",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 243 ("DIV_S",[PTy(FTy 5,PTy(FTy 5,FTy 5))]),("DMFC1",[PTy(FTy 5,FTy 5)]), 244 ("DMTC1",[PTy(FTy 5,FTy 5)]),("FLOOR_L_D",[PTy(FTy 5,FTy 5)]), 245 ("FLOOR_L_S",[PTy(FTy 5,FTy 5)]),("FLOOR_W_D",[PTy(FTy 5,FTy 5)]), 246 ("FLOOR_W_S",[PTy(FTy 5,FTy 5)]), 247 ("LDC1",[PTy(FTy 5,PTy(F16,FTy 5))]), 248 ("LDXC1",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 249 ("LWC1",[PTy(FTy 5,PTy(F16,FTy 5))]), 250 ("LWXC1",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 251 ("MADD_D",[PTy(FTy 5,PTy(FTy 5,PTy(FTy 5,FTy 5)))]), 252 ("MADD_S",[PTy(FTy 5,PTy(FTy 5,PTy(FTy 5,FTy 5)))]), 253 ("MFC1",[PTy(FTy 5,FTy 5)]),("MOVF",[PTy(FTy 5,PTy(FTy 5,FTy 3))]), 254 ("MOVF_D",[PTy(FTy 5,PTy(FTy 5,FTy 3))]), 255 ("MOVF_S",[PTy(FTy 5,PTy(FTy 5,FTy 3))]), 256 ("MOVN_D",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 257 ("MOVN_S",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 258 ("MOVT",[PTy(FTy 5,PTy(FTy 5,FTy 3))]), 259 ("MOVT_D",[PTy(FTy 5,PTy(FTy 5,FTy 3))]), 260 ("MOVT_S",[PTy(FTy 5,PTy(FTy 5,FTy 3))]), 261 ("MOVZ_D",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 262 ("MOVZ_S",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 263 ("MOV_D",[PTy(FTy 5,FTy 5)]),("MOV_S",[PTy(FTy 5,FTy 5)]), 264 ("MSUB_D",[PTy(FTy 5,PTy(FTy 5,PTy(FTy 5,FTy 5)))]), 265 ("MSUB_S",[PTy(FTy 5,PTy(FTy 5,PTy(FTy 5,FTy 5)))]), 266 ("MTC1",[PTy(FTy 5,FTy 5)]),("MUL_D",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 267 ("MUL_S",[PTy(FTy 5,PTy(FTy 5,FTy 5))]),("NEG_D",[PTy(FTy 5,FTy 5)]), 268 ("NEG_S",[PTy(FTy 5,FTy 5)]),("ROUND_L_D",[PTy(FTy 5,FTy 5)]), 269 ("ROUND_L_S",[PTy(FTy 5,FTy 5)]),("ROUND_W_D",[PTy(FTy 5,FTy 5)]), 270 ("ROUND_W_S",[PTy(FTy 5,FTy 5)]), 271 ("SDC1",[PTy(FTy 5,PTy(F16,FTy 5))]), 272 ("SDXC1",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 273 ("SQRT_D",[PTy(FTy 5,FTy 5)]),("SQRT_S",[PTy(FTy 5,FTy 5)]), 274 ("SUB_D",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 275 ("SUB_S",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 276 ("SWC1",[PTy(FTy 5,PTy(F16,FTy 5))]), 277 ("SWXC1",[PTy(FTy 5,PTy(FTy 5,FTy 5))]), 278 ("TRUNC_L_D",[PTy(FTy 5,FTy 5)]),("TRUNC_L_S",[PTy(FTy 5,FTy 5)]), 279 ("TRUNC_W_D",[PTy(FTy 5,FTy 5)]),("TRUNC_W_S",[PTy(FTy 5,FTy 5)]), 280 ("UnknownFPInstruction",[])])] 281; 282val _ = Construct 283 [("instruction", 284 [("ArithI",[CTy"ArithI"]),("ArithR",[CTy"ArithR"]),("BREAK",[]), 285 ("Branch",[CTy"Branch"]),("CACHE",[PTy(FTy 5,PTy(FTy 5,F16))]), 286 ("COP1",[CTy"COP1"]),("CP",[CTy"CP"]),("ERET",[]), 287 ("Load",[CTy"Load"]),("MultDiv",[CTy"MultDiv"]), 288 ("RDHWR",[PTy(FTy 5,FTy 5)]),("ReservedInstruction",[]), 289 ("SYNC",[FTy 5]),("SYSCALL",[]),("Shift",[CTy"Shift"]), 290 ("Store",[CTy"Store"]),("TLBP",[]),("TLBR",[]),("TLBWI",[]), 291 ("TLBWR",[]),("Trap",[CTy"Trap"]),("Unpredictable",[]),("WAIT",[])])] 292; 293val _ = Construct 294 [("exception",[("NoException",[]),("UNPREDICTABLE",[sTy])])] 295; 296val _ = Record 297 ("mips_state", 298 [("BranchDelay",OTy(OTy F64)),("BranchTo",OTy(PTy(bTy,F64))), 299 ("CP0",CTy"CP0"),("FGR",ATy(FTy 5,F64)),("LLbit",OTy bTy), 300 ("MEM",ATy(F64,F8)),("PC",F64),("exception",CTy"exception"), 301 ("exceptionSignalled",bTy),("fcsr",CTy"FCSR"),("fir",CTy"FIR"), 302 ("gpr",ATy(FTy 5,F64)),("hi",OTy F64),("lo",OTy F64)]) 303; 304val qTy = CTy "mips_state"; 305fun qVar v = Term.mk_var (v, ParseDatatype.pretypeToType qTy); 306val raise'exception_def = Def 307 ("raise'exception",Var("e",CTy"exception"), 308 Close 309 (qVar"state", 310 TP[LX(VTy"a"), 311 ITE(EQ(Dest("exception",CTy"exception",qVar"state"), 312 Const("NoException",CTy"exception")), 313 Rupd("exception",TP[qVar"state",Var("e",CTy"exception")]), 314 qVar"state")])) 315; 316val rec'Index_def = Def 317 ("rec'Index",Var("x",F32), 318 Rec(CTy"Index", 319 [EX(Var("x",F32),LN 7,LN 0,F8),Bop(Bit,Var("x",F32),LN 31), 320 EX(Var("x",F32),LN 30,LN 8,FTy 23)])) 321; 322val reg'Index_def = Def 323 ("reg'Index",Var("x",CTy"Index"), 324 CS(Var("x",CTy"Index"), 325 [(Rec(CTy"Index",[Var("Index",F8),bVar"P",Var("index'rst",FTy 23)]), 326 CC[Mop(Cast F1,bVar"P"),Var("index'rst",FTy 23),Var("Index",F8)])])) 327; 328val write'rec'Index_def = Def 329 ("write'rec'Index",TP[AVar F32,Var("x",CTy"Index")], 330 Call("reg'Index",F32,Var("x",CTy"Index"))) 331; 332val write'reg'Index_def = Def 333 ("write'reg'Index",TP[AVar(CTy"Index"),Var("x",F32)], 334 Call("rec'Index",CTy"Index",Var("x",F32))) 335; 336val rec'Random_def = Def 337 ("rec'Random",Var("x",F32), 338 Rec(CTy"Random", 339 [EX(Var("x",F32),LN 7,LN 0,F8),EX(Var("x",F32),LN 31,LN 8,FTy 24)])) 340; 341val reg'Random_def = Def 342 ("reg'Random",Var("x",CTy"Random"), 343 CS(Var("x",CTy"Random"), 344 [(Rec(CTy"Random",[Var("Random",F8),Var("random'rst",FTy 24)]), 345 CC[Var("random'rst",FTy 24),Var("Random",F8)])])) 346; 347val write'rec'Random_def = Def 348 ("write'rec'Random",TP[AVar F32,Var("x",CTy"Random")], 349 Call("reg'Random",F32,Var("x",CTy"Random"))) 350; 351val write'reg'Random_def = Def 352 ("write'reg'Random",TP[AVar(CTy"Random"),Var("x",F32)], 353 Call("rec'Random",CTy"Random",Var("x",F32))) 354; 355val rec'Wired_def = Def 356 ("rec'Wired",Var("x",F32), 357 Rec(CTy"Wired", 358 [EX(Var("x",F32),LN 7,LN 0,F8),EX(Var("x",F32),LN 31,LN 8,FTy 24)])) 359; 360val reg'Wired_def = Def 361 ("reg'Wired",Var("x",CTy"Wired"), 362 CS(Var("x",CTy"Wired"), 363 [(Rec(CTy"Wired",[Var("Wired",F8),Var("wired'rst",FTy 24)]), 364 CC[Var("wired'rst",FTy 24),Var("Wired",F8)])])) 365; 366val write'rec'Wired_def = Def 367 ("write'rec'Wired",TP[AVar F32,Var("x",CTy"Wired")], 368 Call("reg'Wired",F32,Var("x",CTy"Wired"))) 369; 370val write'reg'Wired_def = Def 371 ("write'reg'Wired",TP[AVar(CTy"Wired"),Var("x",F32)], 372 Call("rec'Wired",CTy"Wired",Var("x",F32))) 373; 374val rec'EntryLo_def = Def 375 ("rec'EntryLo",Var("x",F64), 376 Rec(CTy"EntryLo", 377 [EX(Var("x",F64),LN 5,LN 3,FTy 3),Bop(Bit,Var("x",F64),LN 2), 378 Bop(Bit,Var("x",F64),LN 0),EX(Var("x",F64),LN 33,LN 6,FTy 28), 379 Bop(Bit,Var("x",F64),LN 1),EX(Var("x",F64),LN 63,LN 34,FTy 30)])) 380; 381val reg'EntryLo_def = Def 382 ("reg'EntryLo",Var("x",CTy"EntryLo"), 383 CS(Var("x",CTy"EntryLo"), 384 [(Rec(CTy"EntryLo", 385 [Var("C",FTy 3),bVar"D",bVar"G",Var("PFN",FTy 28),bVar"V", 386 Var("entrylo'rst",FTy 30)]), 387 CC[Var("entrylo'rst",FTy 30),Var("PFN",FTy 28),Var("C",FTy 3), 388 Mop(Cast F1,bVar"D"),Mop(Cast F1,bVar"V"),Mop(Cast F1,bVar"G")])])) 389; 390val write'rec'EntryLo_def = Def 391 ("write'rec'EntryLo",TP[AVar F64,Var("x",CTy"EntryLo")], 392 Call("reg'EntryLo",F64,Var("x",CTy"EntryLo"))) 393; 394val write'reg'EntryLo_def = Def 395 ("write'reg'EntryLo",TP[AVar(CTy"EntryLo"),Var("x",F64)], 396 Call("rec'EntryLo",CTy"EntryLo",Var("x",F64))) 397; 398val rec'PageMask_def = Def 399 ("rec'PageMask",Var("x",F32), 400 Rec(CTy"PageMask", 401 [EX(Var("x",F32),LN 24,LN 13,FTy 12), 402 CC[EX(Var("x",F32),LN 12,LN 0,FTy 13), 403 EX(Var("x",F32),LN 31,LN 25,FTy 7)]])) 404; 405val reg'PageMask_def = Def 406 ("reg'PageMask",Var("x",CTy"PageMask"), 407 CS(Var("x",CTy"PageMask"), 408 [(Rec(CTy"PageMask",[Var("Mask",FTy 12),Var("pagemask'rst",FTy 20)]), 409 CC[EX(Var("pagemask'rst",FTy 20),LN 6,LN 0,FTy 7), 410 Var("Mask",FTy 12), 411 EX(Var("pagemask'rst",FTy 20),LN 19,LN 7,FTy 13)])])) 412; 413val write'rec'PageMask_def = Def 414 ("write'rec'PageMask",TP[AVar F32,Var("x",CTy"PageMask")], 415 Call("reg'PageMask",F32,Var("x",CTy"PageMask"))) 416; 417val write'reg'PageMask_def = Def 418 ("write'reg'PageMask",TP[AVar(CTy"PageMask"),Var("x",F32)], 419 Call("rec'PageMask",CTy"PageMask",Var("x",F32))) 420; 421val rec'EntryHi_def = Def 422 ("rec'EntryHi",Var("x",F64), 423 Rec(CTy"EntryHi", 424 [EX(Var("x",F64),LN 7,LN 0,F8),EX(Var("x",F64),LN 63,LN 62,FTy 2), 425 EX(Var("x",F64),LN 39,LN 13,FTy 27), 426 CC[EX(Var("x",F64),LN 12,LN 8,FTy 5), 427 EX(Var("x",F64),LN 61,LN 40,FTy 22)]])) 428; 429val reg'EntryHi_def = Def 430 ("reg'EntryHi",Var("x",CTy"EntryHi"), 431 CS(Var("x",CTy"EntryHi"), 432 [(Rec(CTy"EntryHi", 433 [Var("ASID",F8),Var("R",FTy 2),Var("VPN2",FTy 27), 434 Var("entryhi'rst",FTy 27)]), 435 CC[Var("R",FTy 2),EX(Var("entryhi'rst",FTy 27),LN 21,LN 0,FTy 22), 436 Var("VPN2",FTy 27), 437 EX(Var("entryhi'rst",FTy 27),LN 26,LN 22,FTy 5),Var("ASID",F8)])])) 438; 439val write'rec'EntryHi_def = Def 440 ("write'rec'EntryHi",TP[AVar F64,Var("x",CTy"EntryHi")], 441 Call("reg'EntryHi",F64,Var("x",CTy"EntryHi"))) 442; 443val write'reg'EntryHi_def = Def 444 ("write'reg'EntryHi",TP[AVar(CTy"EntryHi"),Var("x",F64)], 445 Call("rec'EntryHi",CTy"EntryHi",Var("x",F64))) 446; 447val rec'StatusRegister_def = Def 448 ("rec'StatusRegister",Var("x",F32), 449 Rec(CTy"StatusRegister", 450 [Bop(Bit,Var("x",F32),LN 22),Bop(Bit,Var("x",F32),LN 28), 451 Bop(Bit,Var("x",F32),LN 29),Bop(Bit,Var("x",F32),LN 2), 452 Bop(Bit,Var("x",F32),LN 1),Bop(Bit,Var("x",F32),LN 26), 453 Bop(Bit,Var("x",F32),LN 0),EX(Var("x",F32),LN 15,LN 8,F8), 454 EX(Var("x",F32),LN 4,LN 3,FTy 2),Bop(Bit,Var("x",F32),LN 7), 455 Bop(Bit,Var("x",F32),LN 25),Bop(Bit,Var("x",F32),LN 6), 456 Bop(Bit,Var("x",F32),LN 5), 457 CC[EX(Var("x",F32),LN 21,LN 16,FTy 6), 458 EX(Var("x",F32),LN 24,LN 23,FTy 2), 459 EX(Var("x",F32),LN 27,LN 27,F1), 460 EX(Var("x",F32),LN 31,LN 30,FTy 2)]])) 461; 462val reg'StatusRegister_def = Def 463 ("reg'StatusRegister",Var("x",CTy"StatusRegister"), 464 CS(Var("x",CTy"StatusRegister"), 465 [(Rec(CTy"StatusRegister", 466 [bVar"BEV",bVar"CU0",bVar"CU1",bVar"ERL",bVar"EXL",bVar"FR", 467 bVar"IE",Var("IM",F8),Var("KSU",FTy 2),bVar"KX",bVar"RE", 468 bVar"SX",bVar"UX",Var("statusregister'rst",FTy 11)]), 469 CC[EX(Var("statusregister'rst",FTy 11),LN 1,LN 0,FTy 2), 470 Mop(Cast F1,bVar"CU1"),Mop(Cast F1,bVar"CU0"), 471 EX(Var("statusregister'rst",FTy 11),LN 2,LN 2,F1), 472 Mop(Cast F1,bVar"FR"),Mop(Cast F1,bVar"RE"), 473 EX(Var("statusregister'rst",FTy 11),LN 4,LN 3,FTy 2), 474 Mop(Cast F1,bVar"BEV"), 475 EX(Var("statusregister'rst",FTy 11),LN 10,LN 5,FTy 6), 476 Var("IM",F8),Mop(Cast F1,bVar"KX"),Mop(Cast F1,bVar"SX"), 477 Mop(Cast F1,bVar"UX"),Var("KSU",FTy 2),Mop(Cast F1,bVar"ERL"), 478 Mop(Cast F1,bVar"EXL"),Mop(Cast F1,bVar"IE")])])) 479; 480val write'rec'StatusRegister_def = Def 481 ("write'rec'StatusRegister",TP[AVar F32,Var("x",CTy"StatusRegister")], 482 Call("reg'StatusRegister",F32,Var("x",CTy"StatusRegister"))) 483; 484val write'reg'StatusRegister_def = Def 485 ("write'reg'StatusRegister",TP[AVar(CTy"StatusRegister"),Var("x",F32)], 486 Call("rec'StatusRegister",CTy"StatusRegister",Var("x",F32))) 487; 488val rec'ConfigRegister_def = Def 489 ("rec'ConfigRegister",Var("x",F32), 490 Rec(CTy"ConfigRegister", 491 [EX(Var("x",F32),LN 12,LN 10,FTy 3), 492 EX(Var("x",F32),LN 14,LN 13,FTy 2),Bop(Bit,Var("x",F32),LN 15), 493 EX(Var("x",F32),LN 2,LN 0,FTy 3),Bop(Bit,Var("x",F32),LN 31), 494 EX(Var("x",F32),LN 9,LN 7,FTy 3), 495 CC[EX(Var("x",F32),LN 6,LN 3,F4), 496 EX(Var("x",F32),LN 30,LN 16,FTy 15)]])) 497; 498val reg'ConfigRegister_def = Def 499 ("reg'ConfigRegister",Var("x",CTy"ConfigRegister"), 500 CS(Var("x",CTy"ConfigRegister"), 501 [(Rec(CTy"ConfigRegister", 502 [Var("AR",FTy 3),Var("AT",FTy 2),bVar"BE",Var("K0",FTy 3), 503 bVar"M",Var("MT",FTy 3),Var("configregister'rst",FTy 19)]), 504 CC[Mop(Cast F1,bVar"M"), 505 EX(Var("configregister'rst",FTy 19),LN 14,LN 0,FTy 15), 506 Mop(Cast F1,bVar"BE"),Var("AT",FTy 2),Var("AR",FTy 3), 507 Var("MT",FTy 3), 508 EX(Var("configregister'rst",FTy 19),LN 18,LN 15,F4), 509 Var("K0",FTy 3)])])) 510; 511val write'rec'ConfigRegister_def = Def 512 ("write'rec'ConfigRegister",TP[AVar F32,Var("x",CTy"ConfigRegister")], 513 Call("reg'ConfigRegister",F32,Var("x",CTy"ConfigRegister"))) 514; 515val write'reg'ConfigRegister_def = Def 516 ("write'reg'ConfigRegister",TP[AVar(CTy"ConfigRegister"),Var("x",F32)], 517 Call("rec'ConfigRegister",CTy"ConfigRegister",Var("x",F32))) 518; 519val rec'ConfigRegister1_def = Def 520 ("rec'ConfigRegister1",Var("x",F32), 521 Rec(CTy"ConfigRegister1", 522 [Bop(Bit,Var("x",F32),LN 6),Bop(Bit,Var("x",F32),LN 2), 523 EX(Var("x",F32),LN 9,LN 7,FTy 3), 524 EX(Var("x",F32),LN 12,LN 10,FTy 3), 525 EX(Var("x",F32),LN 15,LN 13,FTy 3),Bop(Bit,Var("x",F32),LN 1), 526 Bop(Bit,Var("x",F32),LN 0),EX(Var("x",F32),LN 18,LN 16,FTy 3), 527 EX(Var("x",F32),LN 21,LN 19,FTy 3), 528 EX(Var("x",F32),LN 24,LN 22,FTy 3),Bop(Bit,Var("x",F32),LN 31), 529 Bop(Bit,Var("x",F32),LN 5),EX(Var("x",F32),LN 30,LN 25,FTy 6), 530 Bop(Bit,Var("x",F32),LN 4),Bop(Bit,Var("x",F32),LN 3)])) 531; 532val reg'ConfigRegister1_def = Def 533 ("reg'ConfigRegister1",Var("x",CTy"ConfigRegister1"), 534 CS(Var("x",CTy"ConfigRegister1"), 535 [(Rec(CTy"ConfigRegister1", 536 [bVar"C2",bVar"CA",Var("DA",FTy 3),Var("DL",FTy 3), 537 Var("DS",FTy 3),bVar"EP",bVar"FP",Var("IA",FTy 3), 538 Var("IL",FTy 3),Var("IS",FTy 3),bVar"M",bVar"MD", 539 Var("MMUSize",FTy 6),bVar"PC",bVar"WR"]), 540 CC[Mop(Cast F1,bVar"M"),Var("MMUSize",FTy 6),Var("IS",FTy 3), 541 Var("IL",FTy 3),Var("IA",FTy 3),Var("DS",FTy 3), 542 Var("DL",FTy 3),Var("DA",FTy 3),Mop(Cast F1,bVar"C2"), 543 Mop(Cast F1,bVar"MD"),Mop(Cast F1,bVar"PC"), 544 Mop(Cast F1,bVar"WR"),Mop(Cast F1,bVar"CA"), 545 Mop(Cast F1,bVar"EP"),Mop(Cast F1,bVar"FP")])])) 546; 547val write'rec'ConfigRegister1_def = Def 548 ("write'rec'ConfigRegister1",TP[AVar F32,Var("x",CTy"ConfigRegister1")], 549 Call("reg'ConfigRegister1",F32,Var("x",CTy"ConfigRegister1"))) 550; 551val write'reg'ConfigRegister1_def = Def 552 ("write'reg'ConfigRegister1", 553 TP[AVar(CTy"ConfigRegister1"),Var("x",F32)], 554 Call("rec'ConfigRegister1",CTy"ConfigRegister1",Var("x",F32))) 555; 556val rec'ConfigRegister2_def = Def 557 ("rec'ConfigRegister2",Var("x",F32), 558 Rec(CTy"ConfigRegister2", 559 [Bop(Bit,Var("x",F32),LN 31),EX(Var("x",F32),LN 3,LN 0,F4), 560 EX(Var("x",F32),LN 7,LN 4,F4),EX(Var("x",F32),LN 11,LN 8,F4), 561 EX(Var("x",F32),LN 15,LN 12,F4),EX(Var("x",F32),LN 19,LN 16,F4), 562 EX(Var("x",F32),LN 23,LN 20,F4),EX(Var("x",F32),LN 27,LN 24,F4), 563 EX(Var("x",F32),LN 30,LN 28,FTy 3)])) 564; 565val reg'ConfigRegister2_def = Def 566 ("reg'ConfigRegister2",Var("x",CTy"ConfigRegister2"), 567 CS(Var("x",CTy"ConfigRegister2"), 568 [(Rec(CTy"ConfigRegister2", 569 [bVar"M",Var("SA",F4),Var("SL",F4),Var("SS",F4),Var("SU",F4), 570 Var("TA",F4),Var("TL",F4),Var("TS",F4),Var("TU",FTy 3)]), 571 CC[Mop(Cast F1,bVar"M"),Var("TU",FTy 3),Var("TS",F4),Var("TL",F4), 572 Var("TA",F4),Var("SU",F4),Var("SS",F4),Var("SL",F4), 573 Var("SA",F4)])])) 574; 575val write'rec'ConfigRegister2_def = Def 576 ("write'rec'ConfigRegister2",TP[AVar F32,Var("x",CTy"ConfigRegister2")], 577 Call("reg'ConfigRegister2",F32,Var("x",CTy"ConfigRegister2"))) 578; 579val write'reg'ConfigRegister2_def = Def 580 ("write'reg'ConfigRegister2", 581 TP[AVar(CTy"ConfigRegister2"),Var("x",F32)], 582 Call("rec'ConfigRegister2",CTy"ConfigRegister2",Var("x",F32))) 583; 584val rec'ConfigRegister3_def = Def 585 ("rec'ConfigRegister3",Var("x",F32), 586 Rec(CTy"ConfigRegister3", 587 [Bop(Bit,Var("x",F32),LN 10),Bop(Bit,Var("x",F32),LN 7), 588 Bop(Bit,Var("x",F32),LN 31),Bop(Bit,Var("x",F32),LN 2), 589 Bop(Bit,Var("x",F32),LN 1),Bop(Bit,Var("x",F32),LN 4), 590 Bop(Bit,Var("x",F32),LN 0),Bop(Bit,Var("x",F32),LN 13), 591 Bop(Bit,Var("x",F32),LN 6),Bop(Bit,Var("x",F32),LN 5), 592 CC[EX(Var("x",F32),LN 3,LN 3,F1),EX(Var("x",F32),LN 9,LN 8,FTy 2), 593 EX(Var("x",F32),LN 12,LN 11,FTy 2), 594 EX(Var("x",F32),LN 30,LN 14,FTy 17)]])) 595; 596val reg'ConfigRegister3_def = Def 597 ("reg'ConfigRegister3",Var("x",CTy"ConfigRegister3"), 598 CS(Var("x",CTy"ConfigRegister3"), 599 [(Rec(CTy"ConfigRegister3", 600 [bVar"DSPP",bVar"LPA",bVar"M",bVar"MT",bVar"SM",bVar"SP", 601 bVar"TL",bVar"ULRI",bVar"VEIC",bVar"VInt", 602 Var("configregister3'rst",FTy 22)]), 603 CC[Mop(Cast F1,bVar"M"), 604 EX(Var("configregister3'rst",FTy 22),LN 16,LN 0,FTy 17), 605 Mop(Cast F1,bVar"ULRI"), 606 EX(Var("configregister3'rst",FTy 22),LN 18,LN 17,FTy 2), 607 Mop(Cast F1,bVar"DSPP"), 608 EX(Var("configregister3'rst",FTy 22),LN 20,LN 19,FTy 2), 609 Mop(Cast F1,bVar"LPA"),Mop(Cast F1,bVar"VEIC"), 610 Mop(Cast F1,bVar"VInt"),Mop(Cast F1,bVar"SP"), 611 EX(Var("configregister3'rst",FTy 22),LN 21,LN 21,F1), 612 Mop(Cast F1,bVar"MT"),Mop(Cast F1,bVar"SM"), 613 Mop(Cast F1,bVar"TL")])])) 614; 615val write'rec'ConfigRegister3_def = Def 616 ("write'rec'ConfigRegister3",TP[AVar F32,Var("x",CTy"ConfigRegister3")], 617 Call("reg'ConfigRegister3",F32,Var("x",CTy"ConfigRegister3"))) 618; 619val write'reg'ConfigRegister3_def = Def 620 ("write'reg'ConfigRegister3", 621 TP[AVar(CTy"ConfigRegister3"),Var("x",F32)], 622 Call("rec'ConfigRegister3",CTy"ConfigRegister3",Var("x",F32))) 623; 624val rec'ConfigRegister6_def = Def 625 ("rec'ConfigRegister6",Var("x",F32), 626 Rec(CTy"ConfigRegister6", 627 [Bop(Bit,Var("x",F32),LN 2),EX(Var("x",F32),LN 31,LN 16,F16), 628 CC[EX(Var("x",F32),LN 1,LN 0,FTy 2), 629 EX(Var("x",F32),LN 15,LN 3,FTy 13)]])) 630; 631val reg'ConfigRegister6_def = Def 632 ("reg'ConfigRegister6",Var("x",CTy"ConfigRegister6"), 633 CS(Var("x",CTy"ConfigRegister6"), 634 [(Rec(CTy"ConfigRegister6", 635 [bVar"LTLB",Var("TLBSize",F16), 636 Var("configregister6'rst",FTy 15)]), 637 CC[Var("TLBSize",F16), 638 EX(Var("configregister6'rst",FTy 15),LN 12,LN 0,FTy 13), 639 Mop(Cast F1,bVar"LTLB"), 640 EX(Var("configregister6'rst",FTy 15),LN 14,LN 13,FTy 2)])])) 641; 642val write'rec'ConfigRegister6_def = Def 643 ("write'rec'ConfigRegister6",TP[AVar F32,Var("x",CTy"ConfigRegister6")], 644 Call("reg'ConfigRegister6",F32,Var("x",CTy"ConfigRegister6"))) 645; 646val write'reg'ConfigRegister6_def = Def 647 ("write'reg'ConfigRegister6", 648 TP[AVar(CTy"ConfigRegister6"),Var("x",F32)], 649 Call("rec'ConfigRegister6",CTy"ConfigRegister6",Var("x",F32))) 650; 651val rec'CauseRegister_def = Def 652 ("rec'CauseRegister",Var("x",F32), 653 Rec(CTy"CauseRegister", 654 [Bop(Bit,Var("x",F32),LN 31),EX(Var("x",F32),LN 29,LN 28,FTy 2), 655 EX(Var("x",F32),LN 6,LN 2,FTy 5),EX(Var("x",F32),LN 15,LN 8,F8), 656 Bop(Bit,Var("x",F32),LN 30), 657 CC[EX(Var("x",F32),LN 1,LN 0,FTy 2),EX(Var("x",F32),LN 7,LN 7,F1), 658 EX(Var("x",F32),LN 27,LN 16,FTy 12)]])) 659; 660val reg'CauseRegister_def = Def 661 ("reg'CauseRegister",Var("x",CTy"CauseRegister"), 662 CS(Var("x",CTy"CauseRegister"), 663 [(Rec(CTy"CauseRegister", 664 [bVar"BD",Var("CE",FTy 2),Var("ExcCode",FTy 5),Var("IP",F8), 665 bVar"TI",Var("causeregister'rst",FTy 15)]), 666 CC[Mop(Cast F1,bVar"BD"),Mop(Cast F1,bVar"TI"),Var("CE",FTy 2), 667 EX(Var("causeregister'rst",FTy 15),LN 11,LN 0,FTy 12), 668 Var("IP",F8), 669 EX(Var("causeregister'rst",FTy 15),LN 12,LN 12,F1), 670 Var("ExcCode",FTy 5), 671 EX(Var("causeregister'rst",FTy 15),LN 14,LN 13,FTy 2)])])) 672; 673val write'rec'CauseRegister_def = Def 674 ("write'rec'CauseRegister",TP[AVar F32,Var("x",CTy"CauseRegister")], 675 Call("reg'CauseRegister",F32,Var("x",CTy"CauseRegister"))) 676; 677val write'reg'CauseRegister_def = Def 678 ("write'reg'CauseRegister",TP[AVar(CTy"CauseRegister"),Var("x",F32)], 679 Call("rec'CauseRegister",CTy"CauseRegister",Var("x",F32))) 680; 681val rec'Context_def = Def 682 ("rec'Context",Var("x",F64), 683 Rec(CTy"Context", 684 [EX(Var("x",F64),LN 22,LN 4,FTy 19), 685 EX(Var("x",F64),LN 63,LN 23,FTy 41),EX(Var("x",F64),LN 3,LN 0,F4)])) 686; 687val reg'Context_def = Def 688 ("reg'Context",Var("x",CTy"Context"), 689 CS(Var("x",CTy"Context"), 690 [(Rec(CTy"Context", 691 [Var("BadVPN2",FTy 19),Var("PTEBase",FTy 41), 692 Var("context'rst",F4)]), 693 CC[Var("PTEBase",FTy 41),Var("BadVPN2",FTy 19), 694 Var("context'rst",F4)])])) 695; 696val write'rec'Context_def = Def 697 ("write'rec'Context",TP[AVar F64,Var("x",CTy"Context")], 698 Call("reg'Context",F64,Var("x",CTy"Context"))) 699; 700val write'reg'Context_def = Def 701 ("write'reg'Context",TP[AVar(CTy"Context"),Var("x",F64)], 702 Call("rec'Context",CTy"Context",Var("x",F64))) 703; 704val rec'XContext_def = Def 705 ("rec'XContext",Var("x",F64), 706 Rec(CTy"XContext", 707 [EX(Var("x",F64),LN 30,LN 4,FTy 27), 708 EX(Var("x",F64),LN 63,LN 33,FTy 31), 709 EX(Var("x",F64),LN 32,LN 31,FTy 2),EX(Var("x",F64),LN 3,LN 0,F4)])) 710; 711val reg'XContext_def = Def 712 ("reg'XContext",Var("x",CTy"XContext"), 713 CS(Var("x",CTy"XContext"), 714 [(Rec(CTy"XContext", 715 [Var("BadVPN2",FTy 27),Var("PTEBase",FTy 31),Var("R",FTy 2), 716 Var("xcontext'rst",F4)]), 717 CC[Var("PTEBase",FTy 31),Var("R",FTy 2),Var("BadVPN2",FTy 27), 718 Var("xcontext'rst",F4)])])) 719; 720val write'rec'XContext_def = Def 721 ("write'rec'XContext",TP[AVar F64,Var("x",CTy"XContext")], 722 Call("reg'XContext",F64,Var("x",CTy"XContext"))) 723; 724val write'reg'XContext_def = Def 725 ("write'reg'XContext",TP[AVar(CTy"XContext"),Var("x",F64)], 726 Call("rec'XContext",CTy"XContext",Var("x",F64))) 727; 728val rec'HWREna_def = Def 729 ("rec'HWREna",Var("x",F32), 730 Rec(CTy"HWREna", 731 [Bop(Bit,Var("x",F32),LN 2),Bop(Bit,Var("x",F32),LN 3), 732 Bop(Bit,Var("x",F32),LN 0),Bop(Bit,Var("x",F32),LN 29), 733 CC[EX(Var("x",F32),LN 1,LN 1,F1), 734 EX(Var("x",F32),LN 28,LN 4,FTy 25), 735 EX(Var("x",F32),LN 31,LN 30,FTy 2)]])) 736; 737val reg'HWREna_def = Def 738 ("reg'HWREna",Var("x",CTy"HWREna"), 739 CS(Var("x",CTy"HWREna"), 740 [(Rec(CTy"HWREna", 741 [bVar"CC",bVar"CCRes",bVar"CPUNum",bVar"UL", 742 Var("hwrena'rst",FTy 28)]), 743 CC[EX(Var("hwrena'rst",FTy 28),LN 1,LN 0,FTy 2), 744 Mop(Cast F1,bVar"UL"), 745 EX(Var("hwrena'rst",FTy 28),LN 26,LN 2,FTy 25), 746 Mop(Cast F1,bVar"CCRes"),Mop(Cast F1,bVar"CC"), 747 EX(Var("hwrena'rst",FTy 28),LN 27,LN 27,F1), 748 Mop(Cast F1,bVar"CPUNum")])])) 749; 750val write'rec'HWREna_def = Def 751 ("write'rec'HWREna",TP[AVar F32,Var("x",CTy"HWREna")], 752 Call("reg'HWREna",F32,Var("x",CTy"HWREna"))) 753; 754val write'reg'HWREna_def = Def 755 ("write'reg'HWREna",TP[AVar(CTy"HWREna"),Var("x",F32)], 756 Call("rec'HWREna",CTy"HWREna",Var("x",F32))) 757; 758val ConditionalBranch_def = Def 759 ("ConditionalBranch",TP[bVar"b",Var("offset",F16)], 760 Close 761 (qVar"state", 762 Rupd 763 ("BranchTo", 764 TP[qVar"state", 765 Mop(Some, 766 ITE(bVar"b", 767 TP[LF, 768 Bop(Add, 769 Bop(Add,Dest("PC",F64,qVar"state"),LW(4,64)), 770 Bop(Lsl,Mop(SE F64,Var("offset",F16)),LN 2))], 771 TP[LT,Bop(Add,Dest("PC",F64,qVar"state"),LW(4,64))]))]))) 772; 773val ConditionalBranchLikely_def = Def 774 ("ConditionalBranchLikely",TP[bVar"b",Var("offset",F16)], 775 Close 776 (qVar"state", 777 ITB([(bVar"b", 778 Rupd 779 ("BranchTo", 780 TP[qVar"state", 781 Mop(Some, 782 TP[LF, 783 Bop(Add, 784 Bop(Add,Dest("PC",F64,qVar"state"),LW(4,64)), 785 Bop(Lsl,Mop(SE F64,Var("offset",F16)),LN 2))])])), 786 (Mop(IsSome,Dest("BranchDelay",OTy(OTy F64),qVar"state")), 787 Rupd 788 ("BranchTo", 789 TP[qVar"state", 790 Mop(Some, 791 TP[LT,Bop(Add,Dest("PC",F64,qVar"state"),LW(8,64))])]))], 792 Rupd 793 ("PC", 794 TP[qVar"state",Bop(Add,Dest("PC",F64,qVar"state"),LW(4,64))])))) 795; 796val NotWordValue_def = Def 797 ("NotWordValue",Var("value",F64), 798 Let(Var("top",FTy 33),EX(Var("value",F64),LN 63,LN 31,FTy 33), 799 Bop(And,Mop(Not,EQ(Var("top",FTy 33),LW(0,33))), 800 Mop(Not,EQ(Var("top",FTy 33),LW(8589934591,33)))))) 801; 802val ExceptionCode_def = Def 803 ("ExceptionCode",Var("ExceptionType",CTy"ExceptionType"), 804 Close 805 (qVar"state", 806 Rupd 807 ("CP0", 808 TP[qVar"state", 809 Rupd 810 ("Cause", 811 TP[Dest("CP0",CTy"CP0",qVar"state"), 812 Rupd 813 ("ExcCode", 814 TP[Dest 815 ("Cause",CTy"CauseRegister", 816 Dest("CP0",CTy"CP0",qVar"state")), 817 CS(Var("ExceptionType",CTy"ExceptionType"), 818 [(LC("Int",CTy"ExceptionType"),LW(0,5)), 819 (LC("Mod",CTy"ExceptionType"),LW(1,5)), 820 (LC("TLBL",CTy"ExceptionType"),LW(2,5)), 821 (LC("TLBS",CTy"ExceptionType"),LW(3,5)), 822 (LC("AdEL",CTy"ExceptionType"),LW(4,5)), 823 (LC("AdES",CTy"ExceptionType"),LW(5,5)), 824 (LC("Sys",CTy"ExceptionType"),LW(8,5)), 825 (LC("Bp",CTy"ExceptionType"),LW(9,5)), 826 (LC("ResI",CTy"ExceptionType"),LW(10,5)), 827 (LC("CpU",CTy"ExceptionType"),LW(11,5)), 828 (LC("Ov",CTy"ExceptionType"),LW(12,5)), 829 (LC("Tr",CTy"ExceptionType"),LW(13,5)), 830 (LC("XTLBRefillL",CTy"ExceptionType"),LW(2,5)), 831 (LC("XTLBRefillS",CTy"ExceptionType"),LW(3,5))])])])]))) 832; 833val SignalException_def = Def 834 ("SignalException",Var("ExceptionType",CTy"ExceptionType"), 835 Close 836 (qVar"state", 837 Let(qVar"s", 838 ITE(Mop(Not, 839 Dest 840 ("EXL",bTy, 841 Dest 842 ("Status",CTy"StatusRegister", 843 Dest("CP0",CTy"CP0",qVar"state")))), 844 CS(Dest("BranchDelay",OTy(OTy F64),qVar"state"), 845 [(Mop(Some,Mop(Some,AVar F64)), 846 Let(qVar"s", 847 Rupd 848 ("CP0", 849 TP[qVar"state", 850 Rupd 851 ("EPC", 852 TP[Dest("CP0",CTy"CP0",qVar"state"), 853 Bop(Sub,Dest("PC",F64,qVar"state"), 854 LW(4,64))])]), 855 Rupd 856 ("CP0", 857 TP[qVar"s", 858 Rupd 859 ("Cause", 860 TP[Dest("CP0",CTy"CP0",qVar"s"), 861 Rupd 862 ("BD", 863 TP[Dest 864 ("Cause",CTy"CauseRegister", 865 Dest("CP0",CTy"CP0",qVar"s")), 866 LT])])]))), 867 (AVar(OTy(OTy F64)), 868 Let(qVar"s", 869 Rupd 870 ("CP0", 871 TP[qVar"state", 872 Rupd 873 ("EPC", 874 TP[Dest("CP0",CTy"CP0",qVar"state"), 875 Dest("PC",F64,qVar"state")])]), 876 Rupd 877 ("CP0", 878 TP[qVar"s", 879 Rupd 880 ("Cause", 881 TP[Dest("CP0",CTy"CP0",qVar"s"), 882 Rupd 883 ("BD", 884 TP[Dest 885 ("Cause",CTy"CauseRegister", 886 Dest("CP0",CTy"CP0",qVar"s")), 887 LF])])])))]),qVar"state"), 888 Let(qVar"s0", 889 Apply 890 (Call 891 ("ExceptionCode",ATy(qTy,qTy), 892 Var("ExceptionType",CTy"ExceptionType")),qVar"s"), 893 Let(qVar"s0", 894 Rupd 895 ("CP0", 896 TP[qVar"s0", 897 Rupd 898 ("Status", 899 TP[Dest("CP0",CTy"CP0",qVar"s0"), 900 Rupd 901 ("EXL", 902 TP[Dest 903 ("Status",CTy"StatusRegister", 904 Dest("CP0",CTy"CP0",qVar"s0")),LT])])]), 905 Let(Var("v0",F64), 906 ITE(Dest 907 ("BEV",bTy, 908 Dest 909 ("Status",CTy"StatusRegister", 910 Dest("CP0",CTy"CP0",qVar"s0"))), 911 LW(18446744072631616000,64), 912 LW(18446744071562067968,64)), 913 Rupd 914 ("exceptionSignalled", 915 TP[Rupd 916 ("PC", 917 TP[Rupd 918 ("BranchDelay", 919 TP[qVar"s0",LO(OTy F64)]), 920 Bop(Sub, 921 CC[EX(Var("v0",F64),LN 63,LN 30, 922 FTy 34), 923 Bop(Add, 924 EX(Var("v0",F64),LN 29,LN 0, 925 FTy 30), 926 ITE(Bop(And, 927 Bop(Or, 928 EQ(Var("ExceptionType", 929 CTy"ExceptionType"), 930 LC("XTLBRefillL", 931 CTy"ExceptionType")), 932 EQ(Var("ExceptionType", 933 CTy"ExceptionType"), 934 LC("XTLBRefillS", 935 CTy"ExceptionType"))), 936 Mop(Not, 937 Dest 938 ("EXL",bTy, 939 Dest 940 ("Status", 941 CTy"StatusRegister", 942 Dest 943 ("CP0", 944 CTy"CP0", 945 qVar"s"))))), 946 LW(128,30),LW(384,30)))], 947 LW(4,64))]),LT]))))))) 948; 949val SignalCP1UnusableException_def = Def 950 ("SignalCP1UnusableException",qVar"state", 951 Apply 952 (Call("SignalException",ATy(qTy,qTy),LC("CpU",CTy"ExceptionType")), 953 Rupd 954 ("CP0", 955 TP[qVar"state", 956 Rupd 957 ("Cause", 958 TP[Dest("CP0",CTy"CP0",qVar"state"), 959 Rupd 960 ("CE", 961 TP[Dest 962 ("Cause",CTy"CauseRegister", 963 Dest("CP0",CTy"CP0",qVar"state")),LW(1,2)])])]))) 964; 965val UserMode_def = Def 966 ("UserMode",qVar"state", 967 Bop(And, 968 EQ(Dest 969 ("KSU",FTy 2, 970 Dest 971 ("Status",CTy"StatusRegister", 972 Dest("CP0",CTy"CP0",qVar"state"))),LW(2,2)), 973 Mop(Not, 974 Bop(Or, 975 Dest 976 ("EXL",bTy, 977 Dest 978 ("Status",CTy"StatusRegister", 979 Dest("CP0",CTy"CP0",qVar"state"))), 980 Dest 981 ("ERL",bTy, 982 Dest 983 ("Status",CTy"StatusRegister", 984 Dest("CP0",CTy"CP0",qVar"state"))))))) 985; 986val SupervisorMode_def = Def 987 ("SupervisorMode",qVar"state", 988 Bop(And, 989 EQ(Dest 990 ("KSU",FTy 2, 991 Dest 992 ("Status",CTy"StatusRegister", 993 Dest("CP0",CTy"CP0",qVar"state"))),LW(1,2)), 994 Mop(Not, 995 Bop(Or, 996 Dest 997 ("EXL",bTy, 998 Dest 999 ("Status",CTy"StatusRegister", 1000 Dest("CP0",CTy"CP0",qVar"state"))), 1001 Dest 1002 ("ERL",bTy, 1003 Dest 1004 ("Status",CTy"StatusRegister", 1005 Dest("CP0",CTy"CP0",qVar"state"))))))) 1006; 1007val KernelMode_def = Def 1008 ("KernelMode",qVar"state", 1009 Bop(Or, 1010 EQ(Dest 1011 ("KSU",FTy 2, 1012 Dest 1013 ("Status",CTy"StatusRegister", 1014 Dest("CP0",CTy"CP0",qVar"state"))),LW(0,2)), 1015 Bop(Or, 1016 Dest 1017 ("EXL",bTy, 1018 Dest 1019 ("Status",CTy"StatusRegister", 1020 Dest("CP0",CTy"CP0",qVar"state"))), 1021 Dest 1022 ("ERL",bTy, 1023 Dest 1024 ("Status",CTy"StatusRegister", 1025 Dest("CP0",CTy"CP0",qVar"state")))))) 1026; 1027val GPR_def = Def 1028 ("GPR",Var("n",FTy 5), 1029 Close 1030 (qVar"state", 1031 ITE(EQ(Var("n",FTy 5),LW(0,5)),LW(0,64), 1032 Apply(Dest("gpr",ATy(FTy 5,F64),qVar"state"),Var("n",FTy 5))))) 1033; 1034val write'GPR_def = Def 1035 ("write'GPR",TP[Var("value",F64),Var("n",FTy 5)], 1036 Close 1037 (qVar"state", 1038 ITE(Mop(Not,EQ(Var("n",FTy 5),LW(0,5))), 1039 Rupd 1040 ("gpr", 1041 TP[qVar"state", 1042 Fupd 1043 (Dest("gpr",ATy(FTy 5,F64),qVar"state"),Var("n",FTy 5), 1044 Var("value",F64))]),qVar"state"))) 1045; 1046val HI_def = Def 1047 ("HI",qVar"state", 1048 CS(Dest("hi",OTy F64,qVar"state"), 1049 [(Mop(Some,Var("v",F64)),TP[Var("v",F64),qVar"state"]), 1050 (LO F64, 1051 Apply 1052 (Call 1053 ("raise'exception",ATy(qTy,PTy(F64,qTy)), 1054 Call("UNPREDICTABLE",CTy"exception",LS"HI")),qVar"state"))])) 1055; 1056val write'HI_def = Def 1057 ("write'HI",Var("value",F64), 1058 Close 1059 (qVar"state",Rupd("hi",TP[qVar"state",Mop(Some,Var("value",F64))]))) 1060; 1061val LO_def = Def 1062 ("LO",qVar"state", 1063 CS(Dest("lo",OTy F64,qVar"state"), 1064 [(Mop(Some,Var("v",F64)),TP[Var("v",F64),qVar"state"]), 1065 (LO F64, 1066 Apply 1067 (Call 1068 ("raise'exception",ATy(qTy,PTy(F64,qTy)), 1069 Call("UNPREDICTABLE",CTy"exception",LS"LO")),qVar"state"))])) 1070; 1071val write'LO_def = Def 1072 ("write'LO",Var("value",F64), 1073 Close 1074 (qVar"state",Rupd("lo",TP[qVar"state",Mop(Some,Var("value",F64))]))) 1075; 1076val CPR_def = Def 1077 ("CPR",TP[nVar"n",Var("reg",FTy 5),Var("sel",FTy 3)], 1078 Close 1079 (qVar"state", 1080 CS(TP[nVar"n",Var("reg",FTy 5),Var("sel",FTy 3)], 1081 [(TP[LN 0,LW(8,5),LW(0,3)], 1082 Dest("BadVAddr",F64,Dest("CP0",CTy"CP0",qVar"state"))), 1083 (TP[LN 0,LW(9,5),LW(0,3)], 1084 Mop(Cast F64,Dest("Count",F32,Dest("CP0",CTy"CP0",qVar"state")))), 1085 (TP[LN 0,LW(11,5),LW(0,3)], 1086 Mop(Cast F64, 1087 Dest("Compare",F32,Dest("CP0",CTy"CP0",qVar"state")))), 1088 (TP[LN 0,LW(12,5),LW(0,3)], 1089 Mop(Cast F64, 1090 Call 1091 ("reg'StatusRegister",F32, 1092 Dest 1093 ("Status",CTy"StatusRegister", 1094 Dest("CP0",CTy"CP0",qVar"state"))))), 1095 (TP[LN 0,LW(13,5),LW(0,3)], 1096 Mop(Cast F64, 1097 Call 1098 ("reg'CauseRegister",F32, 1099 Dest 1100 ("Cause",CTy"CauseRegister", 1101 Dest("CP0",CTy"CP0",qVar"state"))))), 1102 (TP[LN 0,LW(14,5),LW(0,3)], 1103 Dest("EPC",F64,Dest("CP0",CTy"CP0",qVar"state"))), 1104 (TP[LN 0,LW(15,5),LW(0,3)], 1105 Mop(Cast F64,Dest("PRId",F32,Dest("CP0",CTy"CP0",qVar"state")))), 1106 (TP[LN 0,LW(16,5),LW(0,3)], 1107 Mop(Cast F64, 1108 Call 1109 ("reg'ConfigRegister",F32, 1110 Dest 1111 ("Config",CTy"ConfigRegister", 1112 Dest("CP0",CTy"CP0",qVar"state"))))), 1113 (TP[LN 0,LW(17,5),LW(0,3)], 1114 Dest("LLAddr",F64,Dest("CP0",CTy"CP0",qVar"state"))), 1115 (TP[LN 0,LW(23,5),LW(0,3)], 1116 Mop(Cast F64,Dest("Debug",F32,Dest("CP0",CTy"CP0",qVar"state")))), 1117 (TP[LN 0,LW(26,5),LW(0,3)], 1118 Mop(Cast F64, 1119 Dest("ErrCtl",F32,Dest("CP0",CTy"CP0",qVar"state")))), 1120 (TP[LN 0,LW(30,5),LW(0,3)], 1121 Dest("ErrorEPC",F64,Dest("CP0",CTy"CP0",qVar"state"))), 1122 (AVar(PTy(nTy,PTy(FTy 5,FTy 3))),LX F64)]))) 1123; 1124val write'CPR_def = Def 1125 ("write'CPR", 1126 TP[Var("value",F64),nVar"n",Var("reg",FTy 5),Var("sel",FTy 3)], 1127 Close 1128 (qVar"state", 1129 CS(TP[nVar"n",Var("reg",FTy 5),Var("sel",FTy 3)], 1130 [(TP[LN 0,LW(9,5),LW(0,3)], 1131 Rupd 1132 ("CP0", 1133 TP[qVar"state", 1134 Rupd 1135 ("Count", 1136 TP[Dest("CP0",CTy"CP0",qVar"state"), 1137 EX(Var("value",F64),LN 31,LN 0,F32)])])), 1138 (TP[LN 0,LW(11,5),LW(0,3)], 1139 Rupd 1140 ("CP0", 1141 TP[qVar"state", 1142 Rupd 1143 ("Compare", 1144 TP[Dest("CP0",CTy"CP0",qVar"state"), 1145 EX(Var("value",F64),LN 31,LN 0,F32)])])), 1146 (TP[LN 0,LW(12,5),LW(0,3)], 1147 Rupd 1148 ("CP0", 1149 TP[qVar"state", 1150 Rupd 1151 ("Status", 1152 TP[Dest("CP0",CTy"CP0",qVar"state"), 1153 Call 1154 ("write'reg'StatusRegister",CTy"StatusRegister", 1155 TP[Dest 1156 ("Status",CTy"StatusRegister", 1157 Dest("CP0",CTy"CP0",qVar"state")), 1158 EX(Var("value",F64),LN 31,LN 0,F32)])])])), 1159 (TP[LN 0,LW(13,5),LW(0,3)], 1160 Rupd 1161 ("CP0", 1162 TP[qVar"state", 1163 Rupd 1164 ("Cause", 1165 TP[Dest("CP0",CTy"CP0",qVar"state"), 1166 Call 1167 ("write'reg'CauseRegister",CTy"CauseRegister", 1168 TP[Dest 1169 ("Cause",CTy"CauseRegister", 1170 Dest("CP0",CTy"CP0",qVar"state")), 1171 EX(Var("value",F64),LN 31,LN 0,F32)])])])), 1172 (TP[LN 0,LW(14,5),LW(0,3)], 1173 Rupd 1174 ("CP0", 1175 TP[qVar"state", 1176 Rupd 1177 ("EPC", 1178 TP[Dest("CP0",CTy"CP0",qVar"state"),Var("value",F64)])])), 1179 (TP[LN 0,LW(16,5),LW(0,3)], 1180 Rupd 1181 ("CP0", 1182 TP[qVar"state", 1183 Rupd 1184 ("Config", 1185 TP[Dest("CP0",CTy"CP0",qVar"state"), 1186 Call 1187 ("write'reg'ConfigRegister",CTy"ConfigRegister", 1188 TP[Dest 1189 ("Config",CTy"ConfigRegister", 1190 Dest("CP0",CTy"CP0",qVar"state")), 1191 EX(Var("value",F64),LN 31,LN 0,F32)])])])), 1192 (TP[LN 0,LW(23,5),LW(0,3)], 1193 Rupd 1194 ("CP0", 1195 TP[qVar"state", 1196 Rupd 1197 ("Debug", 1198 TP[Dest("CP0",CTy"CP0",qVar"state"), 1199 EX(Var("value",F64),LN 31,LN 0,F32)])])), 1200 (TP[LN 0,LW(26,5),LW(0,3)], 1201 Rupd 1202 ("CP0", 1203 TP[qVar"state", 1204 Rupd 1205 ("ErrCtl", 1206 TP[Dest("CP0",CTy"CP0",qVar"state"), 1207 EX(Var("value",F64),LN 31,LN 0,F32)])])), 1208 (TP[LN 0,LW(30,5),LW(0,3)], 1209 Rupd 1210 ("CP0", 1211 TP[qVar"state", 1212 Rupd 1213 ("ErrorEPC", 1214 TP[Dest("CP0",CTy"CP0",qVar"state"),Var("value",F64)])])), 1215 (AVar(PTy(nTy,PTy(FTy 5,FTy 3))),qVar"state")]))) 1216; 1217val BYTE_def = Def0 ("BYTE",LW(0,3)) 1218; 1219val HALFWORD_def = Def0 ("HALFWORD",LW(1,3)) 1220; 1221val WORD_def = Def0 ("WORD",LW(3,3)) 1222; 1223val DOUBLEWORD_def = Def0 ("DOUBLEWORD",LW(7,3)) 1224; 1225val BigEndianMem_def = Def 1226 ("BigEndianMem",qVar"state", 1227 Dest 1228 ("BE",bTy, 1229 Dest("Config",CTy"ConfigRegister",Dest("CP0",CTy"CP0",qVar"state")))) 1230; 1231val ReverseEndian_def = Def 1232 ("ReverseEndian",qVar"state", 1233 Mop(Cast F1, 1234 Bop(And, 1235 Dest 1236 ("RE",bTy, 1237 Dest 1238 ("Status",CTy"StatusRegister", 1239 Dest("CP0",CTy"CP0",qVar"state"))), 1240 Apply(Const("UserMode",ATy(qTy,bTy)),qVar"state")))) 1241; 1242val BigEndianCPU_def = Def 1243 ("BigEndianCPU",qVar"state", 1244 Bop(BXor, 1245 Mop(Cast F1,Apply(Const("BigEndianMem",ATy(qTy,bTy)),qVar"state")), 1246 Apply(Const("ReverseEndian",ATy(qTy,F1)),qVar"state"))) 1247; 1248val AddressTranslation_def = Def 1249 ("AddressTranslation",TP[Var("vAddr",F64),Var("LorS",CTy"LorS")], 1250 TP[Var("vAddr",F64),LW(2,3)]) 1251; 1252val Aligned_def = Def 1253 ("Aligned",TP[Var("vAddr",F64),Var("MemType",FTy 3)], 1254 EQ(Bop(BAnd,Mop(Cast(FTy 3),Var("vAddr",F64)),Var("MemType",FTy 3)), 1255 LW(0,3))) 1256; 1257val AdjustEndian_def = Def 1258 ("AdjustEndian",TP[Var("MemType",FTy 3),Var("pAddr",F64)], 1259 Close 1260 (qVar"state", 1261 CS(Var("MemType",FTy 3), 1262 [(LW(0,3), 1263 TP[Bop(BXor,Var("pAddr",F64), 1264 Mop(Cast F64, 1265 REP(Apply 1266 (Const("ReverseEndian",ATy(qTy,F1)), 1267 qVar"state"),LN 3,FTy 3))),qVar"state"]), 1268 (LW(1,3), 1269 TP[Bop(BXor,Var("pAddr",F64), 1270 Mop(Cast F64, 1271 CC[REP(Apply 1272 (Const("ReverseEndian",ATy(qTy,F1)), 1273 qVar"state"),LN 2,FTy 2),LW(0,1)])), 1274 qVar"state"]), 1275 (LW(3,3), 1276 TP[Bop(BXor,Var("pAddr",F64), 1277 Mop(Cast F64, 1278 CC[Apply 1279 (Const("ReverseEndian",ATy(qTy,F1)),qVar"state"), 1280 LW(0,2)])),qVar"state"]), 1281 (LW(7,3),TP[Var("pAddr",F64),qVar"state"]), 1282 (AVar(FTy 3), 1283 Apply 1284 (Call 1285 ("raise'exception",ATy(qTy,PTy(F64,qTy)), 1286 Call 1287 ("UNPREDICTABLE",CTy"exception",LS"bad access length")), 1288 qVar"state"))]))) 1289; 1290val ReadData_def = Def 1291 ("ReadData",Var("a",F64), 1292 Close 1293 (qVar"state", 1294 Let(Var("a",F64),Bop(BAnd,Var("a",F64),Mop(BNot,LW(7,64))), 1295 ITE(Apply(Const("BigEndianMem",ATy(qTy,bTy)),qVar"state"), 1296 CC[Apply(Dest("MEM",ATy(F64,F8),qVar"state"),Var("a",F64)), 1297 Apply 1298 (Dest("MEM",ATy(F64,F8),qVar"state"), 1299 Bop(Add,Var("a",F64),LW(1,64))), 1300 Apply 1301 (Dest("MEM",ATy(F64,F8),qVar"state"), 1302 Bop(Add,Var("a",F64),LW(2,64))), 1303 Apply 1304 (Dest("MEM",ATy(F64,F8),qVar"state"), 1305 Bop(Add,Var("a",F64),LW(3,64))), 1306 Apply 1307 (Dest("MEM",ATy(F64,F8),qVar"state"), 1308 Bop(Add,Var("a",F64),LW(4,64))), 1309 Apply 1310 (Dest("MEM",ATy(F64,F8),qVar"state"), 1311 Bop(Add,Var("a",F64),LW(5,64))), 1312 Apply 1313 (Dest("MEM",ATy(F64,F8),qVar"state"), 1314 Bop(Add,Var("a",F64),LW(6,64))), 1315 Apply 1316 (Dest("MEM",ATy(F64,F8),qVar"state"), 1317 Bop(Add,Var("a",F64),LW(7,64)))], 1318 CC[Apply 1319 (Dest("MEM",ATy(F64,F8),qVar"state"), 1320 Bop(Add,Var("a",F64),LW(7,64))), 1321 Apply 1322 (Dest("MEM",ATy(F64,F8),qVar"state"), 1323 Bop(Add,Var("a",F64),LW(6,64))), 1324 Apply 1325 (Dest("MEM",ATy(F64,F8),qVar"state"), 1326 Bop(Add,Var("a",F64),LW(5,64))), 1327 Apply 1328 (Dest("MEM",ATy(F64,F8),qVar"state"), 1329 Bop(Add,Var("a",F64),LW(4,64))), 1330 Apply 1331 (Dest("MEM",ATy(F64,F8),qVar"state"), 1332 Bop(Add,Var("a",F64),LW(3,64))), 1333 Apply 1334 (Dest("MEM",ATy(F64,F8),qVar"state"), 1335 Bop(Add,Var("a",F64),LW(2,64))), 1336 Apply 1337 (Dest("MEM",ATy(F64,F8),qVar"state"), 1338 Bop(Add,Var("a",F64),LW(1,64))), 1339 Apply(Dest("MEM",ATy(F64,F8),qVar"state"),Var("a",F64))])))) 1340; 1341val LoadMemory_def = Def 1342 ("LoadMemory", 1343 TP[Var("MemType",FTy 3),Var("AccessLength",FTy 3),bVar"needAlign", 1344 Var("vAddr",F64),Var("link",OTy bTy)], 1345 Close 1346 (qVar"state", 1347 ITE(Bop(And,bVar"needAlign", 1348 Mop(Not, 1349 Call 1350 ("Aligned",bTy, 1351 TP[Var("vAddr",F64),Var("MemType",FTy 3)]))), 1352 TP[LX F64, 1353 Apply 1354 (Call 1355 ("SignalException",ATy(qTy,qTy), 1356 LC("AdEL",CTy"ExceptionType")), 1357 Rupd 1358 ("CP0", 1359 TP[qVar"state", 1360 Rupd 1361 ("BadVAddr", 1362 TP[Dest("CP0",CTy"CP0",qVar"state"), 1363 Var("vAddr",F64)])]))], 1364 Let(TP[Var("pAddr",F64),AVar(FTy 3)], 1365 Call 1366 ("AddressTranslation",PTy(F64,FTy 3), 1367 TP[Var("vAddr",F64),LC("LOAD",CTy"LorS")]), 1368 ITE(Dest("exceptionSignalled",bTy,qVar"state"), 1369 TP[LX F64,qVar"state"], 1370 Let(TP[Var("v",F64),qVar"s"], 1371 Apply 1372 (Call 1373 ("AdjustEndian",ATy(qTy,PTy(F64,qTy)), 1374 TP[Var("MemType",FTy 3),Var("pAddr",F64)]), 1375 qVar"state"), 1376 Let(qVar"s0", 1377 CS(Var("link",OTy bTy), 1378 [(Mop(Some,LT), 1379 Let(qVar"s", 1380 Rupd("LLbit",TP[qVar"s",Mop(Some,LT)]), 1381 Rupd 1382 ("CP0", 1383 TP[qVar"s", 1384 Rupd 1385 ("LLAddr", 1386 TP[Dest 1387 ("CP0",CTy"CP0",qVar"s"), 1388 Var("v",F64)])]))), 1389 (Mop(Some,LF), 1390 Rupd("LLbit",TP[qVar"s",LO bTy])), 1391 (LO bTy,qVar"s")]), 1392 TP[Apply 1393 (Call("ReadData",ATy(qTy,F64),Var("v",F64)), 1394 qVar"s0"),qVar"s0"]))))))) 1395; 1396val loadByte_def = Def 1397 ("loadByte", 1398 TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16),bVar"unsigned"], 1399 Close 1400 (qVar"state", 1401 Let(Var("v",F64), 1402 Bop(Add,Mop(SE F64,Var("offset",F16)), 1403 Apply 1404 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)),qVar"state")), 1405 Let(TP[Var("v0",F64),qVar"s"], 1406 Apply 1407 (Call 1408 ("LoadMemory",ATy(qTy,PTy(F64,qTy)), 1409 TP[Const("BYTE",FTy 3),Const("BYTE",FTy 3),LF, 1410 Var("v",F64),Mop(Some,LF)]),qVar"state"), 1411 ITE(Mop(Not,Dest("exceptionSignalled",bTy,qVar"s")), 1412 Let(Var("v1",FTy 3), 1413 Bop(BXor,EX(Var("v",F64),LN 2,LN 0,FTy 3), 1414 REP(Apply 1415 (Const("BigEndianCPU",ATy(qTy,F1)),qVar"s"), 1416 LN 3,FTy 3)), 1417 Let(Var("membyte",F8), 1418 EX(Var("v0",F64), 1419 Bop(Add,LN 7, 1420 Bop(Mul,LN 8, 1421 Mop(Cast nTy,Var("v1",FTy 3)))), 1422 Bop(Mul,LN 8,Mop(Cast nTy,Var("v1",FTy 3))), 1423 F8), 1424 Apply 1425 (Call 1426 ("write'GPR",ATy(qTy,qTy), 1427 TP[ITE(bVar"unsigned", 1428 Mop(Cast F64,Var("membyte",F8)), 1429 Mop(SE F64,Var("membyte",F8))), 1430 Var("rt",FTy 5)]),qVar"s"))),qVar"s"))))) 1431; 1432val loadHalf_def = Def 1433 ("loadHalf", 1434 TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16),bVar"unsigned"], 1435 Close 1436 (qVar"state", 1437 Let(Var("v",F64), 1438 Bop(Add,Mop(SE F64,Var("offset",F16)), 1439 Apply 1440 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)),qVar"state")), 1441 Let(TP[Var("v0",F64),qVar"s"], 1442 Apply 1443 (Call 1444 ("LoadMemory",ATy(qTy,PTy(F64,qTy)), 1445 TP[Const("HALFWORD",FTy 3),Const("HALFWORD",FTy 3),LT, 1446 Var("v",F64),Mop(Some,LF)]),qVar"state"), 1447 ITE(Mop(Not,Dest("exceptionSignalled",bTy,qVar"s")), 1448 Let(Var("v1",FTy 3), 1449 Bop(BXor,EX(Var("v",F64),LN 2,LN 0,FTy 3), 1450 CC[REP(Apply 1451 (Const("BigEndianCPU",ATy(qTy,F1)), 1452 qVar"s"),LN 2,FTy 2),LW(0,1)]), 1453 Let(Var("memhalf",F16), 1454 EX(Var("v0",F64), 1455 Bop(Add,LN 15, 1456 Bop(Mul,LN 8, 1457 Mop(Cast nTy,Var("v1",FTy 3)))), 1458 Bop(Mul,LN 8,Mop(Cast nTy,Var("v1",FTy 3))), 1459 F16), 1460 Apply 1461 (Call 1462 ("write'GPR",ATy(qTy,qTy), 1463 TP[ITE(bVar"unsigned", 1464 Mop(Cast F64,Var("memhalf",F16)), 1465 Mop(SE F64,Var("memhalf",F16))), 1466 Var("rt",FTy 5)]),qVar"s"))),qVar"s"))))) 1467; 1468val loadWord_def = Def 1469 ("loadWord", 1470 TP[bVar"link",Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16), 1471 bVar"unsigned"], 1472 Close 1473 (qVar"state", 1474 Let(Var("v",F64), 1475 Bop(Add,Mop(SE F64,Var("offset",F16)), 1476 Apply 1477 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)),qVar"state")), 1478 Let(TP[Var("v0",F64),qVar"s"], 1479 Apply 1480 (Call 1481 ("LoadMemory",ATy(qTy,PTy(F64,qTy)), 1482 TP[Const("WORD",FTy 3),Const("WORD",FTy 3),LT, 1483 Var("v",F64),Mop(Some,bVar"link")]),qVar"state"), 1484 ITE(Mop(Not,Dest("exceptionSignalled",bTy,qVar"s")), 1485 Let(Var("v1",FTy 3), 1486 Bop(BXor,EX(Var("v",F64),LN 2,LN 0,FTy 3), 1487 CC[Apply 1488 (Const("BigEndianCPU",ATy(qTy,F1)),qVar"s"), 1489 LW(0,2)]), 1490 Let(Var("memword",F32), 1491 EX(Var("v0",F64), 1492 Bop(Add,LN 31, 1493 Bop(Mul,LN 8, 1494 Mop(Cast nTy,Var("v1",FTy 3)))), 1495 Bop(Mul,LN 8,Mop(Cast nTy,Var("v1",FTy 3))), 1496 F32), 1497 Apply 1498 (Call 1499 ("write'GPR",ATy(qTy,qTy), 1500 TP[ITE(bVar"unsigned", 1501 Mop(Cast F64,Var("memword",F32)), 1502 Mop(SE F64,Var("memword",F32))), 1503 Var("rt",FTy 5)]),qVar"s"))),qVar"s"))))) 1504; 1505val loadDoubleword_def = Def 1506 ("loadDoubleword", 1507 TP[bVar"link",Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 1508 Close 1509 (qVar"state", 1510 Let(TP[Var("v",F64),qVar"s"], 1511 Apply 1512 (Call 1513 ("LoadMemory",ATy(qTy,PTy(F64,qTy)), 1514 TP[Const("DOUBLEWORD",FTy 3),Const("DOUBLEWORD",FTy 3),LT, 1515 Bop(Add,Mop(SE F64,Var("offset",F16)), 1516 Apply 1517 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)), 1518 qVar"state")),Mop(Some,bVar"link")]),qVar"state"), 1519 ITE(Mop(Not,Dest("exceptionSignalled",bTy,qVar"s")), 1520 Apply 1521 (Call 1522 ("write'GPR",ATy(qTy,qTy), 1523 TP[Var("v",F64),Var("rt",FTy 5)]),qVar"s"),qVar"s")))) 1524; 1525val Fetch_def = Def 1526 ("Fetch",qVar"state", 1527 Let(Var("v",F64),Dest("PC",F64,qVar"state"), 1528 Let(TP[Var("v0",F64),qVar"s"], 1529 Apply 1530 (Call 1531 ("LoadMemory",ATy(qTy,PTy(F64,qTy)), 1532 TP[Const("WORD",FTy 3),Const("WORD",FTy 3),LT, 1533 Var("v",F64),LO bTy]),qVar"state"), 1534 ITE(Dest("exceptionSignalled",bTy,qVar"s"),TP[LO F32,qVar"s"], 1535 Let(Var("v1",FTy 3), 1536 Bop(BXor,EX(Var("v",F64),LN 2,LN 0,FTy 3), 1537 CC[Apply(Const("BigEndianCPU",ATy(qTy,F1)),qVar"s"), 1538 LW(0,2)]), 1539 TP[Mop(Some, 1540 EX(Var("v0",F64), 1541 Bop(Add,LN 31, 1542 Bop(Mul,LN 8, 1543 Mop(Cast nTy,Var("v1",FTy 3)))), 1544 Bop(Mul,LN 8,Mop(Cast nTy,Var("v1",FTy 3))), 1545 F32)),qVar"s"]))))) 1546; 1547val WriteData_def = Def 1548 ("WriteData",TP[Var("a",F64),Var("MemElem",F64),nVar"l",nVar"h"], 1549 Close 1550 (qVar"state", 1551 Let(Var("a",F64),Bop(BAnd,Var("a",F64),Mop(BNot,LW(7,64))), 1552 ITE(Apply(Const("BigEndianMem",ATy(qTy,bTy)),qVar"state"), 1553 Let(qVar"s", 1554 ITE(Bop(And,Bop(Le,nVar"l",LN 7),Bop(Le,LN 7,nVar"h")), 1555 Rupd 1556 ("MEM", 1557 TP[qVar"state", 1558 Fupd 1559 (Dest("MEM",ATy(F64,F8),qVar"state"), 1560 Var("a",F64), 1561 EX(Var("MemElem",F64),LN 63,LN 56,F8))]), 1562 qVar"state"), 1563 Let(qVar"s", 1564 ITE(Bop(And,Bop(Le,nVar"l",LN 6), 1565 Bop(Le,LN 6,nVar"h")), 1566 Rupd 1567 ("MEM", 1568 TP[qVar"s", 1569 Fupd 1570 (Dest("MEM",ATy(F64,F8),qVar"s"), 1571 Bop(Add,Var("a",F64),LW(1,64)), 1572 EX(Var("MemElem",F64),LN 55,LN 48,F8))]), 1573 qVar"s"), 1574 Let(qVar"s", 1575 ITE(Bop(And,Bop(Le,nVar"l",LN 5), 1576 Bop(Le,LN 5,nVar"h")), 1577 Rupd 1578 ("MEM", 1579 TP[qVar"s", 1580 Fupd 1581 (Dest("MEM",ATy(F64,F8),qVar"s"), 1582 Bop(Add,Var("a",F64),LW(2,64)), 1583 EX(Var("MemElem",F64),LN 47,LN 40, 1584 F8))]),qVar"s"), 1585 Let(qVar"s", 1586 ITE(Bop(And,Bop(Le,nVar"l",LN 4), 1587 Bop(Le,LN 4,nVar"h")), 1588 Rupd 1589 ("MEM", 1590 TP[qVar"s", 1591 Fupd 1592 (Dest("MEM",ATy(F64,F8),qVar"s"), 1593 Bop(Add,Var("a",F64),LW(3,64)), 1594 EX(Var("MemElem",F64),LN 39, 1595 LN 32,F8))]),qVar"s"), 1596 Let(qVar"s", 1597 ITE(Bop(And,Bop(Le,nVar"l",LN 3), 1598 Bop(Le,LN 3,nVar"h")), 1599 Rupd 1600 ("MEM", 1601 TP[qVar"s", 1602 Fupd 1603 (Dest 1604 ("MEM",ATy(F64,F8), 1605 qVar"s"), 1606 Bop(Add,Var("a",F64), 1607 LW(4,64)), 1608 EX(Var("MemElem",F64), 1609 LN 31,LN 24,F8))]), 1610 qVar"s"), 1611 Let(qVar"s", 1612 ITE(Bop(And,Bop(Le,nVar"l",LN 2), 1613 Bop(Le,LN 2,nVar"h")), 1614 Rupd 1615 ("MEM", 1616 TP[qVar"s", 1617 Fupd 1618 (Dest 1619 ("MEM",ATy(F64,F8), 1620 qVar"s"), 1621 Bop(Add,Var("a",F64), 1622 LW(5,64)), 1623 EX(Var("MemElem",F64), 1624 LN 23,LN 16,F8))]), 1625 qVar"s"), 1626 Let(qVar"s", 1627 ITE(Bop(And, 1628 Bop(Le,nVar"l",LN 1), 1629 Bop(Le,LN 1,nVar"h")), 1630 Rupd 1631 ("MEM", 1632 TP[qVar"s", 1633 Fupd 1634 (Dest 1635 ("MEM", 1636 ATy(F64,F8), 1637 qVar"s"), 1638 Bop(Add, 1639 Var("a",F64), 1640 LW(6,64)), 1641 EX(Var("MemElem", 1642 F64),LN 15, 1643 LN 8,F8))]), 1644 qVar"s"), 1645 ITE(EQ(nVar"l",LN 0), 1646 Rupd 1647 ("MEM", 1648 TP[qVar"s", 1649 Fupd 1650 (Dest 1651 ("MEM", 1652 ATy(F64,F8), 1653 qVar"s"), 1654 Bop(Add, 1655 Var("a",F64), 1656 LW(7,64)), 1657 EX(Var("MemElem", 1658 F64),LN 7, 1659 LN 0,F8))]), 1660 qVar"s")))))))), 1661 Let(qVar"s", 1662 ITE(Bop(And,Bop(Le,nVar"l",LN 7),Bop(Le,LN 7,nVar"h")), 1663 Rupd 1664 ("MEM", 1665 TP[qVar"state", 1666 Fupd 1667 (Dest("MEM",ATy(F64,F8),qVar"state"), 1668 Var("a",F64), 1669 EX(Var("MemElem",F64),LN 7,LN 0,F8))]), 1670 qVar"state"), 1671 Let(qVar"s", 1672 ITE(Bop(And,Bop(Le,nVar"l",LN 6), 1673 Bop(Le,LN 6,nVar"h")), 1674 Rupd 1675 ("MEM", 1676 TP[qVar"s", 1677 Fupd 1678 (Dest("MEM",ATy(F64,F8),qVar"s"), 1679 Bop(Add,Var("a",F64),LW(1,64)), 1680 EX(Var("MemElem",F64),LN 15,LN 8,F8))]), 1681 qVar"s"), 1682 Let(qVar"s", 1683 ITE(Bop(And,Bop(Le,nVar"l",LN 5), 1684 Bop(Le,LN 5,nVar"h")), 1685 Rupd 1686 ("MEM", 1687 TP[qVar"s", 1688 Fupd 1689 (Dest("MEM",ATy(F64,F8),qVar"s"), 1690 Bop(Add,Var("a",F64),LW(2,64)), 1691 EX(Var("MemElem",F64),LN 23,LN 16, 1692 F8))]),qVar"s"), 1693 Let(qVar"s", 1694 ITE(Bop(And,Bop(Le,nVar"l",LN 4), 1695 Bop(Le,LN 4,nVar"h")), 1696 Rupd 1697 ("MEM", 1698 TP[qVar"s", 1699 Fupd 1700 (Dest("MEM",ATy(F64,F8),qVar"s"), 1701 Bop(Add,Var("a",F64),LW(3,64)), 1702 EX(Var("MemElem",F64),LN 31, 1703 LN 24,F8))]),qVar"s"), 1704 Let(qVar"s", 1705 ITE(Bop(And,Bop(Le,nVar"l",LN 3), 1706 Bop(Le,LN 3,nVar"h")), 1707 Rupd 1708 ("MEM", 1709 TP[qVar"s", 1710 Fupd 1711 (Dest 1712 ("MEM",ATy(F64,F8), 1713 qVar"s"), 1714 Bop(Add,Var("a",F64), 1715 LW(4,64)), 1716 EX(Var("MemElem",F64), 1717 LN 39,LN 32,F8))]), 1718 qVar"s"), 1719 Let(qVar"s", 1720 ITE(Bop(And,Bop(Le,nVar"l",LN 2), 1721 Bop(Le,LN 2,nVar"h")), 1722 Rupd 1723 ("MEM", 1724 TP[qVar"s", 1725 Fupd 1726 (Dest 1727 ("MEM",ATy(F64,F8), 1728 qVar"s"), 1729 Bop(Add,Var("a",F64), 1730 LW(5,64)), 1731 EX(Var("MemElem",F64), 1732 LN 47,LN 40,F8))]), 1733 qVar"s"), 1734 Let(qVar"s", 1735 ITE(Bop(And, 1736 Bop(Le,nVar"l",LN 1), 1737 Bop(Le,LN 1,nVar"h")), 1738 Rupd 1739 ("MEM", 1740 TP[qVar"s", 1741 Fupd 1742 (Dest 1743 ("MEM", 1744 ATy(F64,F8), 1745 qVar"s"), 1746 Bop(Add, 1747 Var("a",F64), 1748 LW(6,64)), 1749 EX(Var("MemElem", 1750 F64),LN 55, 1751 LN 48,F8))]), 1752 qVar"s"), 1753 ITE(EQ(nVar"l",LN 0), 1754 Rupd 1755 ("MEM", 1756 TP[qVar"s", 1757 Fupd 1758 (Dest 1759 ("MEM", 1760 ATy(F64,F8), 1761 qVar"s"), 1762 Bop(Add, 1763 Var("a",F64), 1764 LW(7,64)), 1765 EX(Var("MemElem", 1766 F64),LN 63, 1767 LN 56,F8))]), 1768 qVar"s")))))))))))) 1769; 1770val StoreMemory_def = Def 1771 ("StoreMemory", 1772 TP[Var("MemType",FTy 3),Var("AccessLength",FTy 3),bVar"needAlign", 1773 Var("MemElem",F64),Var("vAddr",F64),bVar"cond"], 1774 Close 1775 (qVar"state", 1776 ITE(Bop(And,bVar"needAlign", 1777 Mop(Not, 1778 Call 1779 ("Aligned",bTy, 1780 TP[Var("vAddr",F64),Var("MemType",FTy 3)]))), 1781 TP[LF, 1782 Apply 1783 (Call 1784 ("SignalException",ATy(qTy,qTy), 1785 LC("AdES",CTy"ExceptionType")), 1786 Rupd 1787 ("CP0", 1788 TP[qVar"state", 1789 Rupd 1790 ("BadVAddr", 1791 TP[Dest("CP0",CTy"CP0",qVar"state"), 1792 Var("vAddr",F64)])]))], 1793 Let(TP[Var("pAddr",F64),AVar(FTy 3)], 1794 Call 1795 ("AddressTranslation",PTy(F64,FTy 3), 1796 TP[Var("vAddr",F64),LC("STORE",CTy"LorS")]), 1797 ITE(Dest("exceptionSignalled",bTy,qVar"state"), 1798 TP[LT,qVar"state"], 1799 Let(TP[Var("v",F64),qVar"s"], 1800 Apply 1801 (Call 1802 ("AdjustEndian",ATy(qTy,PTy(F64,qTy)), 1803 TP[Var("MemType",FTy 3),Var("pAddr",F64)]), 1804 qVar"state"), 1805 Let(TP[bVar"v0",qVar"s"], 1806 ITE(Mop(Not,bVar"cond"),TP[LT,qVar"s"], 1807 CS(Dest("LLbit",OTy bTy,qVar"s"), 1808 [(LO bTy, 1809 Apply 1810 (Call 1811 ("raise'exception", 1812 ATy(qTy,PTy(bTy,qTy)), 1813 Call 1814 ("UNPREDICTABLE", 1815 CTy"exception", 1816 LS 1817 "conditional store: LLbit not set")), 1818 qVar"s")), 1819 (Mop(Some,LF),TP[LF,qVar"s"]), 1820 (Mop(Some,LT), 1821 ITE(EQ(Dest 1822 ("LLAddr",F64, 1823 Dest("CP0",CTy"CP0",qVar"s")), 1824 Var("v",F64)),TP[LT,qVar"s"], 1825 Apply 1826 (Call 1827 ("raise'exception", 1828 ATy(qTy,PTy(bTy,qTy)), 1829 Call 1830 ("UNPREDICTABLE", 1831 CTy"exception", 1832 LS 1833 "conditional store: address doesn't match previous LL address")), 1834 qVar"s")))])), 1835 TP[bVar"v0", 1836 Rupd 1837 ("LLbit", 1838 TP[ITE(bVar"v0", 1839 Let(nVar"b", 1840 Bop(Add, 1841 Mop(Cast nTy, 1842 Var("AccessLength", 1843 FTy 3)),LN 1), 1844 Let(nVar"l", 1845 Bop(Sub,LN 8, 1846 Bop(Add,nVar"b", 1847 Mop(Cast nTy, 1848 EX(Var("vAddr", 1849 F64), 1850 LN 2,LN 0, 1851 FTy 3)))), 1852 Apply 1853 (Call 1854 ("WriteData", 1855 ATy(qTy,qTy), 1856 TP[Var("v",F64), 1857 Var("MemElem",F64), 1858 nVar"l", 1859 Bop(Sub, 1860 Bop(Add, 1861 nVar"l", 1862 nVar"b"), 1863 LN 1)]), 1864 qVar"s"))),qVar"s"), 1865 LO bTy])]))))))) 1866; 1867val storeWord_def = Def 1868 ("storeWord", 1869 TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16),bVar"cond"], 1870 Close 1871 (qVar"state", 1872 Let(Var("v",F64), 1873 Bop(Add,Mop(SE F64,Var("offset",F16)), 1874 Apply 1875 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)),qVar"state")), 1876 Apply 1877 (Call 1878 ("StoreMemory",ATy(qTy,PTy(bTy,qTy)), 1879 TP[Const("WORD",FTy 3),Const("WORD",FTy 3),LT, 1880 Bop(Lsl, 1881 Apply 1882 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 1883 qVar"state"), 1884 Bop(Mul,LN 8, 1885 Mop(Cast nTy, 1886 Bop(BXor,EX(Var("v",F64),LN 2,LN 0,FTy 3), 1887 CC[Apply 1888 (Const("BigEndianCPU",ATy(qTy,F1)), 1889 qVar"state"),LW(0,2)])))), 1890 Var("v",F64),bVar"cond"]),qVar"state")))) 1891; 1892val storeDoubleword_def = Def 1893 ("storeDoubleword", 1894 TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16),bVar"cond"], 1895 Close 1896 (qVar"state", 1897 Apply 1898 (Call 1899 ("StoreMemory",ATy(qTy,PTy(bTy,qTy)), 1900 TP[Const("DOUBLEWORD",FTy 3),Const("DOUBLEWORD",FTy 3),LT, 1901 Apply(Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"), 1902 Bop(Add,Mop(SE F64,Var("offset",F16)), 1903 Apply 1904 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)), 1905 qVar"state")),bVar"cond"]),qVar"state"))) 1906; 1907val rec'FCSR_def = Def 1908 ("rec'FCSR",Var("x",F32), 1909 Rec(CTy"FCSR", 1910 [Bop(Bit,Var("x",F32),LN 19),Bop(Bit,Var("x",F32),LN 17), 1911 Bop(Bit,Var("x",F32),LN 12),Bop(Bit,Var("x",F32),LN 14), 1912 Bop(Bit,Var("x",F32),LN 13),Bop(Bit,Var("x",F32),LN 16), 1913 Bop(Bit,Var("x",F32),LN 15),Bop(Bit,Var("x",F32),LN 7), 1914 Bop(Bit,Var("x",F32),LN 9),Bop(Bit,Var("x",F32),LN 8), 1915 Bop(Bit,Var("x",F32),LN 11),Bop(Bit,Var("x",F32),LN 10), 1916 CC[EX(Var("x",F32),LN 31,LN 25,FTy 7), 1917 EX(Var("x",F32),LN 23,LN 23,F1)],Bop(Bit,Var("x",F32),LN 24), 1918 Bop(Bit,Var("x",F32),LN 2),Bop(Bit,Var("x",F32),LN 4), 1919 Bop(Bit,Var("x",F32),LN 3),Bop(Bit,Var("x",F32),LN 6), 1920 Bop(Bit,Var("x",F32),LN 5),Bop(Bit,Var("x",F32),LN 18), 1921 EX(Var("x",F32),LN 1,LN 0,FTy 2), 1922 EX(Var("x",F32),LN 22,LN 20,FTy 3)])) 1923; 1924val reg'FCSR_def = Def 1925 ("reg'FCSR",Var("x",CTy"FCSR"), 1926 CS(Var("x",CTy"FCSR"), 1927 [(Rec(CTy"FCSR", 1928 [bVar"ABS2008",bVar"CauseE",bVar"CauseI",bVar"CauseO", 1929 bVar"CauseU",bVar"CauseV",bVar"CauseZ",bVar"EnableI", 1930 bVar"EnableO",bVar"EnableU",bVar"EnableV",bVar"EnableZ", 1931 Var("FCC",F8),bVar"FS",bVar"FlagI",bVar"FlagO",bVar"FlagU", 1932 bVar"FlagV",bVar"FlagZ",bVar"NAN2008",Var("RM",FTy 2), 1933 Var("fcsr'rst",FTy 3)]), 1934 CC[EX(Var("FCC",F8),LN 7,LN 1,FTy 7),Mop(Cast F1,bVar"FS"), 1935 EX(Var("FCC",F8),LN 0,LN 0,F1),Var("fcsr'rst",FTy 3), 1936 Mop(Cast F1,bVar"ABS2008"),Mop(Cast F1,bVar"NAN2008"), 1937 Mop(Cast F1,bVar"CauseE"),Mop(Cast F1,bVar"CauseV"), 1938 Mop(Cast F1,bVar"CauseZ"),Mop(Cast F1,bVar"CauseO"), 1939 Mop(Cast F1,bVar"CauseU"),Mop(Cast F1,bVar"CauseI"), 1940 Mop(Cast F1,bVar"EnableV"),Mop(Cast F1,bVar"EnableZ"), 1941 Mop(Cast F1,bVar"EnableO"),Mop(Cast F1,bVar"EnableU"), 1942 Mop(Cast F1,bVar"EnableI"),Mop(Cast F1,bVar"FlagV"), 1943 Mop(Cast F1,bVar"FlagZ"),Mop(Cast F1,bVar"FlagO"), 1944 Mop(Cast F1,bVar"FlagU"),Mop(Cast F1,bVar"FlagI"), 1945 Var("RM",FTy 2)])])) 1946; 1947val write'rec'FCSR_def = Def 1948 ("write'rec'FCSR",TP[AVar F32,Var("x",CTy"FCSR")], 1949 Call("reg'FCSR",F32,Var("x",CTy"FCSR"))) 1950; 1951val write'reg'FCSR_def = Def 1952 ("write'reg'FCSR",TP[AVar(CTy"FCSR"),Var("x",F32)], 1953 Call("rec'FCSR",CTy"FCSR",Var("x",F32))) 1954; 1955val rec'FIR_def = Def 1956 ("rec'FIR",Var("x",F32), 1957 Rec(CTy"FIR", 1958 [Bop(Bit,Var("x",F32),LN 19),Bop(Bit,Var("x",F32),LN 17), 1959 Bop(Bit,Var("x",F32),LN 22),Bop(Bit,Var("x",F32),LN 21), 1960 Bop(Bit,Var("x",F32),LN 18),EX(Var("x",F32),LN 15,LN 8,F8), 1961 EX(Var("x",F32),LN 7,LN 0,F8),Bop(Bit,Var("x",F32),LN 16), 1962 Bop(Bit,Var("x",F32),LN 20),EX(Var("x",F32),LN 31,LN 23,FTy 9)])) 1963; 1964val reg'FIR_def = Def 1965 ("reg'FIR",Var("x",CTy"FIR"), 1966 CS(Var("x",CTy"FIR"), 1967 [(Rec(CTy"FIR", 1968 [bVar"ASE",bVar"D",bVar"F64",bVar"L",bVar"PS",Var("PrID",F8), 1969 Var("Rev",F8),bVar"S",bVar"W",Var("fir'rst",FTy 9)]), 1970 CC[Var("fir'rst",FTy 9),Mop(Cast F1,bVar"F64"), 1971 Mop(Cast F1,bVar"L"),Mop(Cast F1,bVar"W"), 1972 Mop(Cast F1,bVar"ASE"),Mop(Cast F1,bVar"PS"), 1973 Mop(Cast F1,bVar"D"),Mop(Cast F1,bVar"S"),Var("PrID",F8), 1974 Var("Rev",F8)])])) 1975; 1976val write'rec'FIR_def = Def 1977 ("write'rec'FIR",TP[AVar F32,Var("x",CTy"FIR")], 1978 Call("reg'FIR",F32,Var("x",CTy"FIR"))) 1979; 1980val write'reg'FIR_def = Def 1981 ("write'reg'FIR",TP[AVar(CTy"FIR"),Var("x",F32)], 1982 Call("rec'FIR",CTy"FIR",Var("x",F32))) 1983; 1984val IntToWordMIPS_def = Def 1985 ("IntToWordMIPS",iVar"v", 1986 ITB([(Bop(Gt,iVar"v",LI 2147483647),LW(2147483647,32)), 1987 (Bop(Lt,iVar"v",Mop(Neg,LI 2147483648)),LW(2147483647,32))], 1988 Mop(Cast F32,iVar"v"))) 1989; 1990val IntToDWordMIPS_def = Def 1991 ("IntToDWordMIPS",iVar"v", 1992 ITB([(Bop(Gt,iVar"v",LI 9223372036854775807),LW(9223372036854775807,64)), 1993 (Bop(Lt,iVar"v",Mop(Neg,LI 9223372036854775808)), 1994 LW(9223372036854775807,64))],Mop(Cast F64,iVar"v"))) 1995; 1996val PostOpF32_def = Def 1997 ("PostOpF32",Var("v",F32), 1998 Close 1999 (qVar"state", 2000 ITE(Bop(And,Dest("FS",bTy,Dest("fcsr",CTy"FCSR",qVar"state")), 2001 Mop(FPIsSubnormal 32,Var("v",F32))),LW(0,32),Var("v",F32)))) 2002; 2003val PostOpF64_def = Def 2004 ("PostOpF64",Var("v",F64), 2005 Close 2006 (qVar"state", 2007 ITE(Bop(And,Dest("FS",bTy,Dest("fcsr",CTy"FCSR",qVar"state")), 2008 Mop(FPIsSubnormal 64,Var("v",F64))),LW(0,64),Var("v",F64)))) 2009; 2010val FP32_Abs1985_def = Def 2011 ("FP32_Abs1985",Var("a",F32), 2012 ITE(Mop(FPIsNan 32,Var("a",F32)),Var("a",F32), 2013 Mop(FPAbs 32,Var("a",F32)))) 2014; 2015val FP32_Neg1985_def = Def 2016 ("FP32_Neg1985",Var("a",F32), 2017 ITE(Mop(FPIsNan 32,Var("a",F32)),Var("a",F32), 2018 Mop(FPNeg 32,Var("a",F32)))) 2019; 2020val FP64_Abs1985_def = Def 2021 ("FP64_Abs1985",Var("a",F64), 2022 ITE(Mop(FPIsNan 64,Var("a",F64)),Var("a",F64), 2023 Mop(FPAbs 64,Var("a",F64)))) 2024; 2025val FP64_Neg1985_def = Def 2026 ("FP64_Neg1985",Var("a",F64), 2027 ITE(Mop(FPIsNan 64,Var("a",F64)),Var("a",F64), 2028 Mop(FPNeg 64,Var("a",F64)))) 2029; 2030val FP64_Unordered_def = Def 2031 ("FP64_Unordered",TP[Var("a",F64),Var("b",F64)], 2032 Bop(Or,Mop(FPIsNan 64,Var("a",F64)),Mop(FPIsNan 64,Var("b",F64)))) 2033; 2034val FP32_Unordered_def = Def 2035 ("FP32_Unordered",TP[Var("a",F32),Var("b",F32)], 2036 Bop(Or,Mop(FPIsNan 32,Var("a",F32)),Mop(FPIsNan 32,Var("b",F32)))) 2037; 2038val Rounding_Mode_def = Def 2039 ("Rounding_Mode",qVar"state", 2040 CS(Dest("RM",FTy 2,Dest("fcsr",CTy"FCSR",qVar"state")), 2041 [(LW(0,2),binary_ieeeSyntax.roundTiesToEven_tm), 2042 (LW(1,2),binary_ieeeSyntax.roundTowardZero_tm), 2043 (LW(2,2),binary_ieeeSyntax.roundTowardPositive_tm), 2044 (LW(3,2),binary_ieeeSyntax.roundTowardNegative_tm)])) 2045; 2046val dfn'ABS_D_def = Def 2047 ("dfn'ABS_D",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 2048 Close 2049 (qVar"state", 2050 ITB([(Mop(Not, 2051 Dest 2052 ("CU1",bTy, 2053 Dest 2054 ("Status",CTy"StatusRegister", 2055 Dest("CP0",CTy"CP0",qVar"state")))), 2056 Apply 2057 (Const("SignalCP1UnusableException",ATy(qTy,qTy)), 2058 qVar"state")), 2059 (Dest("ABS2008",bTy,Dest("fcsr",CTy"FCSR",qVar"state")), 2060 Rupd 2061 ("FGR", 2062 TP[qVar"state", 2063 Fupd 2064 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 2065 Var("fd",FTy 5), 2066 Mop(FPAbs 64, 2067 Apply 2068 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 2069 Var("fs",FTy 5))))]))], 2070 Rupd 2071 ("FGR", 2072 TP[qVar"state", 2073 Fupd 2074 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 2075 Apply 2076 (Call 2077 ("PostOpF64",ATy(qTy,F64), 2078 Call 2079 ("FP64_Abs1985",F64, 2080 Apply 2081 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 2082 Var("fs",FTy 5)))),qVar"state"))])))) 2083; 2084val dfn'ABS_S_def = Def 2085 ("dfn'ABS_S",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 2086 Close 2087 (qVar"state", 2088 ITB([(Mop(Not, 2089 Dest 2090 ("CU1",bTy, 2091 Dest 2092 ("Status",CTy"StatusRegister", 2093 Dest("CP0",CTy"CP0",qVar"state")))), 2094 Apply 2095 (Const("SignalCP1UnusableException",ATy(qTy,qTy)), 2096 qVar"state")), 2097 (Dest("ABS2008",bTy,Dest("fcsr",CTy"FCSR",qVar"state")), 2098 Rupd 2099 ("FGR", 2100 TP[qVar"state", 2101 Fupd 2102 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 2103 Var("fd",FTy 5), 2104 Mop(SE F64, 2105 Mop(FPAbs 32, 2106 EX(Apply 2107 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 2108 Var("fs",FTy 5)),LN 31,LN 0,F32))))]))], 2109 Rupd 2110 ("FGR", 2111 TP[qVar"state", 2112 Fupd 2113 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 2114 Mop(SE F64, 2115 Apply 2116 (Call 2117 ("PostOpF32",ATy(qTy,F32), 2118 Call 2119 ("FP32_Abs1985",F32, 2120 EX(Apply 2121 (Dest 2122 ("FGR",ATy(FTy 5,F64),qVar"state"), 2123 Var("fs",FTy 5)),LN 31,LN 0,F32))), 2124 qVar"state")))])))) 2125; 2126val dfn'ADD_D_def = Def 2127 ("dfn'ADD_D",TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("ft",FTy 5)], 2128 Close 2129 (qVar"state", 2130 ITE(Mop(Not, 2131 Dest 2132 ("CU1",bTy, 2133 Dest 2134 ("Status",CTy"StatusRegister", 2135 Dest("CP0",CTy"CP0",qVar"state")))), 2136 Apply 2137 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 2138 Rupd 2139 ("FGR", 2140 TP[qVar"state", 2141 Fupd 2142 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 2143 Apply 2144 (Call 2145 ("PostOpF64",ATy(qTy,F64), 2146 Mop(FPAdd 64, 2147 TP[Apply 2148 (Const("Rounding_Mode",ATy(qTy,rTy)), 2149 qVar"state"), 2150 Apply 2151 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 2152 Var("fs",FTy 5)), 2153 Apply 2154 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 2155 Var("ft",FTy 5))])),qVar"state"))])))) 2156; 2157val dfn'ADD_S_def = Def 2158 ("dfn'ADD_S",TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("ft",FTy 5)], 2159 Close 2160 (qVar"state", 2161 ITE(Mop(Not, 2162 Dest 2163 ("CU1",bTy, 2164 Dest 2165 ("Status",CTy"StatusRegister", 2166 Dest("CP0",CTy"CP0",qVar"state")))), 2167 Apply 2168 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 2169 Rupd 2170 ("FGR", 2171 TP[qVar"state", 2172 Fupd 2173 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 2174 Mop(SE F64, 2175 Apply 2176 (Call 2177 ("PostOpF32",ATy(qTy,F32), 2178 Mop(FPAdd 32, 2179 TP[Apply 2180 (Const("Rounding_Mode",ATy(qTy,rTy)), 2181 qVar"state"), 2182 EX(Apply 2183 (Dest 2184 ("FGR",ATy(FTy 5,F64), 2185 qVar"state"),Var("fs",FTy 5)), 2186 LN 31,LN 0,F32), 2187 EX(Apply 2188 (Dest 2189 ("FGR",ATy(FTy 5,F64), 2190 qVar"state"),Var("ft",FTy 5)), 2191 LN 31,LN 0,F32)])),qVar"state")))])))) 2192; 2193val dfn'BC1F_def = Def 2194 ("dfn'BC1F",TP[Var("i",F16),Var("cc",FTy 3)], 2195 Close 2196 (qVar"state", 2197 ITE(Mop(Not, 2198 Dest 2199 ("CU1",bTy, 2200 Dest 2201 ("Status",CTy"StatusRegister", 2202 Dest("CP0",CTy"CP0",qVar"state")))), 2203 Apply 2204 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 2205 Apply 2206 (Call 2207 ("ConditionalBranch",ATy(qTy,qTy), 2208 TP[Mop(Not, 2209 Bop(Bit, 2210 Dest 2211 ("FCC",F8,Dest("fcsr",CTy"FCSR",qVar"state")), 2212 Mop(Cast nTy,Var("cc",FTy 3)))),Var("i",F16)]), 2213 qVar"state")))) 2214; 2215val dfn'BC1FL_def = Def 2216 ("dfn'BC1FL",TP[Var("i",F16),Var("cc",FTy 3)], 2217 Close 2218 (qVar"state", 2219 ITE(Mop(Not, 2220 Dest 2221 ("CU1",bTy, 2222 Dest 2223 ("Status",CTy"StatusRegister", 2224 Dest("CP0",CTy"CP0",qVar"state")))), 2225 Apply 2226 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 2227 Apply 2228 (Call 2229 ("ConditionalBranchLikely",ATy(qTy,qTy), 2230 TP[Mop(Not, 2231 Bop(Bit, 2232 Dest 2233 ("FCC",F8,Dest("fcsr",CTy"FCSR",qVar"state")), 2234 Mop(Cast nTy,Var("cc",FTy 3)))),Var("i",F16)]), 2235 qVar"state")))) 2236; 2237val dfn'BC1T_def = Def 2238 ("dfn'BC1T",TP[Var("i",F16),Var("cc",FTy 3)], 2239 Close 2240 (qVar"state", 2241 ITE(Mop(Not, 2242 Dest 2243 ("CU1",bTy, 2244 Dest 2245 ("Status",CTy"StatusRegister", 2246 Dest("CP0",CTy"CP0",qVar"state")))), 2247 Apply 2248 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 2249 Apply 2250 (Call 2251 ("ConditionalBranch",ATy(qTy,qTy), 2252 TP[Bop(Bit, 2253 Dest("FCC",F8,Dest("fcsr",CTy"FCSR",qVar"state")), 2254 Mop(Cast nTy,Var("cc",FTy 3))),Var("i",F16)]), 2255 qVar"state")))) 2256; 2257val dfn'BC1TL_def = Def 2258 ("dfn'BC1TL",TP[Var("i",F16),Var("cc",FTy 3)], 2259 Close 2260 (qVar"state", 2261 ITE(Mop(Not, 2262 Dest 2263 ("CU1",bTy, 2264 Dest 2265 ("Status",CTy"StatusRegister", 2266 Dest("CP0",CTy"CP0",qVar"state")))), 2267 Apply 2268 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 2269 Apply 2270 (Call 2271 ("ConditionalBranchLikely",ATy(qTy,qTy), 2272 TP[Bop(Bit, 2273 Dest("FCC",F8,Dest("fcsr",CTy"FCSR",qVar"state")), 2274 Mop(Cast nTy,Var("cc",FTy 3))),Var("i",F16)]), 2275 qVar"state")))) 2276; 2277val dfn'C_cond_D_def = Def 2278 ("dfn'C_cond_D", 2279 TP[Var("fs",FTy 5),Var("ft",FTy 5),Var("cnd",FTy 3),Var("cc",FTy 3)], 2280 Close 2281 (qVar"state", 2282 ITE(Mop(Not, 2283 Dest 2284 ("CU1",bTy, 2285 Dest 2286 ("Status",CTy"StatusRegister", 2287 Dest("CP0",CTy"CP0",qVar"state")))), 2288 Apply 2289 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 2290 Let(nVar"i",Mop(Cast nTy,Var("cc",FTy 3)), 2291 Let(TP[Var("v",CTy"FCSR"),qVar"s"], 2292 Let(TP[Var("v",PTy(CTy"FCSR",F8)),qVar"s"], 2293 Let(TP[bVar"v0",qVar"s0"], 2294 CS(Var("cnd",FTy 3), 2295 [(LW(0,3),TP[LF,qVar"state"]), 2296 (LW(1,3), 2297 TP[Call 2298 ("FP64_Unordered",bTy, 2299 TP[Apply 2300 (Dest 2301 ("FGR",ATy(FTy 5,F64), 2302 qVar"state"),Var("fs",FTy 5)), 2303 Apply 2304 (Dest 2305 ("FGR",ATy(FTy 5,F64), 2306 qVar"state"),Var("ft",FTy 5))]), 2307 qVar"state"]), 2308 (LW(2,3), 2309 TP[Mop(FPEq 64, 2310 TP[Apply 2311 (Dest 2312 ("FGR",ATy(FTy 5,F64), 2313 qVar"state"), 2314 Var("fs",FTy 5)), 2315 Apply 2316 (Dest 2317 ("FGR",ATy(FTy 5,F64), 2318 qVar"state"), 2319 Var("ft",FTy 5))]),qVar"state"]), 2320 (LW(3,3), 2321 TP[Bop(Or, 2322 Mop(FPEq 64, 2323 TP[Apply 2324 (Dest 2325 ("FGR",ATy(FTy 5,F64), 2326 qVar"state"), 2327 Var("fs",FTy 5)), 2328 Apply 2329 (Dest 2330 ("FGR",ATy(FTy 5,F64), 2331 qVar"state"), 2332 Var("ft",FTy 5))]), 2333 Call 2334 ("FP64_Unordered",bTy, 2335 TP[Apply 2336 (Dest 2337 ("FGR",ATy(FTy 5,F64), 2338 qVar"state"), 2339 Var("fs",FTy 5)), 2340 Apply 2341 (Dest 2342 ("FGR",ATy(FTy 5,F64), 2343 qVar"state"), 2344 Var("ft",FTy 5))])), 2345 qVar"state"]), 2346 (LW(4,3), 2347 TP[Mop(FPLt 64, 2348 TP[Apply 2349 (Dest 2350 ("FGR",ATy(FTy 5,F64), 2351 qVar"state"), 2352 Var("fs",FTy 5)), 2353 Apply 2354 (Dest 2355 ("FGR",ATy(FTy 5,F64), 2356 qVar"state"), 2357 Var("ft",FTy 5))]),qVar"state"]), 2358 (LW(5,3), 2359 TP[Mop(Not, 2360 Mop(FPGe 64, 2361 TP[Apply 2362 (Dest 2363 ("FGR",ATy(FTy 5,F64), 2364 qVar"state"), 2365 Var("fs",FTy 5)), 2366 Apply 2367 (Dest 2368 ("FGR",ATy(FTy 5,F64), 2369 qVar"state"), 2370 Var("ft",FTy 5))])), 2371 qVar"state"]), 2372 (LW(6,3), 2373 TP[Mop(FPLe 64, 2374 TP[Apply 2375 (Dest 2376 ("FGR",ATy(FTy 5,F64), 2377 qVar"state"), 2378 Var("fs",FTy 5)), 2379 Apply 2380 (Dest 2381 ("FGR",ATy(FTy 5,F64), 2382 qVar"state"), 2383 Var("ft",FTy 5))]),qVar"state"]), 2384 (LW(7,3), 2385 TP[Mop(Not, 2386 Mop(FPGt 64, 2387 TP[Apply 2388 (Dest 2389 ("FGR",ATy(FTy 5,F64), 2390 qVar"state"), 2391 Var("fs",FTy 5)), 2392 Apply 2393 (Dest 2394 ("FGR",ATy(FTy 5,F64), 2395 qVar"state"), 2396 Var("ft",FTy 5))])), 2397 qVar"state"])]), 2398 TP[TP[Dest("fcsr",CTy"FCSR",qVar"state"), 2399 BFI(nVar"i",nVar"i",Mop(Cast F1,bVar"v0"), 2400 Dest 2401 ("FCC",F8, 2402 Dest("fcsr",CTy"FCSR",qVar"state")))], 2403 qVar"s0"]), 2404 TP[Rupd("FCC",Var("v",PTy(CTy"FCSR",F8))),qVar"s"]), 2405 Rupd("fcsr",TP[qVar"s",Var("v",CTy"FCSR")])))))) 2406; 2407val dfn'C_cond_S_def = Def 2408 ("dfn'C_cond_S", 2409 TP[Var("fs",FTy 5),Var("ft",FTy 5),Var("cnd",FTy 3),Var("cc",FTy 3)], 2410 Close 2411 (qVar"state", 2412 ITE(Mop(Not, 2413 Dest 2414 ("CU1",bTy, 2415 Dest 2416 ("Status",CTy"StatusRegister", 2417 Dest("CP0",CTy"CP0",qVar"state")))), 2418 Apply 2419 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 2420 Let(nVar"i",Mop(Cast nTy,Var("cc",FTy 3)), 2421 Let(TP[Var("v",CTy"FCSR"),qVar"s"], 2422 Let(TP[Var("v",PTy(CTy"FCSR",F8)),qVar"s"], 2423 Let(TP[bVar"v0",qVar"s0"], 2424 CS(Var("cnd",FTy 3), 2425 [(LW(0,3),TP[LF,qVar"state"]), 2426 (LW(1,3), 2427 TP[Call 2428 ("FP32_Unordered",bTy, 2429 TP[EX(Apply 2430 (Dest 2431 ("FGR",ATy(FTy 5,F64), 2432 qVar"state"), 2433 Var("fs",FTy 5)),LN 31,LN 0, 2434 F32), 2435 EX(Apply 2436 (Dest 2437 ("FGR",ATy(FTy 5,F64), 2438 qVar"state"), 2439 Var("ft",FTy 5)),LN 31,LN 0, 2440 F32)]),qVar"state"]), 2441 (LW(2,3), 2442 TP[Mop(FPEq 32, 2443 TP[EX(Apply 2444 (Dest 2445 ("FGR",ATy(FTy 5,F64), 2446 qVar"state"), 2447 Var("fs",FTy 5)),LN 31, 2448 LN 0,F32), 2449 EX(Apply 2450 (Dest 2451 ("FGR",ATy(FTy 5,F64), 2452 qVar"state"), 2453 Var("ft",FTy 5)),LN 31, 2454 LN 0,F32)]),qVar"state"]), 2455 (LW(3,3), 2456 TP[Bop(Or, 2457 Mop(FPEq 32, 2458 TP[EX(Apply 2459 (Dest 2460 ("FGR", 2461 ATy(FTy 5,F64), 2462 qVar"state"), 2463 Var("fs",FTy 5)),LN 31, 2464 LN 0,F32), 2465 EX(Apply 2466 (Dest 2467 ("FGR", 2468 ATy(FTy 5,F64), 2469 qVar"state"), 2470 Var("ft",FTy 5)),LN 31, 2471 LN 0,F32)]), 2472 Call 2473 ("FP32_Unordered",bTy, 2474 TP[EX(Apply 2475 (Dest 2476 ("FGR",ATy(FTy 5,F64), 2477 qVar"state"), 2478 Var("fs",FTy 5)),LN 31, 2479 LN 0,F32), 2480 EX(Apply 2481 (Dest 2482 ("FGR",ATy(FTy 5,F64), 2483 qVar"state"), 2484 Var("ft",FTy 5)),LN 31, 2485 LN 0,F32)])),qVar"state"]), 2486 (LW(4,3), 2487 TP[Mop(FPLt 32, 2488 TP[EX(Apply 2489 (Dest 2490 ("FGR",ATy(FTy 5,F64), 2491 qVar"state"), 2492 Var("fs",FTy 5)),LN 31, 2493 LN 0,F32), 2494 EX(Apply 2495 (Dest 2496 ("FGR",ATy(FTy 5,F64), 2497 qVar"state"), 2498 Var("ft",FTy 5)),LN 31, 2499 LN 0,F32)]),qVar"state"]), 2500 (LW(5,3), 2501 TP[Mop(Not, 2502 Mop(FPGe 32, 2503 TP[EX(Apply 2504 (Dest 2505 ("FGR", 2506 ATy(FTy 5,F64), 2507 qVar"state"), 2508 Var("fs",FTy 5)),LN 31, 2509 LN 0,F32), 2510 EX(Apply 2511 (Dest 2512 ("FGR", 2513 ATy(FTy 5,F64), 2514 qVar"state"), 2515 Var("ft",FTy 5)),LN 31, 2516 LN 0,F32)])),qVar"state"]), 2517 (LW(6,3), 2518 TP[Mop(FPLe 32, 2519 TP[EX(Apply 2520 (Dest 2521 ("FGR",ATy(FTy 5,F64), 2522 qVar"state"), 2523 Var("fs",FTy 5)),LN 31, 2524 LN 0,F32), 2525 EX(Apply 2526 (Dest 2527 ("FGR",ATy(FTy 5,F64), 2528 qVar"state"), 2529 Var("ft",FTy 5)),LN 31, 2530 LN 0,F32)]),qVar"state"]), 2531 (LW(7,3), 2532 TP[Mop(Not, 2533 Mop(FPGt 32, 2534 TP[EX(Apply 2535 (Dest 2536 ("FGR", 2537 ATy(FTy 5,F64), 2538 qVar"state"), 2539 Var("fs",FTy 5)),LN 31, 2540 LN 0,F32), 2541 EX(Apply 2542 (Dest 2543 ("FGR", 2544 ATy(FTy 5,F64), 2545 qVar"state"), 2546 Var("ft",FTy 5)),LN 31, 2547 LN 0,F32)])),qVar"state"])]), 2548 TP[TP[Dest("fcsr",CTy"FCSR",qVar"state"), 2549 BFI(nVar"i",nVar"i",Mop(Cast F1,bVar"v0"), 2550 Dest 2551 ("FCC",F8, 2552 Dest("fcsr",CTy"FCSR",qVar"state")))], 2553 qVar"s0"]), 2554 TP[Rupd("FCC",Var("v",PTy(CTy"FCSR",F8))),qVar"s"]), 2555 Rupd("fcsr",TP[qVar"s",Var("v",CTy"FCSR")])))))) 2556; 2557val dfn'CEIL_L_D_def = Def 2558 ("dfn'CEIL_L_D",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 2559 Close 2560 (qVar"state", 2561 ITE(Mop(Not, 2562 Dest 2563 ("CU1",bTy, 2564 Dest 2565 ("Status",CTy"StatusRegister", 2566 Dest("CP0",CTy"CP0",qVar"state")))), 2567 Apply 2568 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 2569 Rupd 2570 ("FGR", 2571 TP[qVar"state", 2572 Fupd 2573 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 2574 CS(Mop(FPToInt 64, 2575 TP[binary_ieeeSyntax.roundTowardPositive_tm, 2576 Apply 2577 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 2578 Var("fs",FTy 5))]), 2579 [(Mop(Some,iVar"x"), 2580 Call("IntToDWordMIPS",F64,iVar"x")), 2581 (LO iTy,LW(9223372036854775807,64))]))])))) 2582; 2583val dfn'CEIL_L_S_def = Def 2584 ("dfn'CEIL_L_S",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 2585 Close 2586 (qVar"state", 2587 ITE(Mop(Not, 2588 Dest 2589 ("CU1",bTy, 2590 Dest 2591 ("Status",CTy"StatusRegister", 2592 Dest("CP0",CTy"CP0",qVar"state")))), 2593 Apply 2594 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 2595 Rupd 2596 ("FGR", 2597 TP[qVar"state", 2598 Fupd 2599 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 2600 CS(Mop(FPToInt 32, 2601 TP[binary_ieeeSyntax.roundTowardPositive_tm, 2602 EX(Apply 2603 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 2604 Var("fs",FTy 5)),LN 31,LN 0,F32)]), 2605 [(Mop(Some,iVar"x"), 2606 Call("IntToDWordMIPS",F64,iVar"x")), 2607 (LO iTy,LW(9223372036854775807,64))]))])))) 2608; 2609val dfn'CEIL_W_D_def = Def 2610 ("dfn'CEIL_W_D",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 2611 Close 2612 (qVar"state", 2613 ITE(Mop(Not, 2614 Dest 2615 ("CU1",bTy, 2616 Dest 2617 ("Status",CTy"StatusRegister", 2618 Dest("CP0",CTy"CP0",qVar"state")))), 2619 Apply 2620 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 2621 Rupd 2622 ("FGR", 2623 TP[qVar"state", 2624 Fupd 2625 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 2626 CS(Mop(FPToInt 64, 2627 TP[binary_ieeeSyntax.roundTowardPositive_tm, 2628 Apply 2629 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 2630 Var("fs",FTy 5))]), 2631 [(Mop(Some,iVar"x"), 2632 Mop(SE F64,Call("IntToWordMIPS",F32,iVar"x"))), 2633 (LO iTy,LW(2147483647,64))]))])))) 2634; 2635val dfn'CEIL_W_S_def = Def 2636 ("dfn'CEIL_W_S",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 2637 Close 2638 (qVar"state", 2639 ITE(Mop(Not, 2640 Dest 2641 ("CU1",bTy, 2642 Dest 2643 ("Status",CTy"StatusRegister", 2644 Dest("CP0",CTy"CP0",qVar"state")))), 2645 Apply 2646 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 2647 Rupd 2648 ("FGR", 2649 TP[qVar"state", 2650 Fupd 2651 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 2652 CS(Mop(FPToInt 32, 2653 TP[binary_ieeeSyntax.roundTowardPositive_tm, 2654 EX(Apply 2655 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 2656 Var("fs",FTy 5)),LN 31,LN 0,F32)]), 2657 [(Mop(Some,iVar"x"), 2658 Mop(SE F64,Call("IntToWordMIPS",F32,iVar"x"))), 2659 (LO iTy,LW(2147483647,64))]))])))) 2660; 2661val dfn'CVT_D_L_def = Def 2662 ("dfn'CVT_D_L",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 2663 Close 2664 (qVar"state", 2665 ITE(Mop(Not, 2666 Dest 2667 ("CU1",bTy, 2668 Dest 2669 ("Status",CTy"StatusRegister", 2670 Dest("CP0",CTy"CP0",qVar"state")))), 2671 Apply 2672 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 2673 Rupd 2674 ("FGR", 2675 TP[qVar"state", 2676 Fupd 2677 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 2678 Mop(FPFromInt 64, 2679 TP[Apply 2680 (Const("Rounding_Mode",ATy(qTy,rTy)), 2681 qVar"state"), 2682 Mop(Cast iTy, 2683 Apply 2684 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 2685 Var("fs",FTy 5)))]))])))) 2686; 2687val dfn'CVT_D_S_def = Def 2688 ("dfn'CVT_D_S",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 2689 Close 2690 (qVar"state", 2691 ITE(Mop(Not, 2692 Dest 2693 ("CU1",bTy, 2694 Dest 2695 ("Status",CTy"StatusRegister", 2696 Dest("CP0",CTy"CP0",qVar"state")))), 2697 Apply 2698 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 2699 Rupd 2700 ("FGR", 2701 TP[qVar"state", 2702 Fupd 2703 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 2704 Mop(FP32To64, 2705 EX(Apply 2706 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 2707 Var("fs",FTy 5)),LN 31,LN 0,F32)))])))) 2708; 2709val dfn'CVT_D_W_def = Def 2710 ("dfn'CVT_D_W",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 2711 Close 2712 (qVar"state", 2713 ITE(Mop(Not, 2714 Dest 2715 ("CU1",bTy, 2716 Dest 2717 ("Status",CTy"StatusRegister", 2718 Dest("CP0",CTy"CP0",qVar"state")))), 2719 Apply 2720 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 2721 Let(qVar"s", 2722 ITE(Call 2723 ("NotWordValue",bTy, 2724 Apply 2725 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 2726 Var("fs",FTy 5))), 2727 Mop(Snd, 2728 Apply 2729 (Call 2730 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 2731 Call 2732 ("UNPREDICTABLE",CTy"exception", 2733 LS"CVT.D.W: NotWordValue")),qVar"state")), 2734 qVar"state"), 2735 Rupd 2736 ("FGR", 2737 TP[qVar"s", 2738 Fupd 2739 (Dest("FGR",ATy(FTy 5,F64),qVar"s"),Var("fd",FTy 5), 2740 Mop(FPFromInt 64, 2741 TP[Apply 2742 (Const("Rounding_Mode",ATy(qTy,rTy)), 2743 qVar"s"), 2744 Mop(Cast iTy, 2745 EX(Apply 2746 (Dest("FGR",ATy(FTy 5,F64),qVar"s"), 2747 Var("fs",FTy 5)),LN 31,LN 0,F32))]))]))))) 2748; 2749val dfn'CVT_L_D_def = Def 2750 ("dfn'CVT_L_D",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 2751 Close 2752 (qVar"state", 2753 ITE(Mop(Not, 2754 Dest 2755 ("CU1",bTy, 2756 Dest 2757 ("Status",CTy"StatusRegister", 2758 Dest("CP0",CTy"CP0",qVar"state")))), 2759 Apply 2760 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 2761 Rupd 2762 ("FGR", 2763 TP[qVar"state", 2764 Fupd 2765 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 2766 CS(Mop(FPToInt 64, 2767 TP[Apply 2768 (Const("Rounding_Mode",ATy(qTy,rTy)), 2769 qVar"state"), 2770 Apply 2771 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 2772 Var("fs",FTy 5))]), 2773 [(Mop(Some,iVar"x"), 2774 Call("IntToDWordMIPS",F64,iVar"x")), 2775 (LO iTy,LW(9223372036854775807,64))]))])))) 2776; 2777val dfn'CVT_L_S_def = Def 2778 ("dfn'CVT_L_S",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 2779 Close 2780 (qVar"state", 2781 ITE(Mop(Not, 2782 Dest 2783 ("CU1",bTy, 2784 Dest 2785 ("Status",CTy"StatusRegister", 2786 Dest("CP0",CTy"CP0",qVar"state")))), 2787 Apply 2788 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 2789 Rupd 2790 ("FGR", 2791 TP[qVar"state", 2792 Fupd 2793 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 2794 CS(Mop(FPToInt 32, 2795 TP[Apply 2796 (Const("Rounding_Mode",ATy(qTy,rTy)), 2797 qVar"state"), 2798 EX(Apply 2799 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 2800 Var("fs",FTy 5)),LN 31,LN 0,F32)]), 2801 [(Mop(Some,iVar"x"), 2802 Call("IntToDWordMIPS",F64,iVar"x")), 2803 (LO iTy,LW(9223372036854775807,64))]))])))) 2804; 2805val dfn'CVT_S_D_def = Def 2806 ("dfn'CVT_S_D",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 2807 Close 2808 (qVar"state", 2809 ITE(Mop(Not, 2810 Dest 2811 ("CU1",bTy, 2812 Dest 2813 ("Status",CTy"StatusRegister", 2814 Dest("CP0",CTy"CP0",qVar"state")))), 2815 Apply 2816 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 2817 Rupd 2818 ("FGR", 2819 TP[qVar"state", 2820 Fupd 2821 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 2822 Mop(SE F64, 2823 Mop(FP64To32, 2824 TP[Apply 2825 (Const("Rounding_Mode",ATy(qTy,rTy)), 2826 qVar"state"), 2827 Apply 2828 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 2829 Var("fs",FTy 5))])))])))) 2830; 2831val dfn'CVT_S_L_def = Def 2832 ("dfn'CVT_S_L",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 2833 Close 2834 (qVar"state", 2835 ITE(Mop(Not, 2836 Dest 2837 ("CU1",bTy, 2838 Dest 2839 ("Status",CTy"StatusRegister", 2840 Dest("CP0",CTy"CP0",qVar"state")))), 2841 Apply 2842 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 2843 Rupd 2844 ("FGR", 2845 TP[qVar"state", 2846 Fupd 2847 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 2848 Mop(SE F64, 2849 Mop(FPFromInt 32, 2850 TP[Apply 2851 (Const("Rounding_Mode",ATy(qTy,rTy)), 2852 qVar"state"), 2853 Mop(Cast iTy, 2854 Apply 2855 (Dest 2856 ("FGR",ATy(FTy 5,F64),qVar"state"), 2857 Var("fs",FTy 5)))])))])))) 2858; 2859val dfn'CVT_S_W_def = Def 2860 ("dfn'CVT_S_W",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 2861 Close 2862 (qVar"state", 2863 ITE(Mop(Not, 2864 Dest 2865 ("CU1",bTy, 2866 Dest 2867 ("Status",CTy"StatusRegister", 2868 Dest("CP0",CTy"CP0",qVar"state")))), 2869 Apply 2870 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 2871 Let(qVar"s", 2872 ITE(Call 2873 ("NotWordValue",bTy, 2874 Apply 2875 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 2876 Var("fs",FTy 5))), 2877 Mop(Snd, 2878 Apply 2879 (Call 2880 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 2881 Call 2882 ("UNPREDICTABLE",CTy"exception", 2883 LS"CVT.S.W: NotWordValue")),qVar"state")), 2884 qVar"state"), 2885 Rupd 2886 ("FGR", 2887 TP[qVar"s", 2888 Fupd 2889 (Dest("FGR",ATy(FTy 5,F64),qVar"s"),Var("fd",FTy 5), 2890 Mop(SE F64, 2891 Mop(FPFromInt 32, 2892 TP[Apply 2893 (Const("Rounding_Mode",ATy(qTy,rTy)), 2894 qVar"s"), 2895 Mop(Cast iTy, 2896 EX(Apply 2897 (Dest 2898 ("FGR",ATy(FTy 5,F64), 2899 qVar"s"),Var("fs",FTy 5)), 2900 LN 31,LN 0,F32))])))]))))) 2901; 2902val dfn'CVT_W_D_def = Def 2903 ("dfn'CVT_W_D",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 2904 Close 2905 (qVar"state", 2906 ITE(Mop(Not, 2907 Dest 2908 ("CU1",bTy, 2909 Dest 2910 ("Status",CTy"StatusRegister", 2911 Dest("CP0",CTy"CP0",qVar"state")))), 2912 Apply 2913 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 2914 Rupd 2915 ("FGR", 2916 TP[qVar"state", 2917 Fupd 2918 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 2919 CS(Mop(FPToInt 64, 2920 TP[Apply 2921 (Const("Rounding_Mode",ATy(qTy,rTy)), 2922 qVar"state"), 2923 Apply 2924 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 2925 Var("fs",FTy 5))]), 2926 [(Mop(Some,iVar"x"), 2927 Mop(SE F64,Call("IntToWordMIPS",F32,iVar"x"))), 2928 (LO iTy,LW(2147483647,64))]))])))) 2929; 2930val dfn'CVT_W_S_def = Def 2931 ("dfn'CVT_W_S",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 2932 Close 2933 (qVar"state", 2934 ITE(Mop(Not, 2935 Dest 2936 ("CU1",bTy, 2937 Dest 2938 ("Status",CTy"StatusRegister", 2939 Dest("CP0",CTy"CP0",qVar"state")))), 2940 Apply 2941 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 2942 Rupd 2943 ("FGR", 2944 TP[qVar"state", 2945 Fupd 2946 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 2947 CS(Mop(FPToInt 32, 2948 TP[Apply 2949 (Const("Rounding_Mode",ATy(qTy,rTy)), 2950 qVar"state"), 2951 EX(Apply 2952 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 2953 Var("fs",FTy 5)),LN 31,LN 0,F32)]), 2954 [(Mop(Some,iVar"x"), 2955 Mop(SE F64,Call("IntToWordMIPS",F32,iVar"x"))), 2956 (LO iTy,LW(2147483647,64))]))])))) 2957; 2958val dfn'DIV_D_def = Def 2959 ("dfn'DIV_D",TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("ft",FTy 5)], 2960 Close 2961 (qVar"state", 2962 ITE(Mop(Not, 2963 Dest 2964 ("CU1",bTy, 2965 Dest 2966 ("Status",CTy"StatusRegister", 2967 Dest("CP0",CTy"CP0",qVar"state")))), 2968 Apply 2969 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 2970 Rupd 2971 ("FGR", 2972 TP[qVar"state", 2973 Fupd 2974 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 2975 Apply 2976 (Call 2977 ("PostOpF64",ATy(qTy,F64), 2978 Mop(FPDiv 64, 2979 TP[Apply 2980 (Const("Rounding_Mode",ATy(qTy,rTy)), 2981 qVar"state"), 2982 Apply 2983 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 2984 Var("fs",FTy 5)), 2985 Apply 2986 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 2987 Var("ft",FTy 5))])),qVar"state"))])))) 2988; 2989val dfn'DIV_S_def = Def 2990 ("dfn'DIV_S",TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("ft",FTy 5)], 2991 Close 2992 (qVar"state", 2993 ITE(Mop(Not, 2994 Dest 2995 ("CU1",bTy, 2996 Dest 2997 ("Status",CTy"StatusRegister", 2998 Dest("CP0",CTy"CP0",qVar"state")))), 2999 Apply 3000 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 3001 Rupd 3002 ("FGR", 3003 TP[qVar"state", 3004 Fupd 3005 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 3006 Mop(SE F64, 3007 Apply 3008 (Call 3009 ("PostOpF32",ATy(qTy,F32), 3010 Mop(FPDiv 32, 3011 TP[Apply 3012 (Const("Rounding_Mode",ATy(qTy,rTy)), 3013 qVar"state"), 3014 EX(Apply 3015 (Dest 3016 ("FGR",ATy(FTy 5,F64), 3017 qVar"state"),Var("fs",FTy 5)), 3018 LN 31,LN 0,F32), 3019 EX(Apply 3020 (Dest 3021 ("FGR",ATy(FTy 5,F64), 3022 qVar"state"),Var("ft",FTy 5)), 3023 LN 31,LN 0,F32)])),qVar"state")))])))) 3024; 3025val dfn'FLOOR_L_D_def = Def 3026 ("dfn'FLOOR_L_D",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 3027 Close 3028 (qVar"state", 3029 ITE(Mop(Not, 3030 Dest 3031 ("CU1",bTy, 3032 Dest 3033 ("Status",CTy"StatusRegister", 3034 Dest("CP0",CTy"CP0",qVar"state")))), 3035 Apply 3036 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 3037 Rupd 3038 ("FGR", 3039 TP[qVar"state", 3040 Fupd 3041 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 3042 CS(Mop(FPToInt 64, 3043 TP[binary_ieeeSyntax.roundTowardNegative_tm, 3044 Apply 3045 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3046 Var("fs",FTy 5))]), 3047 [(Mop(Some,iVar"x"), 3048 Call("IntToDWordMIPS",F64,iVar"x")), 3049 (LO iTy,LW(9223372036854775807,64))]))])))) 3050; 3051val dfn'FLOOR_L_S_def = Def 3052 ("dfn'FLOOR_L_S",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 3053 Close 3054 (qVar"state", 3055 ITE(Mop(Not, 3056 Dest 3057 ("CU1",bTy, 3058 Dest 3059 ("Status",CTy"StatusRegister", 3060 Dest("CP0",CTy"CP0",qVar"state")))), 3061 Apply 3062 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 3063 Rupd 3064 ("FGR", 3065 TP[qVar"state", 3066 Fupd 3067 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 3068 CS(Mop(FPToInt 32, 3069 TP[binary_ieeeSyntax.roundTowardNegative_tm, 3070 EX(Apply 3071 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3072 Var("fs",FTy 5)),LN 31,LN 0,F32)]), 3073 [(Mop(Some,iVar"x"), 3074 Call("IntToDWordMIPS",F64,iVar"x")), 3075 (LO iTy,LW(9223372036854775807,64))]))])))) 3076; 3077val dfn'FLOOR_W_D_def = Def 3078 ("dfn'FLOOR_W_D",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 3079 Close 3080 (qVar"state", 3081 ITE(Mop(Not, 3082 Dest 3083 ("CU1",bTy, 3084 Dest 3085 ("Status",CTy"StatusRegister", 3086 Dest("CP0",CTy"CP0",qVar"state")))), 3087 Apply 3088 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 3089 Rupd 3090 ("FGR", 3091 TP[qVar"state", 3092 Fupd 3093 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 3094 CS(Mop(FPToInt 64, 3095 TP[binary_ieeeSyntax.roundTowardNegative_tm, 3096 Apply 3097 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3098 Var("fs",FTy 5))]), 3099 [(Mop(Some,iVar"x"), 3100 Mop(SE F64,Call("IntToWordMIPS",F32,iVar"x"))), 3101 (LO iTy,LW(2147483647,64))]))])))) 3102; 3103val dfn'FLOOR_W_S_def = Def 3104 ("dfn'FLOOR_W_S",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 3105 Close 3106 (qVar"state", 3107 ITE(Mop(Not, 3108 Dest 3109 ("CU1",bTy, 3110 Dest 3111 ("Status",CTy"StatusRegister", 3112 Dest("CP0",CTy"CP0",qVar"state")))), 3113 Apply 3114 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 3115 Rupd 3116 ("FGR", 3117 TP[qVar"state", 3118 Fupd 3119 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 3120 CS(Mop(FPToInt 32, 3121 TP[binary_ieeeSyntax.roundTowardNegative_tm, 3122 EX(Apply 3123 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3124 Var("fs",FTy 5)),LN 31,LN 0,F32)]), 3125 [(Mop(Some,iVar"x"), 3126 Mop(SE F64,Call("IntToWordMIPS",F32,iVar"x"))), 3127 (LO iTy,LW(2147483647,64))]))])))) 3128; 3129val dfn'LDC1_def = Def 3130 ("dfn'LDC1",TP[Var("ft",FTy 5),Var("offset",F16),Var("base",FTy 5)], 3131 Close 3132 (qVar"state", 3133 ITE(Mop(Not, 3134 Dest 3135 ("CU1",bTy, 3136 Dest 3137 ("Status",CTy"StatusRegister", 3138 Dest("CP0",CTy"CP0",qVar"state")))), 3139 Apply 3140 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 3141 Let(TP[Var("v",F64),qVar"s"], 3142 Apply 3143 (Call 3144 ("LoadMemory",ATy(qTy,PTy(F64,qTy)), 3145 TP[Const("DOUBLEWORD",FTy 3), 3146 Const("DOUBLEWORD",FTy 3),LT, 3147 Bop(Add,Mop(SE F64,Var("offset",F16)), 3148 Apply 3149 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)), 3150 qVar"state")),Mop(Some,LF)]),qVar"state"), 3151 ITE(Mop(Not,Dest("exceptionSignalled",bTy,qVar"s")), 3152 Rupd 3153 ("FGR", 3154 TP[qVar"s", 3155 Fupd 3156 (Dest("FGR",ATy(FTy 5,F64),qVar"s"), 3157 Var("ft",FTy 5),Var("v",F64))]),qVar"s"))))) 3158; 3159val dfn'LDXC1_def = Def 3160 ("dfn'LDXC1",TP[Var("fd",FTy 5),Var("index",FTy 5),Var("base",FTy 5)], 3161 Close 3162 (qVar"state", 3163 ITE(Mop(Not, 3164 Dest 3165 ("CU1",bTy, 3166 Dest 3167 ("Status",CTy"StatusRegister", 3168 Dest("CP0",CTy"CP0",qVar"state")))), 3169 Apply 3170 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 3171 Let(TP[Var("v",F64),qVar"s"], 3172 Apply 3173 (Call 3174 ("LoadMemory",ATy(qTy,PTy(F64,qTy)), 3175 TP[Const("DOUBLEWORD",FTy 3), 3176 Const("DOUBLEWORD",FTy 3),LT, 3177 Bop(Add, 3178 Apply 3179 (Call("GPR",ATy(qTy,F64),Var("index",FTy 5)), 3180 qVar"state"), 3181 Apply 3182 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)), 3183 qVar"state")),Mop(Some,LF)]),qVar"state"), 3184 ITE(Mop(Not,Dest("exceptionSignalled",bTy,qVar"s")), 3185 Rupd 3186 ("FGR", 3187 TP[qVar"s", 3188 Fupd 3189 (Dest("FGR",ATy(FTy 5,F64),qVar"s"), 3190 Var("fd",FTy 5),Var("v",F64))]),qVar"s"))))) 3191; 3192val dfn'LWC1_def = Def 3193 ("dfn'LWC1",TP[Var("ft",FTy 5),Var("offset",F16),Var("base",FTy 5)], 3194 Close 3195 (qVar"state", 3196 ITE(Mop(Not, 3197 Dest 3198 ("CU1",bTy, 3199 Dest 3200 ("Status",CTy"StatusRegister", 3201 Dest("CP0",CTy"CP0",qVar"state")))), 3202 Apply 3203 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 3204 Let(Var("v",F64), 3205 Bop(Add,Mop(SE F64,Var("offset",F16)), 3206 Apply 3207 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)), 3208 qVar"state")), 3209 Let(TP[Var("v0",F64),qVar"s"], 3210 Apply 3211 (Call 3212 ("LoadMemory",ATy(qTy,PTy(F64,qTy)), 3213 TP[Const("WORD",FTy 3),Const("WORD",FTy 3),LT, 3214 Var("v",F64),Mop(Some,LF)]),qVar"state"), 3215 ITE(Mop(Not,Dest("exceptionSignalled",bTy,qVar"s")), 3216 Let(Var("v1",FTy 3), 3217 Bop(BXor,EX(Var("v",F64),LN 2,LN 0,FTy 3), 3218 CC[Apply 3219 (Const("BigEndianCPU",ATy(qTy,F1)), 3220 qVar"s"),LW(0,2)]), 3221 Rupd 3222 ("FGR", 3223 TP[qVar"s", 3224 Fupd 3225 (Dest("FGR",ATy(FTy 5,F64),qVar"s"), 3226 Var("ft",FTy 5), 3227 Mop(SE F64, 3228 EX(Var("v0",F64), 3229 Bop(Add,LN 31, 3230 Bop(Mul,LN 8, 3231 Mop(Cast nTy, 3232 Var("v1",FTy 3)))), 3233 Bop(Mul,LN 8, 3234 Mop(Cast nTy,Var("v1",FTy 3))), 3235 F32)))])),qVar"s")))))) 3236; 3237val dfn'LWXC1_def = Def 3238 ("dfn'LWXC1",TP[Var("ft",FTy 5),Var("index",FTy 5),Var("base",FTy 5)], 3239 Close 3240 (qVar"state", 3241 ITE(Mop(Not, 3242 Dest 3243 ("CU1",bTy, 3244 Dest 3245 ("Status",CTy"StatusRegister", 3246 Dest("CP0",CTy"CP0",qVar"state")))), 3247 Apply 3248 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 3249 Let(Var("v",F64), 3250 Bop(Add, 3251 Apply 3252 (Call("GPR",ATy(qTy,F64),Var("index",FTy 5)), 3253 qVar"state"), 3254 Apply 3255 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)), 3256 qVar"state")), 3257 Let(TP[Var("v0",F64),qVar"s"], 3258 Apply 3259 (Call 3260 ("LoadMemory",ATy(qTy,PTy(F64,qTy)), 3261 TP[Const("WORD",FTy 3),Const("WORD",FTy 3),LT, 3262 Var("v",F64),Mop(Some,LF)]),qVar"state"), 3263 ITE(Mop(Not,Dest("exceptionSignalled",bTy,qVar"s")), 3264 Let(Var("v1",FTy 3), 3265 Bop(BXor,EX(Var("v",F64),LN 2,LN 0,FTy 3), 3266 CC[Apply 3267 (Const("BigEndianCPU",ATy(qTy,F1)), 3268 qVar"s"),LW(0,2)]), 3269 Rupd 3270 ("FGR", 3271 TP[qVar"s", 3272 Fupd 3273 (Dest("FGR",ATy(FTy 5,F64),qVar"s"), 3274 Var("ft",FTy 5), 3275 Mop(SE F64, 3276 EX(Var("v0",F64), 3277 Bop(Add,LN 31, 3278 Bop(Mul,LN 8, 3279 Mop(Cast nTy, 3280 Var("v1",FTy 3)))), 3281 Bop(Mul,LN 8, 3282 Mop(Cast nTy,Var("v1",FTy 3))), 3283 F32)))])),qVar"s")))))) 3284; 3285val dfn'MADD_D_def = Def 3286 ("dfn'MADD_D", 3287 TP[Var("fd",FTy 5),Var("fr",FTy 5),Var("fs",FTy 5),Var("ft",FTy 5)], 3288 Close 3289 (qVar"state", 3290 ITE(Mop(Not, 3291 Dest 3292 ("CU1",bTy, 3293 Dest 3294 ("Status",CTy"StatusRegister", 3295 Dest("CP0",CTy"CP0",qVar"state")))), 3296 Apply 3297 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 3298 Rupd 3299 ("FGR", 3300 TP[qVar"state", 3301 Fupd 3302 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 3303 Apply 3304 (Call 3305 ("PostOpF64",ATy(qTy,F64), 3306 Mop(FPAdd 64, 3307 TP[Apply 3308 (Const("Rounding_Mode",ATy(qTy,rTy)), 3309 qVar"state"), 3310 Apply 3311 (Call 3312 ("PostOpF64",ATy(qTy,F64), 3313 Mop(FPMul 64, 3314 TP[Apply 3315 (Const 3316 ("Rounding_Mode", 3317 ATy(qTy,rTy)), 3318 qVar"state"), 3319 Apply 3320 (Dest 3321 ("FGR",ATy(FTy 5,F64), 3322 qVar"state"), 3323 Var("fs",FTy 5)), 3324 Apply 3325 (Dest 3326 ("FGR",ATy(FTy 5,F64), 3327 qVar"state"), 3328 Var("ft",FTy 5))])), 3329 qVar"state"), 3330 Apply 3331 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3332 Var("fr",FTy 5))])),qVar"state"))])))) 3333; 3334val dfn'MADD_S_def = Def 3335 ("dfn'MADD_S", 3336 TP[Var("fd",FTy 5),Var("fr",FTy 5),Var("fs",FTy 5),Var("ft",FTy 5)], 3337 Close 3338 (qVar"state", 3339 ITE(Mop(Not, 3340 Dest 3341 ("CU1",bTy, 3342 Dest 3343 ("Status",CTy"StatusRegister", 3344 Dest("CP0",CTy"CP0",qVar"state")))), 3345 Apply 3346 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 3347 Rupd 3348 ("FGR", 3349 TP[qVar"state", 3350 Fupd 3351 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 3352 Mop(SE F64, 3353 Apply 3354 (Call 3355 ("PostOpF32",ATy(qTy,F32), 3356 Mop(FPAdd 32, 3357 TP[Apply 3358 (Const("Rounding_Mode",ATy(qTy,rTy)), 3359 qVar"state"), 3360 Apply 3361 (Call 3362 ("PostOpF32",ATy(qTy,F32), 3363 Mop(FPMul 32, 3364 TP[Apply 3365 (Const 3366 ("Rounding_Mode", 3367 ATy(qTy,rTy)), 3368 qVar"state"), 3369 EX(Apply 3370 (Dest 3371 ("FGR", 3372 ATy(FTy 5,F64), 3373 qVar"state"), 3374 Var("fs",FTy 5)), 3375 LN 31,LN 0,F32), 3376 EX(Apply 3377 (Dest 3378 ("FGR", 3379 ATy(FTy 5,F64), 3380 qVar"state"), 3381 Var("ft",FTy 5)), 3382 LN 31,LN 0,F32)])), 3383 qVar"state"), 3384 EX(Apply 3385 (Dest 3386 ("FGR",ATy(FTy 5,F64), 3387 qVar"state"),Var("fr",FTy 5)), 3388 LN 31,LN 0,F32)])),qVar"state")))])))) 3389; 3390val dfn'MOV_D_def = Def 3391 ("dfn'MOV_D",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 3392 Close 3393 (qVar"state", 3394 ITE(Mop(Not, 3395 Dest 3396 ("CU1",bTy, 3397 Dest 3398 ("Status",CTy"StatusRegister", 3399 Dest("CP0",CTy"CP0",qVar"state")))), 3400 Apply 3401 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 3402 Rupd 3403 ("FGR", 3404 TP[qVar"state", 3405 Fupd 3406 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 3407 Apply 3408 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3409 Var("fs",FTy 5)))])))) 3410; 3411val dfn'MOV_S_def = Def 3412 ("dfn'MOV_S",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 3413 Close 3414 (qVar"state", 3415 ITE(Mop(Not, 3416 Dest 3417 ("CU1",bTy, 3418 Dest 3419 ("Status",CTy"StatusRegister", 3420 Dest("CP0",CTy"CP0",qVar"state")))), 3421 Apply 3422 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 3423 Rupd 3424 ("FGR", 3425 TP[qVar"state", 3426 Fupd 3427 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 3428 Mop(SE F64, 3429 EX(Apply 3430 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3431 Var("fs",FTy 5)),LN 31,LN 0,F32)))])))) 3432; 3433val dfn'MOVF_def = Def 3434 ("dfn'MOVF",TP[Var("rd",FTy 5),Var("rs",FTy 5),Var("cc",FTy 3)], 3435 Close 3436 (qVar"state", 3437 ITB([(Mop(Not, 3438 Dest 3439 ("CU1",bTy, 3440 Dest 3441 ("Status",CTy"StatusRegister", 3442 Dest("CP0",CTy"CP0",qVar"state")))), 3443 Apply 3444 (Const("SignalCP1UnusableException",ATy(qTy,qTy)), 3445 qVar"state")), 3446 (Mop(Not, 3447 Bop(Bit,Dest("FCC",F8,Dest("fcsr",CTy"FCSR",qVar"state")), 3448 Mop(Cast nTy,Var("cc",FTy 3)))), 3449 Apply 3450 (Call 3451 ("write'GPR",ATy(qTy,qTy), 3452 TP[Apply 3453 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 3454 qVar"state"),Var("rd",FTy 5)]),qVar"state"))], 3455 qVar"state"))) 3456; 3457val dfn'MOVF_D_def = Def 3458 ("dfn'MOVF_D",TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("cc",FTy 3)], 3459 Close 3460 (qVar"state", 3461 ITB([(Mop(Not, 3462 Dest 3463 ("CU1",bTy, 3464 Dest 3465 ("Status",CTy"StatusRegister", 3466 Dest("CP0",CTy"CP0",qVar"state")))), 3467 Apply 3468 (Const("SignalCP1UnusableException",ATy(qTy,qTy)), 3469 qVar"state")), 3470 (Mop(Not, 3471 Bop(Bit,Dest("FCC",F8,Dest("fcsr",CTy"FCSR",qVar"state")), 3472 Mop(Cast nTy,Var("cc",FTy 3)))), 3473 Rupd 3474 ("FGR", 3475 TP[qVar"state", 3476 Fupd 3477 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3478 Var("fd",FTy 5), 3479 Apply 3480 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3481 Var("fs",FTy 5)))]))],qVar"state"))) 3482; 3483val dfn'MOVF_S_def = Def 3484 ("dfn'MOVF_S",TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("cc",FTy 3)], 3485 Close 3486 (qVar"state", 3487 ITB([(Mop(Not, 3488 Dest 3489 ("CU1",bTy, 3490 Dest 3491 ("Status",CTy"StatusRegister", 3492 Dest("CP0",CTy"CP0",qVar"state")))), 3493 Apply 3494 (Const("SignalCP1UnusableException",ATy(qTy,qTy)), 3495 qVar"state")), 3496 (Mop(Not, 3497 Bop(Bit,Dest("FCC",F8,Dest("fcsr",CTy"FCSR",qVar"state")), 3498 Mop(Cast nTy,Var("cc",FTy 3)))), 3499 Rupd 3500 ("FGR", 3501 TP[qVar"state", 3502 Fupd 3503 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3504 Var("fd",FTy 5), 3505 Mop(SE F64, 3506 EX(Apply 3507 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3508 Var("fs",FTy 5)),LN 31,LN 0,F32)))]))], 3509 qVar"state"))) 3510; 3511val dfn'MOVN_D_def = Def 3512 ("dfn'MOVN_D",TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("rt",FTy 5)], 3513 Close 3514 (qVar"state", 3515 ITB([(Mop(Not, 3516 Dest 3517 ("CU1",bTy, 3518 Dest 3519 ("Status",CTy"StatusRegister", 3520 Dest("CP0",CTy"CP0",qVar"state")))), 3521 Apply 3522 (Const("SignalCP1UnusableException",ATy(qTy,qTy)), 3523 qVar"state")), 3524 (Mop(Not, 3525 EQ(Apply 3526 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"), 3527 LW(0,64))), 3528 Rupd 3529 ("FGR", 3530 TP[qVar"state", 3531 Fupd 3532 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3533 Var("fd",FTy 5), 3534 Apply 3535 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3536 Var("fs",FTy 5)))]))],qVar"state"))) 3537; 3538val dfn'MOVN_S_def = Def 3539 ("dfn'MOVN_S",TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("rt",FTy 5)], 3540 Close 3541 (qVar"state", 3542 ITB([(Mop(Not, 3543 Dest 3544 ("CU1",bTy, 3545 Dest 3546 ("Status",CTy"StatusRegister", 3547 Dest("CP0",CTy"CP0",qVar"state")))), 3548 Apply 3549 (Const("SignalCP1UnusableException",ATy(qTy,qTy)), 3550 qVar"state")), 3551 (Mop(Not, 3552 EQ(Apply 3553 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"), 3554 LW(0,64))), 3555 Rupd 3556 ("FGR", 3557 TP[qVar"state", 3558 Fupd 3559 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3560 Var("fd",FTy 5), 3561 Mop(SE F64, 3562 EX(Apply 3563 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3564 Var("fs",FTy 5)),LN 31,LN 0,F32)))]))], 3565 qVar"state"))) 3566; 3567val dfn'MOVT_def = Def 3568 ("dfn'MOVT",TP[Var("rd",FTy 5),Var("rs",FTy 5),Var("cc",FTy 3)], 3569 Close 3570 (qVar"state", 3571 ITB([(Mop(Not, 3572 Dest 3573 ("CU1",bTy, 3574 Dest 3575 ("Status",CTy"StatusRegister", 3576 Dest("CP0",CTy"CP0",qVar"state")))), 3577 Apply 3578 (Const("SignalCP1UnusableException",ATy(qTy,qTy)), 3579 qVar"state")), 3580 (Bop(Bit,Dest("FCC",F8,Dest("fcsr",CTy"FCSR",qVar"state")), 3581 Mop(Cast nTy,Var("cc",FTy 3))), 3582 Apply 3583 (Call 3584 ("write'GPR",ATy(qTy,qTy), 3585 TP[Apply 3586 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 3587 qVar"state"),Var("rd",FTy 5)]),qVar"state"))], 3588 qVar"state"))) 3589; 3590val dfn'MOVT_D_def = Def 3591 ("dfn'MOVT_D",TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("cc",FTy 3)], 3592 Close 3593 (qVar"state", 3594 ITB([(Mop(Not, 3595 Dest 3596 ("CU1",bTy, 3597 Dest 3598 ("Status",CTy"StatusRegister", 3599 Dest("CP0",CTy"CP0",qVar"state")))), 3600 Apply 3601 (Const("SignalCP1UnusableException",ATy(qTy,qTy)), 3602 qVar"state")), 3603 (Bop(Bit,Dest("FCC",F8,Dest("fcsr",CTy"FCSR",qVar"state")), 3604 Mop(Cast nTy,Var("cc",FTy 3))), 3605 Rupd 3606 ("FGR", 3607 TP[qVar"state", 3608 Fupd 3609 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3610 Var("fd",FTy 5), 3611 Apply 3612 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3613 Var("fs",FTy 5)))]))],qVar"state"))) 3614; 3615val dfn'MOVT_S_def = Def 3616 ("dfn'MOVT_S",TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("cc",FTy 3)], 3617 Close 3618 (qVar"state", 3619 ITB([(Mop(Not, 3620 Dest 3621 ("CU1",bTy, 3622 Dest 3623 ("Status",CTy"StatusRegister", 3624 Dest("CP0",CTy"CP0",qVar"state")))), 3625 Apply 3626 (Const("SignalCP1UnusableException",ATy(qTy,qTy)), 3627 qVar"state")), 3628 (Bop(Bit,Dest("FCC",F8,Dest("fcsr",CTy"FCSR",qVar"state")), 3629 Mop(Cast nTy,Var("cc",FTy 3))), 3630 Rupd 3631 ("FGR", 3632 TP[qVar"state", 3633 Fupd 3634 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3635 Var("fd",FTy 5), 3636 Mop(SE F64, 3637 EX(Apply 3638 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3639 Var("fs",FTy 5)),LN 31,LN 0,F32)))]))], 3640 qVar"state"))) 3641; 3642val dfn'MOVZ_D_def = Def 3643 ("dfn'MOVZ_D",TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("rt",FTy 5)], 3644 Close 3645 (qVar"state", 3646 ITB([(Mop(Not, 3647 Dest 3648 ("CU1",bTy, 3649 Dest 3650 ("Status",CTy"StatusRegister", 3651 Dest("CP0",CTy"CP0",qVar"state")))), 3652 Apply 3653 (Const("SignalCP1UnusableException",ATy(qTy,qTy)), 3654 qVar"state")), 3655 (EQ(Apply(Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"), 3656 LW(0,64)), 3657 Rupd 3658 ("FGR", 3659 TP[qVar"state", 3660 Fupd 3661 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3662 Var("fd",FTy 5), 3663 Apply 3664 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3665 Var("fs",FTy 5)))]))],qVar"state"))) 3666; 3667val dfn'MOVZ_S_def = Def 3668 ("dfn'MOVZ_S",TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("rt",FTy 5)], 3669 Close 3670 (qVar"state", 3671 ITB([(Mop(Not, 3672 Dest 3673 ("CU1",bTy, 3674 Dest 3675 ("Status",CTy"StatusRegister", 3676 Dest("CP0",CTy"CP0",qVar"state")))), 3677 Apply 3678 (Const("SignalCP1UnusableException",ATy(qTy,qTy)), 3679 qVar"state")), 3680 (EQ(Apply(Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"), 3681 LW(0,64)), 3682 Rupd 3683 ("FGR", 3684 TP[qVar"state", 3685 Fupd 3686 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3687 Var("fd",FTy 5), 3688 Mop(SE F64, 3689 EX(Apply 3690 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3691 Var("fs",FTy 5)),LN 31,LN 0,F32)))]))], 3692 qVar"state"))) 3693; 3694val dfn'MSUB_D_def = Def 3695 ("dfn'MSUB_D", 3696 TP[Var("fd",FTy 5),Var("fr",FTy 5),Var("fs",FTy 5),Var("ft",FTy 5)], 3697 Close 3698 (qVar"state", 3699 ITE(Mop(Not, 3700 Dest 3701 ("CU1",bTy, 3702 Dest 3703 ("Status",CTy"StatusRegister", 3704 Dest("CP0",CTy"CP0",qVar"state")))), 3705 Apply 3706 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 3707 Rupd 3708 ("FGR", 3709 TP[qVar"state", 3710 Fupd 3711 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 3712 Apply 3713 (Call 3714 ("PostOpF64",ATy(qTy,F64), 3715 Mop(FPSub 64, 3716 TP[Apply 3717 (Const("Rounding_Mode",ATy(qTy,rTy)), 3718 qVar"state"), 3719 Apply 3720 (Call 3721 ("PostOpF64",ATy(qTy,F64), 3722 Mop(FPMul 64, 3723 TP[Apply 3724 (Const 3725 ("Rounding_Mode", 3726 ATy(qTy,rTy)), 3727 qVar"state"), 3728 Apply 3729 (Dest 3730 ("FGR",ATy(FTy 5,F64), 3731 qVar"state"), 3732 Var("fs",FTy 5)), 3733 Apply 3734 (Dest 3735 ("FGR",ATy(FTy 5,F64), 3736 qVar"state"), 3737 Var("ft",FTy 5))])), 3738 qVar"state"), 3739 Apply 3740 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3741 Var("fr",FTy 5))])),qVar"state"))])))) 3742; 3743val dfn'MSUB_S_def = Def 3744 ("dfn'MSUB_S", 3745 TP[Var("fd",FTy 5),Var("fr",FTy 5),Var("fs",FTy 5),Var("ft",FTy 5)], 3746 Close 3747 (qVar"state", 3748 ITE(Mop(Not, 3749 Dest 3750 ("CU1",bTy, 3751 Dest 3752 ("Status",CTy"StatusRegister", 3753 Dest("CP0",CTy"CP0",qVar"state")))), 3754 Apply 3755 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 3756 Rupd 3757 ("FGR", 3758 TP[qVar"state", 3759 Fupd 3760 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 3761 Mop(SE F64, 3762 Apply 3763 (Call 3764 ("PostOpF32",ATy(qTy,F32), 3765 Mop(FPSub 32, 3766 TP[Apply 3767 (Const("Rounding_Mode",ATy(qTy,rTy)), 3768 qVar"state"), 3769 Apply 3770 (Call 3771 ("PostOpF32",ATy(qTy,F32), 3772 Mop(FPMul 32, 3773 TP[Apply 3774 (Const 3775 ("Rounding_Mode", 3776 ATy(qTy,rTy)), 3777 qVar"state"), 3778 EX(Apply 3779 (Dest 3780 ("FGR", 3781 ATy(FTy 5,F64), 3782 qVar"state"), 3783 Var("fs",FTy 5)), 3784 LN 31,LN 0,F32), 3785 EX(Apply 3786 (Dest 3787 ("FGR", 3788 ATy(FTy 5,F64), 3789 qVar"state"), 3790 Var("ft",FTy 5)), 3791 LN 31,LN 0,F32)])), 3792 qVar"state"), 3793 EX(Apply 3794 (Dest 3795 ("FGR",ATy(FTy 5,F64), 3796 qVar"state"),Var("fr",FTy 5)), 3797 LN 31,LN 0,F32)])),qVar"state")))])))) 3798; 3799val dfn'MUL_D_def = Def 3800 ("dfn'MUL_D",TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("ft",FTy 5)], 3801 Close 3802 (qVar"state", 3803 ITE(Mop(Not, 3804 Dest 3805 ("CU1",bTy, 3806 Dest 3807 ("Status",CTy"StatusRegister", 3808 Dest("CP0",CTy"CP0",qVar"state")))), 3809 Apply 3810 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 3811 Rupd 3812 ("FGR", 3813 TP[qVar"state", 3814 Fupd 3815 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 3816 Apply 3817 (Call 3818 ("PostOpF64",ATy(qTy,F64), 3819 Mop(FPMul 64, 3820 TP[Apply 3821 (Const("Rounding_Mode",ATy(qTy,rTy)), 3822 qVar"state"), 3823 Apply 3824 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3825 Var("fs",FTy 5)), 3826 Apply 3827 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3828 Var("ft",FTy 5))])),qVar"state"))])))) 3829; 3830val dfn'MUL_S_def = Def 3831 ("dfn'MUL_S",TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("ft",FTy 5)], 3832 Close 3833 (qVar"state", 3834 ITE(Mop(Not, 3835 Dest 3836 ("CU1",bTy, 3837 Dest 3838 ("Status",CTy"StatusRegister", 3839 Dest("CP0",CTy"CP0",qVar"state")))), 3840 Apply 3841 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 3842 Rupd 3843 ("FGR", 3844 TP[qVar"state", 3845 Fupd 3846 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 3847 Mop(SE F64, 3848 Apply 3849 (Call 3850 ("PostOpF32",ATy(qTy,F32), 3851 Mop(FPMul 32, 3852 TP[Apply 3853 (Const("Rounding_Mode",ATy(qTy,rTy)), 3854 qVar"state"), 3855 EX(Apply 3856 (Dest 3857 ("FGR",ATy(FTy 5,F64), 3858 qVar"state"),Var("fs",FTy 5)), 3859 LN 31,LN 0,F32), 3860 EX(Apply 3861 (Dest 3862 ("FGR",ATy(FTy 5,F64), 3863 qVar"state"),Var("ft",FTy 5)), 3864 LN 31,LN 0,F32)])),qVar"state")))])))) 3865; 3866val dfn'NEG_D_def = Def 3867 ("dfn'NEG_D",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 3868 Close 3869 (qVar"state", 3870 ITB([(Mop(Not, 3871 Dest 3872 ("CU1",bTy, 3873 Dest 3874 ("Status",CTy"StatusRegister", 3875 Dest("CP0",CTy"CP0",qVar"state")))), 3876 Apply 3877 (Const("SignalCP1UnusableException",ATy(qTy,qTy)), 3878 qVar"state")), 3879 (Dest("ABS2008",bTy,Dest("fcsr",CTy"FCSR",qVar"state")), 3880 Rupd 3881 ("FGR", 3882 TP[qVar"state", 3883 Fupd 3884 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3885 Var("fd",FTy 5), 3886 Mop(FPNeg 64, 3887 Apply 3888 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3889 Var("fs",FTy 5))))]))], 3890 Rupd 3891 ("FGR", 3892 TP[qVar"state", 3893 Fupd 3894 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 3895 Apply 3896 (Call 3897 ("PostOpF64",ATy(qTy,F64), 3898 Call 3899 ("FP64_Neg1985",F64, 3900 Apply 3901 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3902 Var("fs",FTy 5)))),qVar"state"))])))) 3903; 3904val dfn'NEG_S_def = Def 3905 ("dfn'NEG_S",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 3906 Close 3907 (qVar"state", 3908 ITB([(Mop(Not, 3909 Dest 3910 ("CU1",bTy, 3911 Dest 3912 ("Status",CTy"StatusRegister", 3913 Dest("CP0",CTy"CP0",qVar"state")))), 3914 Apply 3915 (Const("SignalCP1UnusableException",ATy(qTy,qTy)), 3916 qVar"state")), 3917 (Dest("ABS2008",bTy,Dest("fcsr",CTy"FCSR",qVar"state")), 3918 Rupd 3919 ("FGR", 3920 TP[qVar"state", 3921 Fupd 3922 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3923 Var("fd",FTy 5), 3924 Mop(SE F64, 3925 Mop(FPNeg 32, 3926 EX(Apply 3927 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3928 Var("fs",FTy 5)),LN 31,LN 0,F32))))]))], 3929 Rupd 3930 ("FGR", 3931 TP[qVar"state", 3932 Fupd 3933 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 3934 Mop(SE F64, 3935 Apply 3936 (Call 3937 ("PostOpF32",ATy(qTy,F32), 3938 Call 3939 ("FP32_Neg1985",F32, 3940 EX(Apply 3941 (Dest 3942 ("FGR",ATy(FTy 5,F64),qVar"state"), 3943 Var("fs",FTy 5)),LN 31,LN 0,F32))), 3944 qVar"state")))])))) 3945; 3946val dfn'ROUND_L_D_def = Def 3947 ("dfn'ROUND_L_D",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 3948 Close 3949 (qVar"state", 3950 ITE(Mop(Not, 3951 Dest 3952 ("CU1",bTy, 3953 Dest 3954 ("Status",CTy"StatusRegister", 3955 Dest("CP0",CTy"CP0",qVar"state")))), 3956 Apply 3957 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 3958 Rupd 3959 ("FGR", 3960 TP[qVar"state", 3961 Fupd 3962 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 3963 CS(Mop(FPToInt 64, 3964 TP[binary_ieeeSyntax.roundTiesToEven_tm, 3965 Apply 3966 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3967 Var("fs",FTy 5))]), 3968 [(Mop(Some,iVar"x"), 3969 Call("IntToDWordMIPS",F64,iVar"x")), 3970 (LO iTy,LW(9223372036854775807,64))]))])))) 3971; 3972val dfn'ROUND_L_S_def = Def 3973 ("dfn'ROUND_L_S",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 3974 Close 3975 (qVar"state", 3976 ITE(Mop(Not, 3977 Dest 3978 ("CU1",bTy, 3979 Dest 3980 ("Status",CTy"StatusRegister", 3981 Dest("CP0",CTy"CP0",qVar"state")))), 3982 Apply 3983 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 3984 Rupd 3985 ("FGR", 3986 TP[qVar"state", 3987 Fupd 3988 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 3989 CS(Mop(FPToInt 32, 3990 TP[binary_ieeeSyntax.roundTiesToEven_tm, 3991 EX(Apply 3992 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 3993 Var("fs",FTy 5)),LN 31,LN 0,F32)]), 3994 [(Mop(Some,iVar"x"), 3995 Call("IntToDWordMIPS",F64,iVar"x")), 3996 (LO iTy,LW(9223372036854775807,64))]))])))) 3997; 3998val dfn'ROUND_W_D_def = Def 3999 ("dfn'ROUND_W_D",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 4000 Close 4001 (qVar"state", 4002 ITE(Mop(Not, 4003 Dest 4004 ("CU1",bTy, 4005 Dest 4006 ("Status",CTy"StatusRegister", 4007 Dest("CP0",CTy"CP0",qVar"state")))), 4008 Apply 4009 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 4010 Rupd 4011 ("FGR", 4012 TP[qVar"state", 4013 Fupd 4014 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 4015 CS(Mop(FPToInt 64, 4016 TP[binary_ieeeSyntax.roundTiesToEven_tm, 4017 Apply 4018 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 4019 Var("fs",FTy 5))]), 4020 [(Mop(Some,iVar"x"), 4021 Mop(SE F64,Call("IntToWordMIPS",F32,iVar"x"))), 4022 (LO iTy,LW(2147483647,64))]))])))) 4023; 4024val dfn'ROUND_W_S_def = Def 4025 ("dfn'ROUND_W_S",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 4026 Close 4027 (qVar"state", 4028 ITE(Mop(Not, 4029 Dest 4030 ("CU1",bTy, 4031 Dest 4032 ("Status",CTy"StatusRegister", 4033 Dest("CP0",CTy"CP0",qVar"state")))), 4034 Apply 4035 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 4036 Rupd 4037 ("FGR", 4038 TP[qVar"state", 4039 Fupd 4040 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 4041 CS(Mop(FPToInt 32, 4042 TP[binary_ieeeSyntax.roundTiesToEven_tm, 4043 EX(Apply 4044 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 4045 Var("fs",FTy 5)),LN 31,LN 0,F32)]), 4046 [(Mop(Some,iVar"x"), 4047 Mop(SE F64,Call("IntToWordMIPS",F32,iVar"x"))), 4048 (LO iTy,LW(2147483647,64))]))])))) 4049; 4050val dfn'SDC1_def = Def 4051 ("dfn'SDC1",TP[Var("ft",FTy 5),Var("offset",F16),Var("base",FTy 5)], 4052 Close 4053 (qVar"state", 4054 ITE(Mop(Not, 4055 Dest 4056 ("CU1",bTy, 4057 Dest 4058 ("Status",CTy"StatusRegister", 4059 Dest("CP0",CTy"CP0",qVar"state")))), 4060 Apply 4061 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 4062 Mop(Snd, 4063 Apply 4064 (Call 4065 ("StoreMemory",ATy(qTy,PTy(bTy,qTy)), 4066 TP[Const("DOUBLEWORD",FTy 3), 4067 Const("DOUBLEWORD",FTy 3),LT, 4068 Apply 4069 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 4070 Var("ft",FTy 5)), 4071 Bop(Add,Mop(SE F64,Var("offset",F16)), 4072 Apply 4073 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)), 4074 qVar"state")),LF]),qVar"state"))))) 4075; 4076val dfn'SDXC1_def = Def 4077 ("dfn'SDXC1",TP[Var("fs",FTy 5),Var("index",FTy 5),Var("base",FTy 5)], 4078 Close 4079 (qVar"state", 4080 ITE(Mop(Not, 4081 Dest 4082 ("CU1",bTy, 4083 Dest 4084 ("Status",CTy"StatusRegister", 4085 Dest("CP0",CTy"CP0",qVar"state")))), 4086 Apply 4087 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 4088 Mop(Snd, 4089 Apply 4090 (Call 4091 ("StoreMemory",ATy(qTy,PTy(bTy,qTy)), 4092 TP[Const("DOUBLEWORD",FTy 3), 4093 Const("DOUBLEWORD",FTy 3),LT, 4094 Apply 4095 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 4096 Var("fs",FTy 5)), 4097 Bop(Add, 4098 Apply 4099 (Call("GPR",ATy(qTy,F64),Var("index",FTy 5)), 4100 qVar"state"), 4101 Apply 4102 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)), 4103 qVar"state")),LF]),qVar"state"))))) 4104; 4105val dfn'SQRT_D_def = Def 4106 ("dfn'SQRT_D",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 4107 Close 4108 (qVar"state", 4109 ITE(Mop(Not, 4110 Dest 4111 ("CU1",bTy, 4112 Dest 4113 ("Status",CTy"StatusRegister", 4114 Dest("CP0",CTy"CP0",qVar"state")))), 4115 Apply 4116 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 4117 Rupd 4118 ("FGR", 4119 TP[qVar"state", 4120 Fupd 4121 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 4122 Apply 4123 (Call 4124 ("PostOpF64",ATy(qTy,F64), 4125 Mop(FPSqrt 64, 4126 TP[Apply 4127 (Const("Rounding_Mode",ATy(qTy,rTy)), 4128 qVar"state"), 4129 Apply 4130 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 4131 Var("fs",FTy 5))])),qVar"state"))])))) 4132; 4133val dfn'SQRT_S_def = Def 4134 ("dfn'SQRT_S",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 4135 Close 4136 (qVar"state", 4137 ITE(Mop(Not, 4138 Dest 4139 ("CU1",bTy, 4140 Dest 4141 ("Status",CTy"StatusRegister", 4142 Dest("CP0",CTy"CP0",qVar"state")))), 4143 Apply 4144 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 4145 Rupd 4146 ("FGR", 4147 TP[qVar"state", 4148 Fupd 4149 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 4150 Mop(SE F64, 4151 Apply 4152 (Call 4153 ("PostOpF32",ATy(qTy,F32), 4154 Mop(FPSqrt 32, 4155 TP[Apply 4156 (Const("Rounding_Mode",ATy(qTy,rTy)), 4157 qVar"state"), 4158 EX(Apply 4159 (Dest 4160 ("FGR",ATy(FTy 5,F64), 4161 qVar"state"),Var("fs",FTy 5)), 4162 LN 31,LN 0,F32)])),qVar"state")))])))) 4163; 4164val dfn'SUB_D_def = Def 4165 ("dfn'SUB_D",TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("ft",FTy 5)], 4166 Close 4167 (qVar"state", 4168 ITE(Mop(Not, 4169 Dest 4170 ("CU1",bTy, 4171 Dest 4172 ("Status",CTy"StatusRegister", 4173 Dest("CP0",CTy"CP0",qVar"state")))), 4174 Apply 4175 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 4176 Rupd 4177 ("FGR", 4178 TP[qVar"state", 4179 Fupd 4180 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 4181 Apply 4182 (Call 4183 ("PostOpF64",ATy(qTy,F64), 4184 Mop(FPSub 64, 4185 TP[Apply 4186 (Const("Rounding_Mode",ATy(qTy,rTy)), 4187 qVar"state"), 4188 Apply 4189 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 4190 Var("fs",FTy 5)), 4191 Apply 4192 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 4193 Var("ft",FTy 5))])),qVar"state"))])))) 4194; 4195val dfn'SUB_S_def = Def 4196 ("dfn'SUB_S",TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("ft",FTy 5)], 4197 Close 4198 (qVar"state", 4199 ITE(Mop(Not, 4200 Dest 4201 ("CU1",bTy, 4202 Dest 4203 ("Status",CTy"StatusRegister", 4204 Dest("CP0",CTy"CP0",qVar"state")))), 4205 Apply 4206 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 4207 Rupd 4208 ("FGR", 4209 TP[qVar"state", 4210 Fupd 4211 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 4212 Mop(SE F64, 4213 Apply 4214 (Call 4215 ("PostOpF32",ATy(qTy,F32), 4216 Mop(FPSub 32, 4217 TP[Apply 4218 (Const("Rounding_Mode",ATy(qTy,rTy)), 4219 qVar"state"), 4220 EX(Apply 4221 (Dest 4222 ("FGR",ATy(FTy 5,F64), 4223 qVar"state"),Var("fs",FTy 5)), 4224 LN 31,LN 0,F32), 4225 EX(Apply 4226 (Dest 4227 ("FGR",ATy(FTy 5,F64), 4228 qVar"state"),Var("ft",FTy 5)), 4229 LN 31,LN 0,F32)])),qVar"state")))])))) 4230; 4231val dfn'SWC1_def = Def 4232 ("dfn'SWC1",TP[Var("ft",FTy 5),Var("offset",F16),Var("base",FTy 5)], 4233 Close 4234 (qVar"state", 4235 ITE(Mop(Not, 4236 Dest 4237 ("CU1",bTy, 4238 Dest 4239 ("Status",CTy"StatusRegister", 4240 Dest("CP0",CTy"CP0",qVar"state")))), 4241 Apply 4242 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 4243 Let(Var("v",F64), 4244 Bop(Add,Mop(SE F64,Var("offset",F16)), 4245 Apply 4246 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)), 4247 qVar"state")), 4248 Mop(Snd, 4249 Apply 4250 (Call 4251 ("StoreMemory",ATy(qTy,PTy(bTy,qTy)), 4252 TP[Const("WORD",FTy 3),Const("WORD",FTy 3),LT, 4253 Bop(Lsl, 4254 Apply 4255 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 4256 Var("ft",FTy 5)), 4257 Bop(Mul,LN 8, 4258 Mop(Cast nTy, 4259 Bop(BXor, 4260 EX(Var("v",F64),LN 2,LN 0,FTy 3), 4261 CC[Apply 4262 (Const 4263 ("BigEndianCPU", 4264 ATy(qTy,F1)), 4265 qVar"state"),LW(0,2)])))), 4266 Var("v",F64),LF]),qVar"state")))))) 4267; 4268val dfn'SWXC1_def = Def 4269 ("dfn'SWXC1",TP[Var("ft",FTy 5),Var("index",FTy 5),Var("base",FTy 5)], 4270 Close 4271 (qVar"state", 4272 ITE(Mop(Not, 4273 Dest 4274 ("CU1",bTy, 4275 Dest 4276 ("Status",CTy"StatusRegister", 4277 Dest("CP0",CTy"CP0",qVar"state")))), 4278 Apply 4279 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 4280 Let(Var("v",F64), 4281 Bop(Add, 4282 Apply 4283 (Call("GPR",ATy(qTy,F64),Var("index",FTy 5)), 4284 qVar"state"), 4285 Apply 4286 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)), 4287 qVar"state")), 4288 Mop(Snd, 4289 Apply 4290 (Call 4291 ("StoreMemory",ATy(qTy,PTy(bTy,qTy)), 4292 TP[Const("WORD",FTy 3),Const("WORD",FTy 3),LT, 4293 Bop(Lsl, 4294 Apply 4295 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 4296 Var("ft",FTy 5)), 4297 Bop(Mul,LN 8, 4298 Mop(Cast nTy, 4299 Bop(BXor, 4300 EX(Var("v",F64),LN 2,LN 0,FTy 3), 4301 CC[Apply 4302 (Const 4303 ("BigEndianCPU", 4304 ATy(qTy,F1)), 4305 qVar"state"),LW(0,2)])))), 4306 Var("v",F64),LF]),qVar"state")))))) 4307; 4308val dfn'TRUNC_L_D_def = Def 4309 ("dfn'TRUNC_L_D",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 4310 Close 4311 (qVar"state", 4312 ITE(Mop(Not, 4313 Dest 4314 ("CU1",bTy, 4315 Dest 4316 ("Status",CTy"StatusRegister", 4317 Dest("CP0",CTy"CP0",qVar"state")))), 4318 Apply 4319 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 4320 Rupd 4321 ("FGR", 4322 TP[qVar"state", 4323 Fupd 4324 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 4325 CS(Mop(FPToInt 64, 4326 TP[binary_ieeeSyntax.roundTowardZero_tm, 4327 Apply 4328 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 4329 Var("fs",FTy 5))]), 4330 [(Mop(Some,iVar"x"), 4331 Call("IntToDWordMIPS",F64,iVar"x")), 4332 (LO iTy,LW(9223372036854775807,64))]))])))) 4333; 4334val dfn'TRUNC_L_S_def = Def 4335 ("dfn'TRUNC_L_S",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 4336 Close 4337 (qVar"state", 4338 ITE(Mop(Not, 4339 Dest 4340 ("CU1",bTy, 4341 Dest 4342 ("Status",CTy"StatusRegister", 4343 Dest("CP0",CTy"CP0",qVar"state")))), 4344 Apply 4345 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 4346 Rupd 4347 ("FGR", 4348 TP[qVar"state", 4349 Fupd 4350 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 4351 CS(Mop(FPToInt 32, 4352 TP[binary_ieeeSyntax.roundTowardZero_tm, 4353 EX(Apply 4354 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 4355 Var("fs",FTy 5)),LN 31,LN 0,F32)]), 4356 [(Mop(Some,iVar"x"), 4357 Call("IntToDWordMIPS",F64,iVar"x")), 4358 (LO iTy,LW(9223372036854775807,64))]))])))) 4359; 4360val dfn'TRUNC_W_D_def = Def 4361 ("dfn'TRUNC_W_D",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 4362 Close 4363 (qVar"state", 4364 ITE(Mop(Not, 4365 Dest 4366 ("CU1",bTy, 4367 Dest 4368 ("Status",CTy"StatusRegister", 4369 Dest("CP0",CTy"CP0",qVar"state")))), 4370 Apply 4371 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 4372 Rupd 4373 ("FGR", 4374 TP[qVar"state", 4375 Fupd 4376 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 4377 CS(Mop(FPToInt 64, 4378 TP[binary_ieeeSyntax.roundTowardZero_tm, 4379 Apply 4380 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 4381 Var("fs",FTy 5))]), 4382 [(Mop(Some,iVar"x"), 4383 Mop(SE F64,Call("IntToWordMIPS",F32,iVar"x"))), 4384 (LO iTy,LW(2147483647,64))]))])))) 4385; 4386val dfn'TRUNC_W_S_def = Def 4387 ("dfn'TRUNC_W_S",TP[Var("fd",FTy 5),Var("fs",FTy 5)], 4388 Close 4389 (qVar"state", 4390 ITE(Mop(Not, 4391 Dest 4392 ("CU1",bTy, 4393 Dest 4394 ("Status",CTy"StatusRegister", 4395 Dest("CP0",CTy"CP0",qVar"state")))), 4396 Apply 4397 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 4398 Rupd 4399 ("FGR", 4400 TP[qVar"state", 4401 Fupd 4402 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fd",FTy 5), 4403 CS(Mop(FPToInt 32, 4404 TP[binary_ieeeSyntax.roundTowardZero_tm, 4405 EX(Apply 4406 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 4407 Var("fs",FTy 5)),LN 31,LN 0,F32)]), 4408 [(Mop(Some,iVar"x"), 4409 Mop(SE F64,Call("IntToWordMIPS",F32,iVar"x"))), 4410 (LO iTy,LW(2147483647,64))]))])))) 4411; 4412val dfn'DMFC1_def = Def 4413 ("dfn'DMFC1",TP[Var("rt",FTy 5),Var("fs",FTy 5)], 4414 Close 4415 (qVar"state", 4416 ITE(Mop(Not, 4417 Dest 4418 ("CU1",bTy, 4419 Dest 4420 ("Status",CTy"StatusRegister", 4421 Dest("CP0",CTy"CP0",qVar"state")))), 4422 Apply 4423 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 4424 Apply 4425 (Call 4426 ("write'GPR",ATy(qTy,qTy), 4427 TP[Apply 4428 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 4429 Var("fs",FTy 5)),Var("rt",FTy 5)]),qVar"state")))) 4430; 4431val dfn'DMTC1_def = Def 4432 ("dfn'DMTC1",TP[Var("rt",FTy 5),Var("fs",FTy 5)], 4433 Close 4434 (qVar"state", 4435 ITE(Mop(Not, 4436 Dest 4437 ("CU1",bTy, 4438 Dest 4439 ("Status",CTy"StatusRegister", 4440 Dest("CP0",CTy"CP0",qVar"state")))), 4441 Apply 4442 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 4443 Rupd 4444 ("FGR", 4445 TP[qVar"state", 4446 Fupd 4447 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fs",FTy 5), 4448 Apply 4449 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"))])))) 4450; 4451val dfn'MFC1_def = Def 4452 ("dfn'MFC1",TP[Var("rt",FTy 5),Var("fs",FTy 5)], 4453 Close 4454 (qVar"state", 4455 ITE(Mop(Not, 4456 Dest 4457 ("CU1",bTy, 4458 Dest 4459 ("Status",CTy"StatusRegister", 4460 Dest("CP0",CTy"CP0",qVar"state")))), 4461 Apply 4462 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 4463 Apply 4464 (Call 4465 ("write'GPR",ATy(qTy,qTy), 4466 TP[Mop(SE F64, 4467 EX(Apply 4468 (Dest("FGR",ATy(FTy 5,F64),qVar"state"), 4469 Var("fs",FTy 5)),LN 31,LN 0,F32)), 4470 Var("rt",FTy 5)]),qVar"state")))) 4471; 4472val dfn'MTC1_def = Def 4473 ("dfn'MTC1",TP[Var("rt",FTy 5),Var("fs",FTy 5)], 4474 Close 4475 (qVar"state", 4476 ITE(Mop(Not, 4477 Dest 4478 ("CU1",bTy, 4479 Dest 4480 ("Status",CTy"StatusRegister", 4481 Dest("CP0",CTy"CP0",qVar"state")))), 4482 Apply 4483 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 4484 Rupd 4485 ("FGR", 4486 TP[qVar"state", 4487 Fupd 4488 (Dest("FGR",ATy(FTy 5,F64),qVar"state"),Var("fs",FTy 5), 4489 Mop(SE F64, 4490 EX(Apply 4491 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 4492 qVar"state"),LN 31,LN 0,F32)))])))) 4493; 4494val dfn'CFC1_def = Def 4495 ("dfn'CFC1",TP[Var("rt",FTy 5),Var("fs",FTy 5)], 4496 Close 4497 (qVar"state", 4498 ITE(Mop(Not, 4499 Dest 4500 ("CU1",bTy, 4501 Dest 4502 ("Status",CTy"StatusRegister", 4503 Dest("CP0",CTy"CP0",qVar"state")))), 4504 Apply 4505 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 4506 Let(TP[Var("v",F64),qVar"s"], 4507 CS(Var("fs",FTy 5), 4508 [(LW(0,5), 4509 TP[Mop(SE F64, 4510 Call 4511 ("reg'FIR",F32, 4512 Dest("fir",CTy"FIR",qVar"state"))), 4513 qVar"state"]), 4514 (LW(25,5), 4515 TP[Mop(Cast F64, 4516 Dest 4517 ("FCC",F8,Dest("fcsr",CTy"FCSR",qVar"state"))), 4518 qVar"state"]), 4519 (LW(31,5), 4520 TP[Mop(SE F64, 4521 Call 4522 ("reg'FCSR",F32, 4523 Dest("fcsr",CTy"FCSR",qVar"state"))), 4524 qVar"state"]), 4525 (AVar(FTy 5), 4526 Apply 4527 (Call 4528 ("raise'exception",ATy(qTy,PTy(F64,qTy)), 4529 Call 4530 ("UNPREDICTABLE",CTy"exception", 4531 LS 4532 "Unsupported floating point control register")), 4533 qVar"state"))]), 4534 Apply 4535 (Call 4536 ("write'GPR",ATy(qTy,qTy), 4537 TP[Var("v",F64),Var("rt",FTy 5)]),qVar"s"))))) 4538; 4539val dfn'CTC1_def = Def 4540 ("dfn'CTC1",TP[Var("rt",FTy 5),Var("fs",FTy 5)], 4541 Close 4542 (qVar"state", 4543 ITE(Mop(Not, 4544 Dest 4545 ("CU1",bTy, 4546 Dest 4547 ("Status",CTy"StatusRegister", 4548 Dest("CP0",CTy"CP0",qVar"state")))), 4549 Apply 4550 (Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 4551 CS(Var("fs",FTy 5), 4552 [(LW(0,5),qVar"state"), 4553 (LW(25,5), 4554 Rupd 4555 ("fcsr", 4556 TP[qVar"state", 4557 Rupd 4558 ("FCC", 4559 TP[Dest("fcsr",CTy"FCSR",qVar"state"), 4560 EX(Apply 4561 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 4562 qVar"state"),LN 7,LN 0,F8)])])), 4563 (LW(31,5), 4564 Let(qVar"s", 4565 Rupd 4566 ("fcsr", 4567 TP[qVar"state", 4568 Call 4569 ("write'reg'FCSR",CTy"FCSR", 4570 TP[Dest("fcsr",CTy"FCSR",qVar"state"), 4571 EX(Apply 4572 (Call 4573 ("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 4574 qVar"state"),LN 31,LN 0,F32)])]), 4575 Rupd 4576 ("fcsr", 4577 TP[qVar"s", 4578 Rupd 4579 ("NAN2008", 4580 TP[Dest("fcsr",CTy"FCSR",qVar"s"),LT])]))), 4581 (AVar(FTy 5), 4582 Mop(Snd, 4583 Apply 4584 (Call 4585 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 4586 Call 4587 ("UNPREDICTABLE",CTy"exception", 4588 LS 4589 "Unsupported floating point control register")), 4590 qVar"state")))])))) 4591; 4592val dfn'UnknownFPInstruction_def = Def 4593 ("dfn'UnknownFPInstruction",qVar"state", 4594 ITE(Mop(Not, 4595 Dest 4596 ("CU1",bTy, 4597 Dest 4598 ("Status",CTy"StatusRegister", 4599 Dest("CP0",CTy"CP0",qVar"state")))), 4600 Apply(Const("SignalCP1UnusableException",ATy(qTy,qTy)),qVar"state"), 4601 Apply 4602 (Call 4603 ("SignalException",ATy(qTy,qTy),LC("ResI",CTy"ExceptionType")), 4604 qVar"state"))) 4605; 4606val dfn'ADDI_def = Def 4607 ("dfn'ADDI",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("immediate",F16)], 4608 Close 4609 (qVar"state", 4610 Let(TP[Var("v",F64),qVar"s"], 4611 Let(qVar"s0", 4612 ITE(Call 4613 ("NotWordValue",bTy, 4614 Apply 4615 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 4616 qVar"state")), 4617 Mop(Snd, 4618 Apply 4619 (Call 4620 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 4621 Call 4622 ("UNPREDICTABLE",CTy"exception", 4623 LS"ADDI: NotWordValue")),qVar"state")), 4624 qVar"state"), 4625 TP[Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"s0"), 4626 qVar"s0"]), 4627 Let(Var("v",FTy 33), 4628 Bop(Add,EX(Var("v",F64),LN 32,LN 0,FTy 33), 4629 Mop(SE(FTy 33),Var("immediate",F16))), 4630 ITE(Mop(Not, 4631 EQ(Bop(Bit,Var("v",FTy 33),LN 32), 4632 Bop(Bit,Var("v",FTy 33),LN 31))), 4633 Apply 4634 (Call 4635 ("SignalException",ATy(qTy,qTy), 4636 LC("Ov",CTy"ExceptionType")),qVar"s"), 4637 Apply 4638 (Call 4639 ("write'GPR",ATy(qTy,qTy), 4640 TP[Mop(SE F64,EX(Var("v",FTy 33),LN 31,LN 0,F32)), 4641 Var("rt",FTy 5)]),qVar"s")))))) 4642; 4643val dfn'ADDIU_def = Def 4644 ("dfn'ADDIU",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("immediate",F16)], 4645 Close 4646 (qVar"state", 4647 Let(TP[Var("v",F64),qVar"s"], 4648 Let(qVar"s0", 4649 ITE(Call 4650 ("NotWordValue",bTy, 4651 Apply 4652 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 4653 qVar"state")), 4654 Mop(Snd, 4655 Apply 4656 (Call 4657 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 4658 Call 4659 ("UNPREDICTABLE",CTy"exception", 4660 LS"ADDIU: NotWordValue")),qVar"state")), 4661 qVar"state"), 4662 TP[Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"s0"), 4663 qVar"s0"]), 4664 Apply 4665 (Call 4666 ("write'GPR",ATy(qTy,qTy), 4667 TP[Mop(SE F64, 4668 Bop(Add,EX(Var("v",F64),LN 31,LN 0,F32), 4669 Mop(SE F32,Var("immediate",F16)))), 4670 Var("rt",FTy 5)]),qVar"s")))) 4671; 4672val dfn'DADDI_def = Def 4673 ("dfn'DADDI",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("immediate",F16)], 4674 Close 4675 (qVar"state", 4676 Let(Var("v",FTy 65), 4677 Bop(Add, 4678 Mop(SE(FTy 65), 4679 Apply 4680 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state")), 4681 Mop(SE(FTy 65),Var("immediate",F16))), 4682 ITE(Mop(Not, 4683 EQ(Bop(Bit,Var("v",FTy 65),LN 64), 4684 Bop(Bit,Var("v",FTy 65),LN 63))), 4685 Apply 4686 (Call 4687 ("SignalException",ATy(qTy,qTy), 4688 LC("Ov",CTy"ExceptionType")),qVar"state"), 4689 Apply 4690 (Call 4691 ("write'GPR",ATy(qTy,qTy), 4692 TP[EX(Var("v",FTy 65),LN 63,LN 0,F64),Var("rt",FTy 5)]), 4693 qVar"state"))))) 4694; 4695val dfn'DADDIU_def = Def 4696 ("dfn'DADDIU",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("immediate",F16)], 4697 Close 4698 (qVar"state", 4699 Apply 4700 (Call 4701 ("write'GPR",ATy(qTy,qTy), 4702 TP[Bop(Add, 4703 Apply 4704 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 4705 Mop(SE F64,Var("immediate",F16))),Var("rt",FTy 5)]), 4706 qVar"state"))) 4707; 4708val dfn'SLTI_def = Def 4709 ("dfn'SLTI",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("immediate",F16)], 4710 Close 4711 (qVar"state", 4712 Apply 4713 (Call 4714 ("write'GPR",ATy(qTy,qTy), 4715 TP[Mop(Cast F64, 4716 Bop(Lt, 4717 Apply 4718 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 4719 qVar"state"),Mop(SE F64,Var("immediate",F16)))), 4720 Var("rt",FTy 5)]),qVar"state"))) 4721; 4722val dfn'SLTIU_def = Def 4723 ("dfn'SLTIU",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("immediate",F16)], 4724 Close 4725 (qVar"state", 4726 Apply 4727 (Call 4728 ("write'GPR",ATy(qTy,qTy), 4729 TP[Mop(Cast F64, 4730 Bop(Ult, 4731 Apply 4732 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 4733 qVar"state"),Mop(SE F64,Var("immediate",F16)))), 4734 Var("rt",FTy 5)]),qVar"state"))) 4735; 4736val dfn'ANDI_def = Def 4737 ("dfn'ANDI",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("immediate",F16)], 4738 Close 4739 (qVar"state", 4740 Apply 4741 (Call 4742 ("write'GPR",ATy(qTy,qTy), 4743 TP[Bop(BAnd, 4744 Apply 4745 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 4746 Mop(Cast F64,Var("immediate",F16))),Var("rt",FTy 5)]), 4747 qVar"state"))) 4748; 4749val dfn'ORI_def = Def 4750 ("dfn'ORI",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("immediate",F16)], 4751 Close 4752 (qVar"state", 4753 Apply 4754 (Call 4755 ("write'GPR",ATy(qTy,qTy), 4756 TP[Bop(BOr, 4757 Apply 4758 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 4759 Mop(Cast F64,Var("immediate",F16))),Var("rt",FTy 5)]), 4760 qVar"state"))) 4761; 4762val dfn'XORI_def = Def 4763 ("dfn'XORI",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("immediate",F16)], 4764 Close 4765 (qVar"state", 4766 Apply 4767 (Call 4768 ("write'GPR",ATy(qTy,qTy), 4769 TP[Bop(BXor, 4770 Apply 4771 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 4772 Mop(Cast F64,Var("immediate",F16))),Var("rt",FTy 5)]), 4773 qVar"state"))) 4774; 4775val dfn'LUI_def = Def 4776 ("dfn'LUI",TP[Var("rt",FTy 5),Var("immediate",F16)], 4777 Close 4778 (qVar"state", 4779 Apply 4780 (Call 4781 ("write'GPR",ATy(qTy,qTy), 4782 TP[Mop(SE F64,CC[Var("immediate",F16),LW(0,16)]), 4783 Var("rt",FTy 5)]),qVar"state"))) 4784; 4785val dfn'ADD_def = Def 4786 ("dfn'ADD",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 4787 Close 4788 (qVar"state", 4789 Let(TP[Var("v",F64),qVar"s"], 4790 Let(qVar"s0", 4791 ITE(Bop(Or, 4792 Call 4793 ("NotWordValue",bTy, 4794 Apply 4795 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 4796 qVar"state")), 4797 Call 4798 ("NotWordValue",bTy, 4799 Apply 4800 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 4801 qVar"state"))), 4802 Mop(Snd, 4803 Apply 4804 (Call 4805 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 4806 Call 4807 ("UNPREDICTABLE",CTy"exception", 4808 LS"ADD: NotWordValue")),qVar"state")), 4809 qVar"state"), 4810 TP[Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"s0"), 4811 qVar"s0"]), 4812 Let(Var("v",FTy 33), 4813 Bop(Add,EX(Var("v",F64),LN 32,LN 0,FTy 33), 4814 EX(Apply 4815 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"s"), 4816 LN 32,LN 0,FTy 33)), 4817 ITE(Mop(Not, 4818 EQ(Bop(Bit,Var("v",FTy 33),LN 32), 4819 Bop(Bit,Var("v",FTy 33),LN 31))), 4820 Apply 4821 (Call 4822 ("SignalException",ATy(qTy,qTy), 4823 LC("Ov",CTy"ExceptionType")),qVar"s"), 4824 Apply 4825 (Call 4826 ("write'GPR",ATy(qTy,qTy), 4827 TP[Mop(SE F64,EX(Var("v",FTy 33),LN 31,LN 0,F32)), 4828 Var("rd",FTy 5)]),qVar"s")))))) 4829; 4830val dfn'ADDU_def = Def 4831 ("dfn'ADDU",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 4832 Close 4833 (qVar"state", 4834 Let(TP[Var("v",F64),qVar"s"], 4835 Let(qVar"s0", 4836 ITE(Bop(Or, 4837 Call 4838 ("NotWordValue",bTy, 4839 Apply 4840 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 4841 qVar"state")), 4842 Call 4843 ("NotWordValue",bTy, 4844 Apply 4845 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 4846 qVar"state"))), 4847 Mop(Snd, 4848 Apply 4849 (Call 4850 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 4851 Call 4852 ("UNPREDICTABLE",CTy"exception", 4853 LS"ADDU: NotWordValue")),qVar"state")), 4854 qVar"state"), 4855 TP[Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"s0"), 4856 qVar"s0"]), 4857 Apply 4858 (Call 4859 ("write'GPR",ATy(qTy,qTy), 4860 TP[Mop(SE F64, 4861 Bop(Add,EX(Var("v",F64),LN 31,LN 0,F32), 4862 EX(Apply 4863 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 4864 qVar"s"),LN 31,LN 0,F32))), 4865 Var("rd",FTy 5)]),qVar"s")))) 4866; 4867val dfn'SUB_def = Def 4868 ("dfn'SUB",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 4869 Close 4870 (qVar"state", 4871 Let(TP[Var("v",F64),qVar"s"], 4872 Let(qVar"s0", 4873 ITE(Bop(Or, 4874 Call 4875 ("NotWordValue",bTy, 4876 Apply 4877 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 4878 qVar"state")), 4879 Call 4880 ("NotWordValue",bTy, 4881 Apply 4882 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 4883 qVar"state"))), 4884 Mop(Snd, 4885 Apply 4886 (Call 4887 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 4888 Call 4889 ("UNPREDICTABLE",CTy"exception", 4890 LS"SUB: NotWordValue")),qVar"state")), 4891 qVar"state"), 4892 TP[Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"s0"), 4893 qVar"s0"]), 4894 Let(Var("v",FTy 33), 4895 Bop(Sub,EX(Var("v",F64),LN 32,LN 0,FTy 33), 4896 EX(Apply 4897 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"s"), 4898 LN 32,LN 0,FTy 33)), 4899 ITE(Mop(Not, 4900 EQ(Bop(Bit,Var("v",FTy 33),LN 32), 4901 Bop(Bit,Var("v",FTy 33),LN 31))), 4902 Apply 4903 (Call 4904 ("SignalException",ATy(qTy,qTy), 4905 LC("Ov",CTy"ExceptionType")),qVar"s"), 4906 Apply 4907 (Call 4908 ("write'GPR",ATy(qTy,qTy), 4909 TP[Mop(SE F64,EX(Var("v",FTy 33),LN 31,LN 0,F32)), 4910 Var("rd",FTy 5)]),qVar"s")))))) 4911; 4912val dfn'SUBU_def = Def 4913 ("dfn'SUBU",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 4914 Close 4915 (qVar"state", 4916 Let(TP[Var("v",F64),qVar"s"], 4917 Let(qVar"s0", 4918 ITE(Bop(Or, 4919 Call 4920 ("NotWordValue",bTy, 4921 Apply 4922 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 4923 qVar"state")), 4924 Call 4925 ("NotWordValue",bTy, 4926 Apply 4927 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 4928 qVar"state"))), 4929 Mop(Snd, 4930 Apply 4931 (Call 4932 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 4933 Call 4934 ("UNPREDICTABLE",CTy"exception", 4935 LS"SUBU: NotWordValue")),qVar"state")), 4936 qVar"state"), 4937 TP[Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"s0"), 4938 qVar"s0"]), 4939 Apply 4940 (Call 4941 ("write'GPR",ATy(qTy,qTy), 4942 TP[Mop(SE F64, 4943 Bop(Sub,EX(Var("v",F64),LN 31,LN 0,F32), 4944 EX(Apply 4945 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 4946 qVar"s"),LN 31,LN 0,F32))), 4947 Var("rd",FTy 5)]),qVar"s")))) 4948; 4949val dfn'DADD_def = Def 4950 ("dfn'DADD",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 4951 Close 4952 (qVar"state", 4953 Let(Var("v",FTy 65), 4954 Bop(Add, 4955 Mop(SE(FTy 65), 4956 Apply 4957 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state")), 4958 Mop(SE(FTy 65), 4959 Apply 4960 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"))), 4961 ITE(Mop(Not, 4962 EQ(Bop(Bit,Var("v",FTy 65),LN 64), 4963 Bop(Bit,Var("v",FTy 65),LN 63))), 4964 Apply 4965 (Call 4966 ("SignalException",ATy(qTy,qTy), 4967 LC("Ov",CTy"ExceptionType")),qVar"state"), 4968 Apply 4969 (Call 4970 ("write'GPR",ATy(qTy,qTy), 4971 TP[EX(Var("v",FTy 65),LN 63,LN 0,F64),Var("rd",FTy 5)]), 4972 qVar"state"))))) 4973; 4974val dfn'DADDU_def = Def 4975 ("dfn'DADDU",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 4976 Close 4977 (qVar"state", 4978 Apply 4979 (Call 4980 ("write'GPR",ATy(qTy,qTy), 4981 TP[Bop(Add, 4982 Apply 4983 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 4984 Apply 4985 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state")), 4986 Var("rd",FTy 5)]),qVar"state"))) 4987; 4988val dfn'DSUB_def = Def 4989 ("dfn'DSUB",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 4990 Close 4991 (qVar"state", 4992 Let(Var("v",FTy 65), 4993 Bop(Sub, 4994 Mop(SE(FTy 65), 4995 Apply 4996 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state")), 4997 Mop(SE(FTy 65), 4998 Apply 4999 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"))), 5000 ITE(Mop(Not, 5001 EQ(Bop(Bit,Var("v",FTy 65),LN 64), 5002 Bop(Bit,Var("v",FTy 65),LN 63))), 5003 Apply 5004 (Call 5005 ("SignalException",ATy(qTy,qTy), 5006 LC("Ov",CTy"ExceptionType")),qVar"state"), 5007 Apply 5008 (Call 5009 ("write'GPR",ATy(qTy,qTy), 5010 TP[EX(Var("v",FTy 65),LN 63,LN 0,F64),Var("rd",FTy 5)]), 5011 qVar"state"))))) 5012; 5013val dfn'DSUBU_def = Def 5014 ("dfn'DSUBU",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 5015 Close 5016 (qVar"state", 5017 Apply 5018 (Call 5019 ("write'GPR",ATy(qTy,qTy), 5020 TP[Bop(Sub, 5021 Apply 5022 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 5023 Apply 5024 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state")), 5025 Var("rd",FTy 5)]),qVar"state"))) 5026; 5027val dfn'SLT_def = Def 5028 ("dfn'SLT",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 5029 Close 5030 (qVar"state", 5031 Apply 5032 (Call 5033 ("write'GPR",ATy(qTy,qTy), 5034 TP[Mop(Cast F64, 5035 Bop(Lt, 5036 Apply 5037 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 5038 qVar"state"), 5039 Apply 5040 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 5041 qVar"state"))),Var("rd",FTy 5)]),qVar"state"))) 5042; 5043val dfn'SLTU_def = Def 5044 ("dfn'SLTU",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 5045 Close 5046 (qVar"state", 5047 Apply 5048 (Call 5049 ("write'GPR",ATy(qTy,qTy), 5050 TP[Mop(Cast F64, 5051 Bop(Ult, 5052 Apply 5053 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 5054 qVar"state"), 5055 Apply 5056 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 5057 qVar"state"))),Var("rd",FTy 5)]),qVar"state"))) 5058; 5059val dfn'AND_def = Def 5060 ("dfn'AND",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 5061 Close 5062 (qVar"state", 5063 Apply 5064 (Call 5065 ("write'GPR",ATy(qTy,qTy), 5066 TP[Bop(BAnd, 5067 Apply 5068 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 5069 Apply 5070 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state")), 5071 Var("rd",FTy 5)]),qVar"state"))) 5072; 5073val dfn'OR_def = Def 5074 ("dfn'OR",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 5075 Close 5076 (qVar"state", 5077 Apply 5078 (Call 5079 ("write'GPR",ATy(qTy,qTy), 5080 TP[Bop(BOr, 5081 Apply 5082 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 5083 Apply 5084 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state")), 5085 Var("rd",FTy 5)]),qVar"state"))) 5086; 5087val dfn'XOR_def = Def 5088 ("dfn'XOR",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 5089 Close 5090 (qVar"state", 5091 Apply 5092 (Call 5093 ("write'GPR",ATy(qTy,qTy), 5094 TP[Bop(BXor, 5095 Apply 5096 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 5097 Apply 5098 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state")), 5099 Var("rd",FTy 5)]),qVar"state"))) 5100; 5101val dfn'NOR_def = Def 5102 ("dfn'NOR",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 5103 Close 5104 (qVar"state", 5105 Apply 5106 (Call 5107 ("write'GPR",ATy(qTy,qTy), 5108 TP[Mop(BNot, 5109 Bop(BOr, 5110 Apply 5111 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 5112 qVar"state"), 5113 Apply 5114 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 5115 qVar"state"))),Var("rd",FTy 5)]),qVar"state"))) 5116; 5117val dfn'MOVN_def = Def 5118 ("dfn'MOVN",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 5119 Close 5120 (qVar"state", 5121 ITE(Mop(Not, 5122 EQ(Apply 5123 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"), 5124 LW(0,64))), 5125 Apply 5126 (Call 5127 ("write'GPR",ATy(qTy,qTy), 5128 TP[Apply 5129 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 5130 Var("rd",FTy 5)]),qVar"state"),qVar"state"))) 5131; 5132val dfn'MOVZ_def = Def 5133 ("dfn'MOVZ",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 5134 Close 5135 (qVar"state", 5136 ITE(EQ(Apply(Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"), 5137 LW(0,64)), 5138 Apply 5139 (Call 5140 ("write'GPR",ATy(qTy,qTy), 5141 TP[Apply 5142 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 5143 Var("rd",FTy 5)]),qVar"state"),qVar"state"))) 5144; 5145val dfn'MADD_def = Def 5146 ("dfn'MADD",TP[Var("rs",FTy 5),Var("rt",FTy 5)], 5147 Close 5148 (qVar"state", 5149 Let(TP[Var("v",F64),qVar"s"], 5150 Apply 5151 (Const("HI",ATy(qTy,PTy(F64,qTy))), 5152 ITE(Bop(Or, 5153 Call 5154 ("NotWordValue",bTy, 5155 Apply 5156 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 5157 qVar"state")), 5158 Call 5159 ("NotWordValue",bTy, 5160 Apply 5161 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 5162 qVar"state"))), 5163 Mop(Snd, 5164 Apply 5165 (Call 5166 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 5167 Call 5168 ("UNPREDICTABLE",CTy"exception", 5169 LS"MADD: NotWordValue")),qVar"state")), 5170 qVar"state")), 5171 Let(TP[Var("v",F64),qVar"s"], 5172 Let(TP[Var("v",F64),qVar"s"], 5173 Let(TP[Var("v0",F64),qVar"s"], 5174 Apply(Const("LO",ATy(qTy,PTy(F64,qTy))),qVar"s"), 5175 TP[CC[EX(Var("v",F64),LN 31,LN 0,F32), 5176 EX(Var("v0",F64),LN 31,LN 0,F32)],qVar"s"]), 5177 TP[Bop(Add,Var("v",F64), 5178 Bop(Mul, 5179 Mop(SE F64, 5180 EX(Apply 5181 (Call 5182 ("GPR",ATy(qTy,F64), 5183 Var("rs",FTy 5)),qVar"s"),LN 31, 5184 LN 0,F32)), 5185 Mop(SE F64, 5186 EX(Apply 5187 (Call 5188 ("GPR",ATy(qTy,F64), 5189 Var("rt",FTy 5)),qVar"s"),LN 31, 5190 LN 0,F32)))),qVar"s"]), 5191 Apply 5192 (Call 5193 ("write'LO",ATy(qTy,qTy), 5194 Mop(SE F64,EX(Var("v",F64),LN 31,LN 0,F32))), 5195 Apply 5196 (Call 5197 ("write'HI",ATy(qTy,qTy), 5198 Mop(SE F64,EX(Var("v",F64),LN 63,LN 32,F32))), 5199 qVar"s")))))) 5200; 5201val dfn'MADDU_def = Def 5202 ("dfn'MADDU",TP[Var("rs",FTy 5),Var("rt",FTy 5)], 5203 Close 5204 (qVar"state", 5205 Let(TP[Var("v",F64),qVar"s"], 5206 Apply 5207 (Const("HI",ATy(qTy,PTy(F64,qTy))), 5208 ITE(Bop(Or, 5209 Call 5210 ("NotWordValue",bTy, 5211 Apply 5212 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 5213 qVar"state")), 5214 Call 5215 ("NotWordValue",bTy, 5216 Apply 5217 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 5218 qVar"state"))), 5219 Mop(Snd, 5220 Apply 5221 (Call 5222 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 5223 Call 5224 ("UNPREDICTABLE",CTy"exception", 5225 LS"MADDU: NotWordValue")),qVar"state")), 5226 qVar"state")), 5227 Let(TP[Var("v",F64),qVar"s"], 5228 Let(TP[Var("v",F64),qVar"s"], 5229 Let(TP[Var("v0",F64),qVar"s"], 5230 Apply(Const("LO",ATy(qTy,PTy(F64,qTy))),qVar"s"), 5231 TP[CC[EX(Var("v",F64),LN 31,LN 0,F32), 5232 EX(Var("v0",F64),LN 31,LN 0,F32)],qVar"s"]), 5233 TP[Bop(Add,Var("v",F64), 5234 Bop(Mul, 5235 Mop(Cast F64, 5236 EX(Apply 5237 (Call 5238 ("GPR",ATy(qTy,F64), 5239 Var("rs",FTy 5)),qVar"s"),LN 31, 5240 LN 0,F32)), 5241 Mop(Cast F64, 5242 EX(Apply 5243 (Call 5244 ("GPR",ATy(qTy,F64), 5245 Var("rt",FTy 5)),qVar"s"),LN 31, 5246 LN 0,F32)))),qVar"s"]), 5247 Apply 5248 (Call 5249 ("write'LO",ATy(qTy,qTy), 5250 Mop(SE F64,EX(Var("v",F64),LN 31,LN 0,F32))), 5251 Apply 5252 (Call 5253 ("write'HI",ATy(qTy,qTy), 5254 Mop(SE F64,EX(Var("v",F64),LN 63,LN 32,F32))), 5255 qVar"s")))))) 5256; 5257val dfn'MSUB_def = Def 5258 ("dfn'MSUB",TP[Var("rs",FTy 5),Var("rt",FTy 5)], 5259 Close 5260 (qVar"state", 5261 Let(TP[Var("v",F64),qVar"s"], 5262 Apply 5263 (Const("HI",ATy(qTy,PTy(F64,qTy))), 5264 ITE(Bop(Or, 5265 Call 5266 ("NotWordValue",bTy, 5267 Apply 5268 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 5269 qVar"state")), 5270 Call 5271 ("NotWordValue",bTy, 5272 Apply 5273 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 5274 qVar"state"))), 5275 Mop(Snd, 5276 Apply 5277 (Call 5278 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 5279 Call 5280 ("UNPREDICTABLE",CTy"exception", 5281 LS"MSUB: NotWordValue")),qVar"state")), 5282 qVar"state")), 5283 Let(TP[Var("v",F64),qVar"s"], 5284 Let(TP[Var("v",F64),qVar"s"], 5285 Let(TP[Var("v0",F64),qVar"s"], 5286 Apply(Const("LO",ATy(qTy,PTy(F64,qTy))),qVar"s"), 5287 TP[CC[EX(Var("v",F64),LN 31,LN 0,F32), 5288 EX(Var("v0",F64),LN 31,LN 0,F32)],qVar"s"]), 5289 TP[Bop(Sub,Var("v",F64), 5290 Bop(Mul, 5291 Mop(SE F64, 5292 EX(Apply 5293 (Call 5294 ("GPR",ATy(qTy,F64), 5295 Var("rs",FTy 5)),qVar"s"),LN 31, 5296 LN 0,F32)), 5297 Mop(SE F64, 5298 EX(Apply 5299 (Call 5300 ("GPR",ATy(qTy,F64), 5301 Var("rt",FTy 5)),qVar"s"),LN 31, 5302 LN 0,F32)))),qVar"s"]), 5303 Apply 5304 (Call 5305 ("write'LO",ATy(qTy,qTy), 5306 Mop(SE F64,EX(Var("v",F64),LN 31,LN 0,F32))), 5307 Apply 5308 (Call 5309 ("write'HI",ATy(qTy,qTy), 5310 Mop(SE F64,EX(Var("v",F64),LN 63,LN 32,F32))), 5311 qVar"s")))))) 5312; 5313val dfn'MSUBU_def = Def 5314 ("dfn'MSUBU",TP[Var("rs",FTy 5),Var("rt",FTy 5)], 5315 Close 5316 (qVar"state", 5317 Let(TP[Var("v",F64),qVar"s"], 5318 Apply 5319 (Const("HI",ATy(qTy,PTy(F64,qTy))), 5320 ITE(Bop(Or, 5321 Call 5322 ("NotWordValue",bTy, 5323 Apply 5324 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 5325 qVar"state")), 5326 Call 5327 ("NotWordValue",bTy, 5328 Apply 5329 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 5330 qVar"state"))), 5331 Mop(Snd, 5332 Apply 5333 (Call 5334 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 5335 Call 5336 ("UNPREDICTABLE",CTy"exception", 5337 LS"MSUBU: NotWordValue")),qVar"state")), 5338 qVar"state")), 5339 Let(TP[Var("v",F64),qVar"s"], 5340 Let(TP[Var("v",F64),qVar"s"], 5341 Let(TP[Var("v0",F64),qVar"s"], 5342 Apply(Const("LO",ATy(qTy,PTy(F64,qTy))),qVar"s"), 5343 TP[CC[EX(Var("v",F64),LN 31,LN 0,F32), 5344 EX(Var("v0",F64),LN 31,LN 0,F32)],qVar"s"]), 5345 TP[Bop(Sub,Var("v",F64), 5346 Bop(Mul, 5347 Mop(Cast F64, 5348 EX(Apply 5349 (Call 5350 ("GPR",ATy(qTy,F64), 5351 Var("rs",FTy 5)),qVar"s"),LN 31, 5352 LN 0,F32)), 5353 Mop(Cast F64, 5354 EX(Apply 5355 (Call 5356 ("GPR",ATy(qTy,F64), 5357 Var("rt",FTy 5)),qVar"s"),LN 31, 5358 LN 0,F32)))),qVar"s"]), 5359 Apply 5360 (Call 5361 ("write'LO",ATy(qTy,qTy), 5362 Mop(SE F64,EX(Var("v",F64),LN 31,LN 0,F32))), 5363 Apply 5364 (Call 5365 ("write'HI",ATy(qTy,qTy), 5366 Mop(SE F64,EX(Var("v",F64),LN 63,LN 32,F32))), 5367 qVar"s")))))) 5368; 5369val dfn'MUL_def = Def 5370 ("dfn'MUL",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 5371 Close 5372 (qVar"state", 5373 Let(TP[Var("v",F64),qVar"s"], 5374 Let(qVar"s0", 5375 ITE(Bop(Or, 5376 Call 5377 ("NotWordValue",bTy, 5378 Apply 5379 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 5380 qVar"state")), 5381 Call 5382 ("NotWordValue",bTy, 5383 Apply 5384 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 5385 qVar"state"))), 5386 Mop(Snd, 5387 Apply 5388 (Call 5389 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 5390 Call 5391 ("UNPREDICTABLE",CTy"exception", 5392 LS"MUL: NotWordValue")),qVar"state")), 5393 qVar"state"), 5394 TP[Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"s0"), 5395 qVar"s0"]), 5396 Rupd 5397 ("hi", 5398 TP[Rupd 5399 ("lo", 5400 TP[Apply 5401 (Call 5402 ("write'GPR",ATy(qTy,qTy), 5403 TP[Mop(SE F64, 5404 Bop(Mul, 5405 EX(Var("v",F64),LN 31,LN 0,F32), 5406 EX(Apply 5407 (Call 5408 ("GPR",ATy(qTy,F64), 5409 Var("rt",FTy 5)),qVar"s"), 5410 LN 31,LN 0,F32))), 5411 Var("rd",FTy 5)]),qVar"s"),LO F64]),LO F64])))) 5412; 5413val dfn'MULT_def = Def 5414 ("dfn'MULT",TP[Var("rs",FTy 5),Var("rt",FTy 5)], 5415 Close 5416 (qVar"state", 5417 Let(TP[Var("v",F64),qVar"s"], 5418 Let(qVar"s0", 5419 ITE(Bop(Or, 5420 Call 5421 ("NotWordValue",bTy, 5422 Apply 5423 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 5424 qVar"state")), 5425 Call 5426 ("NotWordValue",bTy, 5427 Apply 5428 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 5429 qVar"state"))), 5430 Mop(Snd, 5431 Apply 5432 (Call 5433 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 5434 Call 5435 ("UNPREDICTABLE",CTy"exception", 5436 LS"MULT: NotWordValue")),qVar"state")), 5437 qVar"state"), 5438 TP[Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"s0"), 5439 qVar"s0"]), 5440 Let(Var("v",F64), 5441 Bop(Mul,Mop(SE F64,EX(Var("v",F64),LN 31,LN 0,F32)), 5442 Mop(SE F64, 5443 EX(Apply 5444 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 5445 qVar"s"),LN 31,LN 0,F32))), 5446 Apply 5447 (Call 5448 ("write'HI",ATy(qTy,qTy), 5449 Mop(SE F64,EX(Var("v",F64),LN 63,LN 32,F32))), 5450 Apply 5451 (Call 5452 ("write'LO",ATy(qTy,qTy), 5453 Mop(SE F64,EX(Var("v",F64),LN 31,LN 0,F32))), 5454 qVar"s")))))) 5455; 5456val dfn'MULTU_def = Def 5457 ("dfn'MULTU",TP[Var("rs",FTy 5),Var("rt",FTy 5)], 5458 Close 5459 (qVar"state", 5460 Let(TP[Var("v",F64),qVar"s"], 5461 Let(qVar"s0", 5462 ITE(Bop(Or, 5463 Call 5464 ("NotWordValue",bTy, 5465 Apply 5466 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 5467 qVar"state")), 5468 Call 5469 ("NotWordValue",bTy, 5470 Apply 5471 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 5472 qVar"state"))), 5473 Mop(Snd, 5474 Apply 5475 (Call 5476 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 5477 Call 5478 ("UNPREDICTABLE",CTy"exception", 5479 LS"MULTU: NotWordValue")),qVar"state")), 5480 qVar"state"), 5481 TP[Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"s0"), 5482 qVar"s0"]), 5483 Let(Var("v",F64), 5484 Bop(Mul,Mop(Cast F64,EX(Var("v",F64),LN 31,LN 0,F32)), 5485 Mop(Cast F64, 5486 EX(Apply 5487 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 5488 qVar"s"),LN 31,LN 0,F32))), 5489 Apply 5490 (Call 5491 ("write'HI",ATy(qTy,qTy), 5492 Mop(SE F64,EX(Var("v",F64),LN 63,LN 32,F32))), 5493 Apply 5494 (Call 5495 ("write'LO",ATy(qTy,qTy), 5496 Mop(SE F64,EX(Var("v",F64),LN 31,LN 0,F32))), 5497 qVar"s")))))) 5498; 5499val dfn'DMULT_def = Def 5500 ("dfn'DMULT",TP[Var("rs",FTy 5),Var("rt",FTy 5)], 5501 Close 5502 (qVar"state", 5503 Let(Var("v",FTy 128), 5504 Bop(Mul, 5505 Mop(SE(FTy 128), 5506 Apply 5507 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state")), 5508 Mop(SE(FTy 128), 5509 Apply 5510 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"))), 5511 Apply 5512 (Call 5513 ("write'HI",ATy(qTy,qTy), 5514 EX(Var("v",FTy 128),LN 127,LN 64,F64)), 5515 Apply 5516 (Call 5517 ("write'LO",ATy(qTy,qTy), 5518 EX(Var("v",FTy 128),LN 63,LN 0,F64)),qVar"state"))))) 5519; 5520val dfn'DMULTU_def = Def 5521 ("dfn'DMULTU",TP[Var("rs",FTy 5),Var("rt",FTy 5)], 5522 Close 5523 (qVar"state", 5524 Let(Var("v",FTy 128), 5525 Bop(Mul, 5526 Mop(Cast(FTy 128), 5527 Apply 5528 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state")), 5529 Mop(Cast(FTy 128), 5530 Apply 5531 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"))), 5532 Apply 5533 (Call 5534 ("write'HI",ATy(qTy,qTy), 5535 EX(Var("v",FTy 128),LN 127,LN 64,F64)), 5536 Apply 5537 (Call 5538 ("write'LO",ATy(qTy,qTy), 5539 EX(Var("v",FTy 128),LN 63,LN 0,F64)),qVar"state"))))) 5540; 5541val dfn'DIV_def = Def 5542 ("dfn'DIV",TP[Var("rs",FTy 5),Var("rt",FTy 5)], 5543 Close 5544 (qVar"state", 5545 Let(Var("v",F64), 5546 Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 5547 Let(Var("v0",F64), 5548 Apply(Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"), 5549 Let(qVar"s1", 5550 ITE(Bop(Or,Call("NotWordValue",bTy,Var("v",F64)), 5551 Call("NotWordValue",bTy,Var("v0",F64))), 5552 Mop(Snd, 5553 Apply 5554 (Call 5555 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 5556 Call 5557 ("UNPREDICTABLE",CTy"exception", 5558 LS"DIV: NotWordValue")),qVar"state")), 5559 qVar"state"), 5560 ITE(EQ(Var("v0",F64),LW(0,64)), 5561 Rupd("hi",TP[Rupd("lo",TP[qVar"s1",LO F64]),LO F64]), 5562 Apply 5563 (Call 5564 ("write'HI",ATy(qTy,qTy), 5565 Mop(SE F64, 5566 Bop(Rem,EX(Var("v",F64),LN 31,LN 0,F32), 5567 EX(Var("v0",F64),LN 31,LN 0,F32)))), 5568 Apply 5569 (Call 5570 ("write'LO",ATy(qTy,qTy), 5571 Mop(SE F64, 5572 Bop(Quot, 5573 EX(Var("v",F64),LN 31,LN 0,F32), 5574 EX(Var("v0",F64),LN 31,LN 0,F32)))), 5575 qVar"s1")))))))) 5576; 5577val dfn'DIVU_def = Def 5578 ("dfn'DIVU",TP[Var("rs",FTy 5),Var("rt",FTy 5)], 5579 Close 5580 (qVar"state", 5581 Let(Var("v",F64), 5582 Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 5583 Let(Var("v0",F64), 5584 Apply(Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"), 5585 Let(qVar"s1", 5586 ITE(Bop(Or,Call("NotWordValue",bTy,Var("v",F64)), 5587 Call("NotWordValue",bTy,Var("v0",F64))), 5588 Mop(Snd, 5589 Apply 5590 (Call 5591 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 5592 Call 5593 ("UNPREDICTABLE",CTy"exception", 5594 LS"DIVU: NotWordValue")),qVar"state")), 5595 qVar"state"), 5596 ITE(EQ(Var("v0",F64),LW(0,64)), 5597 Rupd("hi",TP[Rupd("lo",TP[qVar"s1",LO F64]),LO F64]), 5598 Apply 5599 (Call 5600 ("write'HI",ATy(qTy,qTy), 5601 Mop(SE F64, 5602 Bop(Mod,EX(Var("v",F64),LN 31,LN 0,F32), 5603 EX(Var("v0",F64),LN 31,LN 0,F32)))), 5604 Apply 5605 (Call 5606 ("write'LO",ATy(qTy,qTy), 5607 Mop(SE F64, 5608 Bop(Div, 5609 EX(Var("v",F64),LN 31,LN 0,F32), 5610 EX(Var("v0",F64),LN 31,LN 0,F32)))), 5611 qVar"s1")))))))) 5612; 5613val dfn'DDIV_def = Def 5614 ("dfn'DDIV",TP[Var("rs",FTy 5),Var("rt",FTy 5)], 5615 Close 5616 (qVar"state", 5617 Let(Var("v",F64), 5618 Apply(Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"), 5619 ITE(EQ(Var("v",F64),LW(0,64)), 5620 Rupd("hi",TP[Rupd("lo",TP[qVar"state",LO F64]),LO F64]), 5621 Let(Var("v0",F64), 5622 Apply 5623 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 5624 Apply 5625 (Call 5626 ("write'HI",ATy(qTy,qTy), 5627 Bop(Rem,Var("v0",F64),Var("v",F64))), 5628 Apply 5629 (Call 5630 ("write'LO",ATy(qTy,qTy), 5631 Bop(Quot,Var("v0",F64),Var("v",F64))), 5632 qVar"state"))))))) 5633; 5634val dfn'DDIVU_def = Def 5635 ("dfn'DDIVU",TP[Var("rs",FTy 5),Var("rt",FTy 5)], 5636 Close 5637 (qVar"state", 5638 Let(Var("v",F64), 5639 Apply(Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"), 5640 ITE(EQ(Var("v",F64),LW(0,64)), 5641 Rupd("hi",TP[Rupd("lo",TP[qVar"state",LO F64]),LO F64]), 5642 Let(Var("v0",F64), 5643 Apply 5644 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 5645 Apply 5646 (Call 5647 ("write'HI",ATy(qTy,qTy), 5648 Bop(Mod,Var("v0",F64),Var("v",F64))), 5649 Apply 5650 (Call 5651 ("write'LO",ATy(qTy,qTy), 5652 Bop(Div,Var("v0",F64),Var("v",F64))), 5653 qVar"state"))))))) 5654; 5655val dfn'MFHI_def = Def 5656 ("dfn'MFHI",Var("rd",FTy 5), 5657 Close 5658 (qVar"state", 5659 Let(TP[Var("v",F64),qVar"s"], 5660 Apply(Const("HI",ATy(qTy,PTy(F64,qTy))),qVar"state"), 5661 Apply 5662 (Call 5663 ("write'GPR",ATy(qTy,qTy),TP[Var("v",F64),Var("rd",FTy 5)]), 5664 qVar"s")))) 5665; 5666val dfn'MFLO_def = Def 5667 ("dfn'MFLO",Var("rd",FTy 5), 5668 Close 5669 (qVar"state", 5670 Let(TP[Var("v",F64),qVar"s"], 5671 Apply(Const("LO",ATy(qTy,PTy(F64,qTy))),qVar"state"), 5672 Apply 5673 (Call 5674 ("write'GPR",ATy(qTy,qTy),TP[Var("v",F64),Var("rd",FTy 5)]), 5675 qVar"s")))) 5676; 5677val dfn'MTHI_def = Def 5678 ("dfn'MTHI",Var("rs",FTy 5), 5679 Close 5680 (qVar"state", 5681 Apply 5682 (Call 5683 ("write'HI",ATy(qTy,qTy), 5684 Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state")), 5685 qVar"state"))) 5686; 5687val dfn'MTLO_def = Def 5688 ("dfn'MTLO",Var("rs",FTy 5), 5689 Close 5690 (qVar"state", 5691 Apply 5692 (Call 5693 ("write'LO",ATy(qTy,qTy), 5694 Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state")), 5695 qVar"state"))) 5696; 5697val dfn'SLL_def = Def 5698 ("dfn'SLL",TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("sa",FTy 5)], 5699 Close 5700 (qVar"state", 5701 Apply 5702 (Call 5703 ("write'GPR",ATy(qTy,qTy), 5704 TP[Mop(SE F64, 5705 Bop(Lsl, 5706 EX(Apply 5707 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 5708 qVar"state"),LN 31,LN 0,F32), 5709 Mop(Cast nTy,Var("sa",FTy 5)))),Var("rd",FTy 5)]), 5710 qVar"state"))) 5711; 5712val dfn'SRL_def = Def 5713 ("dfn'SRL",TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("sa",FTy 5)], 5714 Close 5715 (qVar"state", 5716 Let(TP[Var("v",F64),qVar"s"], 5717 Let(qVar"s0", 5718 ITE(Call 5719 ("NotWordValue",bTy, 5720 Apply 5721 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 5722 qVar"state")), 5723 Mop(Snd, 5724 Apply 5725 (Call 5726 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 5727 Call 5728 ("UNPREDICTABLE",CTy"exception", 5729 LS"SRL: NotWordValue")),qVar"state")), 5730 qVar"state"), 5731 TP[Apply(Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"s0"), 5732 qVar"s0"]), 5733 Apply 5734 (Call 5735 ("write'GPR",ATy(qTy,qTy), 5736 TP[Mop(SE F64, 5737 Bop(Lsr,EX(Var("v",F64),LN 31,LN 0,F32), 5738 Mop(Cast nTy,Var("sa",FTy 5)))),Var("rd",FTy 5)]), 5739 qVar"s")))) 5740; 5741val dfn'SRA_def = Def 5742 ("dfn'SRA",TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("sa",FTy 5)], 5743 Close 5744 (qVar"state", 5745 Let(TP[Var("v",F64),qVar"s"], 5746 Let(qVar"s0", 5747 ITE(Call 5748 ("NotWordValue",bTy, 5749 Apply 5750 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 5751 qVar"state")), 5752 Mop(Snd, 5753 Apply 5754 (Call 5755 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 5756 Call 5757 ("UNPREDICTABLE",CTy"exception", 5758 LS"SRA: NotWordValue")),qVar"state")), 5759 qVar"state"), 5760 TP[Apply(Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"s0"), 5761 qVar"s0"]), 5762 Apply 5763 (Call 5764 ("write'GPR",ATy(qTy,qTy), 5765 TP[Mop(SE F64, 5766 Bop(Asr,EX(Var("v",F64),LN 31,LN 0,F32), 5767 Mop(Cast nTy,Var("sa",FTy 5)))),Var("rd",FTy 5)]), 5768 qVar"s")))) 5769; 5770val dfn'SLLV_def = Def 5771 ("dfn'SLLV",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 5772 Close 5773 (qVar"state", 5774 Apply 5775 (Call 5776 ("write'GPR",ATy(qTy,qTy), 5777 TP[Mop(SE F64, 5778 Bop(Lsl, 5779 EX(Apply 5780 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 5781 qVar"state"),LN 31,LN 0,F32), 5782 Mop(Cast nTy, 5783 EX(Apply 5784 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 5785 qVar"state"),LN 4,LN 0,FTy 5)))), 5786 Var("rd",FTy 5)]),qVar"state"))) 5787; 5788val dfn'SRLV_def = Def 5789 ("dfn'SRLV",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 5790 Close 5791 (qVar"state", 5792 Let(TP[Var("v",F64),qVar"s"], 5793 Let(qVar"s0", 5794 ITE(Call 5795 ("NotWordValue",bTy, 5796 Apply 5797 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 5798 qVar"state")), 5799 Mop(Snd, 5800 Apply 5801 (Call 5802 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 5803 Call 5804 ("UNPREDICTABLE",CTy"exception", 5805 LS"SRLV: NotWordValue")),qVar"state")), 5806 qVar"state"), 5807 TP[Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"s0"), 5808 qVar"s0"]), 5809 Apply 5810 (Call 5811 ("write'GPR",ATy(qTy,qTy), 5812 TP[Mop(SE F64, 5813 Bop(Lsr, 5814 EX(Apply 5815 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 5816 qVar"s"),LN 31,LN 0,F32), 5817 Mop(Cast nTy,EX(Var("v",F64),LN 4,LN 0,FTy 5)))), 5818 Var("rd",FTy 5)]),qVar"s")))) 5819; 5820val dfn'SRAV_def = Def 5821 ("dfn'SRAV",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 5822 Close 5823 (qVar"state", 5824 Let(TP[Var("v",F64),qVar"s"], 5825 Let(qVar"s0", 5826 ITE(Call 5827 ("NotWordValue",bTy, 5828 Apply 5829 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 5830 qVar"state")), 5831 Mop(Snd, 5832 Apply 5833 (Call 5834 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 5835 Call 5836 ("UNPREDICTABLE",CTy"exception", 5837 LS"SRAV: NotWordValue")),qVar"state")), 5838 qVar"state"), 5839 TP[Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"s0"), 5840 qVar"s0"]), 5841 Apply 5842 (Call 5843 ("write'GPR",ATy(qTy,qTy), 5844 TP[Mop(SE F64, 5845 Bop(Asr, 5846 EX(Apply 5847 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 5848 qVar"s"),LN 31,LN 0,F32), 5849 Mop(Cast nTy,EX(Var("v",F64),LN 4,LN 0,FTy 5)))), 5850 Var("rd",FTy 5)]),qVar"s")))) 5851; 5852val dfn'DSLL_def = Def 5853 ("dfn'DSLL",TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("sa",FTy 5)], 5854 Close 5855 (qVar"state", 5856 Apply 5857 (Call 5858 ("write'GPR",ATy(qTy,qTy), 5859 TP[Bop(Lsl, 5860 Apply 5861 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"), 5862 Mop(Cast nTy,Var("sa",FTy 5))),Var("rd",FTy 5)]), 5863 qVar"state"))) 5864; 5865val dfn'DSRL_def = Def 5866 ("dfn'DSRL",TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("sa",FTy 5)], 5867 Close 5868 (qVar"state", 5869 Apply 5870 (Call 5871 ("write'GPR",ATy(qTy,qTy), 5872 TP[Bop(Lsr, 5873 Apply 5874 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"), 5875 Mop(Cast nTy,Var("sa",FTy 5))),Var("rd",FTy 5)]), 5876 qVar"state"))) 5877; 5878val dfn'DSRA_def = Def 5879 ("dfn'DSRA",TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("sa",FTy 5)], 5880 Close 5881 (qVar"state", 5882 Apply 5883 (Call 5884 ("write'GPR",ATy(qTy,qTy), 5885 TP[Bop(Asr, 5886 Apply 5887 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"), 5888 Mop(Cast nTy,Var("sa",FTy 5))),Var("rd",FTy 5)]), 5889 qVar"state"))) 5890; 5891val dfn'DSLLV_def = Def 5892 ("dfn'DSLLV",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 5893 Close 5894 (qVar"state", 5895 Apply 5896 (Call 5897 ("write'GPR",ATy(qTy,qTy), 5898 TP[Bop(Lsl, 5899 Apply 5900 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"), 5901 Mop(Cast nTy, 5902 EX(Apply 5903 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 5904 qVar"state"),LN 5,LN 0,FTy 6))), 5905 Var("rd",FTy 5)]),qVar"state"))) 5906; 5907val dfn'DSRLV_def = Def 5908 ("dfn'DSRLV",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 5909 Close 5910 (qVar"state", 5911 Apply 5912 (Call 5913 ("write'GPR",ATy(qTy,qTy), 5914 TP[Bop(Lsr, 5915 Apply 5916 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"), 5917 Mop(Cast nTy, 5918 EX(Apply 5919 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 5920 qVar"state"),LN 5,LN 0,FTy 6))), 5921 Var("rd",FTy 5)]),qVar"state"))) 5922; 5923val dfn'DSRAV_def = Def 5924 ("dfn'DSRAV",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 5925 Close 5926 (qVar"state", 5927 Apply 5928 (Call 5929 ("write'GPR",ATy(qTy,qTy), 5930 TP[Bop(Asr, 5931 Apply 5932 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"), 5933 Mop(Cast nTy, 5934 EX(Apply 5935 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 5936 qVar"state"),LN 5,LN 0,FTy 6))), 5937 Var("rd",FTy 5)]),qVar"state"))) 5938; 5939val dfn'DSLL32_def = Def 5940 ("dfn'DSLL32",TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("sa",FTy 5)], 5941 Close 5942 (qVar"state", 5943 Apply 5944 (Call 5945 ("write'GPR",ATy(qTy,qTy), 5946 TP[Bop(Lsl, 5947 Apply 5948 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"), 5949 Bop(Add,Mop(Cast nTy,Var("sa",FTy 5)),LN 32)), 5950 Var("rd",FTy 5)]),qVar"state"))) 5951; 5952val dfn'DSRL32_def = Def 5953 ("dfn'DSRL32",TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("sa",FTy 5)], 5954 Close 5955 (qVar"state", 5956 Apply 5957 (Call 5958 ("write'GPR",ATy(qTy,qTy), 5959 TP[Bop(Lsr, 5960 Apply 5961 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"), 5962 Bop(Add,Mop(Cast nTy,Var("sa",FTy 5)),LN 32)), 5963 Var("rd",FTy 5)]),qVar"state"))) 5964; 5965val dfn'DSRA32_def = Def 5966 ("dfn'DSRA32",TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("sa",FTy 5)], 5967 Close 5968 (qVar"state", 5969 Apply 5970 (Call 5971 ("write'GPR",ATy(qTy,qTy), 5972 TP[Bop(Asr, 5973 Apply 5974 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"), 5975 Bop(Add,Mop(Cast nTy,Var("sa",FTy 5)),LN 32)), 5976 Var("rd",FTy 5)]),qVar"state"))) 5977; 5978val dfn'TGE_def = Def 5979 ("dfn'TGE",TP[Var("rs",FTy 5),Var("rt",FTy 5)], 5980 Close 5981 (qVar"state", 5982 ITE(Bop(Ge, 5983 Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 5984 Apply(Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state")), 5985 Apply 5986 (Call 5987 ("SignalException",ATy(qTy,qTy),LC("Tr",CTy"ExceptionType")), 5988 qVar"state"),qVar"state"))) 5989; 5990val dfn'TGEU_def = Def 5991 ("dfn'TGEU",TP[Var("rs",FTy 5),Var("rt",FTy 5)], 5992 Close 5993 (qVar"state", 5994 ITE(Bop(Uge, 5995 Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 5996 Apply(Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state")), 5997 Apply 5998 (Call 5999 ("SignalException",ATy(qTy,qTy),LC("Tr",CTy"ExceptionType")), 6000 qVar"state"),qVar"state"))) 6001; 6002val dfn'TLT_def = Def 6003 ("dfn'TLT",TP[Var("rs",FTy 5),Var("rt",FTy 5)], 6004 Close 6005 (qVar"state", 6006 ITE(Bop(Lt, 6007 Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 6008 Apply(Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state")), 6009 Apply 6010 (Call 6011 ("SignalException",ATy(qTy,qTy),LC("Tr",CTy"ExceptionType")), 6012 qVar"state"),qVar"state"))) 6013; 6014val dfn'TLTU_def = Def 6015 ("dfn'TLTU",TP[Var("rs",FTy 5),Var("rt",FTy 5)], 6016 Close 6017 (qVar"state", 6018 ITE(Bop(Ult, 6019 Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 6020 Apply(Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state")), 6021 Apply 6022 (Call 6023 ("SignalException",ATy(qTy,qTy),LC("Tr",CTy"ExceptionType")), 6024 qVar"state"),qVar"state"))) 6025; 6026val dfn'TEQ_def = Def 6027 ("dfn'TEQ",TP[Var("rs",FTy 5),Var("rt",FTy 5)], 6028 Close 6029 (qVar"state", 6030 ITE(EQ(Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 6031 Apply(Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state")), 6032 Apply 6033 (Call 6034 ("SignalException",ATy(qTy,qTy),LC("Tr",CTy"ExceptionType")), 6035 qVar"state"),qVar"state"))) 6036; 6037val dfn'TNE_def = Def 6038 ("dfn'TNE",TP[Var("rs",FTy 5),Var("rt",FTy 5)], 6039 Close 6040 (qVar"state", 6041 ITE(Mop(Not, 6042 EQ(Apply 6043 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 6044 Apply 6045 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"))), 6046 Apply 6047 (Call 6048 ("SignalException",ATy(qTy,qTy),LC("Tr",CTy"ExceptionType")), 6049 qVar"state"),qVar"state"))) 6050; 6051val dfn'TGEI_def = Def 6052 ("dfn'TGEI",TP[Var("rs",FTy 5),Var("immediate",F16)], 6053 Close 6054 (qVar"state", 6055 ITE(Bop(Ge, 6056 Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 6057 Mop(SE F64,Var("immediate",F16))), 6058 Apply 6059 (Call 6060 ("SignalException",ATy(qTy,qTy),LC("Tr",CTy"ExceptionType")), 6061 qVar"state"),qVar"state"))) 6062; 6063val dfn'TGEIU_def = Def 6064 ("dfn'TGEIU",TP[Var("rs",FTy 5),Var("immediate",F16)], 6065 Close 6066 (qVar"state", 6067 ITE(Bop(Uge, 6068 Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 6069 Mop(SE F64,Var("immediate",F16))), 6070 Apply 6071 (Call 6072 ("SignalException",ATy(qTy,qTy),LC("Tr",CTy"ExceptionType")), 6073 qVar"state"),qVar"state"))) 6074; 6075val dfn'TLTI_def = Def 6076 ("dfn'TLTI",TP[Var("rs",FTy 5),Var("immediate",F16)], 6077 Close 6078 (qVar"state", 6079 ITE(Bop(Lt, 6080 Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 6081 Mop(SE F64,Var("immediate",F16))), 6082 Apply 6083 (Call 6084 ("SignalException",ATy(qTy,qTy),LC("Tr",CTy"ExceptionType")), 6085 qVar"state"),qVar"state"))) 6086; 6087val dfn'TLTIU_def = Def 6088 ("dfn'TLTIU",TP[Var("rs",FTy 5),Var("immediate",F16)], 6089 Close 6090 (qVar"state", 6091 ITE(Bop(Ult, 6092 Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 6093 Mop(SE F64,Var("immediate",F16))), 6094 Apply 6095 (Call 6096 ("SignalException",ATy(qTy,qTy),LC("Tr",CTy"ExceptionType")), 6097 qVar"state"),qVar"state"))) 6098; 6099val dfn'TEQI_def = Def 6100 ("dfn'TEQI",TP[Var("rs",FTy 5),Var("immediate",F16)], 6101 Close 6102 (qVar"state", 6103 ITE(EQ(Apply(Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 6104 Mop(SE F64,Var("immediate",F16))), 6105 Apply 6106 (Call 6107 ("SignalException",ATy(qTy,qTy),LC("Tr",CTy"ExceptionType")), 6108 qVar"state"),qVar"state"))) 6109; 6110val dfn'TNEI_def = Def 6111 ("dfn'TNEI",TP[Var("rs",FTy 5),Var("immediate",F16)], 6112 Close 6113 (qVar"state", 6114 ITE(Mop(Not, 6115 EQ(Apply 6116 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 6117 Mop(SE F64,Var("immediate",F16)))), 6118 Apply 6119 (Call 6120 ("SignalException",ATy(qTy,qTy),LC("Tr",CTy"ExceptionType")), 6121 qVar"state"),qVar"state"))) 6122; 6123val dfn'LB_def = Def 6124 ("dfn'LB",TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 6125 Close 6126 (qVar"state", 6127 Apply 6128 (Call 6129 ("loadByte",ATy(qTy,qTy), 6130 TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16),LF]), 6131 qVar"state"))) 6132; 6133val dfn'LBU_def = Def 6134 ("dfn'LBU",TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 6135 Close 6136 (qVar"state", 6137 Apply 6138 (Call 6139 ("loadByte",ATy(qTy,qTy), 6140 TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16),LT]), 6141 qVar"state"))) 6142; 6143val dfn'LH_def = Def 6144 ("dfn'LH",TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 6145 Close 6146 (qVar"state", 6147 Apply 6148 (Call 6149 ("loadHalf",ATy(qTy,qTy), 6150 TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16),LF]), 6151 qVar"state"))) 6152; 6153val dfn'LHU_def = Def 6154 ("dfn'LHU",TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 6155 Close 6156 (qVar"state", 6157 Apply 6158 (Call 6159 ("loadHalf",ATy(qTy,qTy), 6160 TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16),LT]), 6161 qVar"state"))) 6162; 6163val dfn'LW_def = Def 6164 ("dfn'LW",TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 6165 Close 6166 (qVar"state", 6167 Apply 6168 (Call 6169 ("loadWord",ATy(qTy,qTy), 6170 TP[LF,Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16),LF]), 6171 qVar"state"))) 6172; 6173val dfn'LWU_def = Def 6174 ("dfn'LWU",TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 6175 Close 6176 (qVar"state", 6177 Apply 6178 (Call 6179 ("loadWord",ATy(qTy,qTy), 6180 TP[LF,Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16),LT]), 6181 qVar"state"))) 6182; 6183val dfn'LL_def = Def 6184 ("dfn'LL",TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 6185 Close 6186 (qVar"state", 6187 Apply 6188 (Call 6189 ("loadWord",ATy(qTy,qTy), 6190 TP[LT,Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16),LF]), 6191 qVar"state"))) 6192; 6193val dfn'LD_def = Def 6194 ("dfn'LD",TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 6195 Close 6196 (qVar"state", 6197 Apply 6198 (Call 6199 ("loadDoubleword",ATy(qTy,qTy), 6200 TP[LF,Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)]), 6201 qVar"state"))) 6202; 6203val dfn'LLD_def = Def 6204 ("dfn'LLD",TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 6205 Close 6206 (qVar"state", 6207 Apply 6208 (Call 6209 ("loadDoubleword",ATy(qTy,qTy), 6210 TP[LT,Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)]), 6211 qVar"state"))) 6212; 6213val dfn'LWL_def = Def 6214 ("dfn'LWL",TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 6215 Close 6216 (qVar"state", 6217 Let(Var("v",F64), 6218 Bop(Add,Mop(SE F64,Var("offset",F16)), 6219 Apply 6220 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)),qVar"state")), 6221 Let(Var("v0",FTy 2), 6222 Bop(BXor,EX(Var("v",F64),LN 1,LN 0,FTy 2), 6223 REP(Apply(Const("BigEndianCPU",ATy(qTy,F1)),qVar"state"), 6224 LN 2,FTy 2)), 6225 Let(TP[Var("v1",F64),qVar"s"], 6226 Apply 6227 (Call 6228 ("LoadMemory",ATy(qTy,PTy(F64,qTy)), 6229 TP[Const("WORD",FTy 3), 6230 CC[LW(0,1),Var("v0",FTy 2)],LF,Var("v",F64), 6231 Mop(Some,LF)]),qVar"state"), 6232 ITE(Mop(Not,Dest("exceptionSignalled",bTy,qVar"s")), 6233 Let(TP[Var("v",F32),qVar"s"], 6234 CS(TP[Bop(BXor,EX(Var("v",F64),LN 2,LN 2,F1), 6235 Apply 6236 (Const("BigEndianCPU",ATy(qTy,F1)), 6237 qVar"s")),Var("v0",FTy 2)], 6238 [(TP[LW(0,1),LW(0,2)], 6239 TP[CC[EX(Var("v1",F64),LN 7,LN 0,F8), 6240 EX(Apply 6241 (Call 6242 ("GPR",ATy(qTy,F64), 6243 Var("rt",FTy 5)),qVar"s"), 6244 LN 23,LN 0,FTy 24)],qVar"s"]), 6245 (TP[LW(0,1),LW(1,2)], 6246 TP[CC[EX(Var("v1",F64),LN 15,LN 0,F16), 6247 EX(Apply 6248 (Call 6249 ("GPR",ATy(qTy,F64), 6250 Var("rt",FTy 5)),qVar"s"), 6251 LN 15,LN 0,F16)],qVar"s"]), 6252 (TP[LW(0,1),LW(2,2)], 6253 TP[CC[EX(Var("v1",F64),LN 23,LN 0,FTy 24), 6254 EX(Apply 6255 (Call 6256 ("GPR",ATy(qTy,F64), 6257 Var("rt",FTy 5)),qVar"s"), 6258 LN 7,LN 0,F8)],qVar"s"]), 6259 (TP[LW(0,1),LW(3,2)], 6260 TP[EX(Var("v1",F64),LN 31,LN 0,F32),qVar"s"]), 6261 (TP[LW(1,1),LW(0,2)], 6262 TP[CC[EX(Var("v1",F64),LN 39,LN 32,F8), 6263 EX(Apply 6264 (Call 6265 ("GPR",ATy(qTy,F64), 6266 Var("rt",FTy 5)),qVar"s"), 6267 LN 23,LN 0,FTy 24)],qVar"s"]), 6268 (TP[LW(1,1),LW(1,2)], 6269 TP[CC[EX(Var("v1",F64),LN 47,LN 32,F16), 6270 EX(Apply 6271 (Call 6272 ("GPR",ATy(qTy,F64), 6273 Var("rt",FTy 5)),qVar"s"), 6274 LN 15,LN 0,F16)],qVar"s"]), 6275 (TP[LW(1,1),LW(2,2)], 6276 TP[CC[EX(Var("v1",F64),LN 55,LN 32,FTy 24), 6277 EX(Apply 6278 (Call 6279 ("GPR",ATy(qTy,F64), 6280 Var("rt",FTy 5)),qVar"s"), 6281 LN 7,LN 0,F8)],qVar"s"]), 6282 (TP[LW(1,1),LW(3,2)], 6283 TP[EX(Var("v1",F64),LN 63,LN 32,F32), 6284 qVar"s"])]), 6285 Apply 6286 (Call 6287 ("write'GPR",ATy(qTy,qTy), 6288 TP[Mop(SE F64,Var("v",F32)), 6289 Var("rt",FTy 5)]),qVar"s")),qVar"s")))))) 6290; 6291val dfn'LWR_def = Def 6292 ("dfn'LWR",TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 6293 Close 6294 (qVar"state", 6295 Let(Var("v",F64), 6296 Bop(Add,Mop(SE F64,Var("offset",F16)), 6297 Apply 6298 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)),qVar"state")), 6299 Let(Var("v0",FTy 2), 6300 Bop(BXor,EX(Var("v",F64),LN 1,LN 0,FTy 2), 6301 REP(Apply(Const("BigEndianCPU",ATy(qTy,F1)),qVar"state"), 6302 LN 2,FTy 2)), 6303 Let(TP[Var("v1",F64),qVar"s"], 6304 Apply 6305 (Call 6306 ("LoadMemory",ATy(qTy,PTy(F64,qTy)), 6307 TP[Const("WORD",FTy 3), 6308 Bop(Sub,Const("WORD",FTy 3), 6309 CC[LW(0,1),Var("v0",FTy 2)]),LF, 6310 Var("v",F64),Mop(Some,LF)]),qVar"state"), 6311 ITE(Mop(Not,Dest("exceptionSignalled",bTy,qVar"s")), 6312 Let(TP[Var("v",F32),qVar"s"], 6313 CS(TP[Bop(BXor,EX(Var("v",F64),LN 2,LN 2,F1), 6314 Apply 6315 (Const("BigEndianCPU",ATy(qTy,F1)), 6316 qVar"s")),Var("v0",FTy 2)], 6317 [(TP[LW(0,1),LW(0,2)], 6318 TP[EX(Var("v1",F64),LN 31,LN 0,F32),qVar"s"]), 6319 (TP[LW(0,1),LW(1,2)], 6320 TP[CC[EX(Apply 6321 (Call 6322 ("GPR",ATy(qTy,F64), 6323 Var("rt",FTy 5)),qVar"s"), 6324 LN 31,LN 24,F8), 6325 EX(Var("v1",F64),LN 31,LN 8,FTy 24)], 6326 qVar"s"]), 6327 (TP[LW(0,1),LW(2,2)], 6328 TP[CC[EX(Apply 6329 (Call 6330 ("GPR",ATy(qTy,F64), 6331 Var("rt",FTy 5)),qVar"s"), 6332 LN 31,LN 16,F16), 6333 EX(Var("v1",F64),LN 31,LN 16,F16)], 6334 qVar"s"]), 6335 (TP[LW(0,1),LW(3,2)], 6336 TP[CC[EX(Apply 6337 (Call 6338 ("GPR",ATy(qTy,F64), 6339 Var("rt",FTy 5)),qVar"s"), 6340 LN 31,LN 8,FTy 24), 6341 EX(Var("v1",F64),LN 31,LN 24,F8)], 6342 qVar"s"]), 6343 (TP[LW(1,1),LW(0,2)], 6344 TP[EX(Var("v1",F64),LN 63,LN 32,F32), 6345 qVar"s"]), 6346 (TP[LW(1,1),LW(1,2)], 6347 TP[CC[EX(Apply 6348 (Call 6349 ("GPR",ATy(qTy,F64), 6350 Var("rt",FTy 5)),qVar"s"), 6351 LN 31,LN 24,F8), 6352 EX(Var("v1",F64),LN 63,LN 40,FTy 24)], 6353 qVar"s"]), 6354 (TP[LW(1,1),LW(2,2)], 6355 TP[CC[EX(Apply 6356 (Call 6357 ("GPR",ATy(qTy,F64), 6358 Var("rt",FTy 5)),qVar"s"), 6359 LN 31,LN 16,F16), 6360 EX(Var("v1",F64),LN 63,LN 48,F16)], 6361 qVar"s"]), 6362 (TP[LW(1,1),LW(3,2)], 6363 TP[CC[EX(Apply 6364 (Call 6365 ("GPR",ATy(qTy,F64), 6366 Var("rt",FTy 5)),qVar"s"), 6367 LN 31,LN 8,FTy 24), 6368 EX(Var("v1",F64),LN 63,LN 56,F8)], 6369 qVar"s"])]), 6370 Apply 6371 (Call 6372 ("write'GPR",ATy(qTy,qTy), 6373 TP[Mop(SE F64,Var("v",F32)), 6374 Var("rt",FTy 5)]),qVar"s")),qVar"s")))))) 6375; 6376val dfn'LDL_def = Def 6377 ("dfn'LDL",TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 6378 Close 6379 (qVar"state", 6380 Let(Var("v",F64), 6381 Bop(Add,Mop(SE F64,Var("offset",F16)), 6382 Apply 6383 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)),qVar"state")), 6384 Let(Var("v0",FTy 3), 6385 Bop(BXor,EX(Var("v",F64),LN 2,LN 0,FTy 3), 6386 REP(Apply(Const("BigEndianCPU",ATy(qTy,F1)),qVar"state"), 6387 LN 3,FTy 3)), 6388 Let(TP[Var("v1",F64),qVar"s"], 6389 Apply 6390 (Call 6391 ("LoadMemory",ATy(qTy,PTy(F64,qTy)), 6392 TP[Const("DOUBLEWORD",FTy 3),Var("v0",FTy 3),LF, 6393 Var("v",F64),Mop(Some,LF)]),qVar"state"), 6394 ITE(Mop(Not,Dest("exceptionSignalled",bTy,qVar"s")), 6395 Let(TP[Var("v",F64),qVar"s"], 6396 CS(Var("v0",FTy 3), 6397 [(LW(0,3), 6398 TP[CC[EX(Var("v1",F64),LN 7,LN 0,F8), 6399 EX(Apply 6400 (Call 6401 ("GPR",ATy(qTy,F64), 6402 Var("rt",FTy 5)),qVar"s"), 6403 LN 55,LN 0,FTy 56)],qVar"s"]), 6404 (LW(1,3), 6405 TP[CC[EX(Var("v1",F64),LN 15,LN 0,F16), 6406 EX(Apply 6407 (Call 6408 ("GPR",ATy(qTy,F64), 6409 Var("rt",FTy 5)),qVar"s"), 6410 LN 47,LN 0,FTy 48)],qVar"s"]), 6411 (LW(2,3), 6412 TP[CC[EX(Var("v1",F64),LN 23,LN 0,FTy 24), 6413 EX(Apply 6414 (Call 6415 ("GPR",ATy(qTy,F64), 6416 Var("rt",FTy 5)),qVar"s"), 6417 LN 39,LN 0,FTy 40)],qVar"s"]), 6418 (LW(3,3), 6419 TP[CC[EX(Var("v1",F64),LN 31,LN 0,F32), 6420 EX(Apply 6421 (Call 6422 ("GPR",ATy(qTy,F64), 6423 Var("rt",FTy 5)),qVar"s"), 6424 LN 31,LN 0,F32)],qVar"s"]), 6425 (LW(4,3), 6426 TP[CC[EX(Var("v1",F64),LN 39,LN 0,FTy 40), 6427 EX(Apply 6428 (Call 6429 ("GPR",ATy(qTy,F64), 6430 Var("rt",FTy 5)),qVar"s"), 6431 LN 23,LN 0,FTy 24)],qVar"s"]), 6432 (LW(5,3), 6433 TP[CC[EX(Var("v1",F64),LN 47,LN 0,FTy 48), 6434 EX(Apply 6435 (Call 6436 ("GPR",ATy(qTy,F64), 6437 Var("rt",FTy 5)),qVar"s"), 6438 LN 15,LN 0,F16)],qVar"s"]), 6439 (LW(6,3), 6440 TP[CC[EX(Var("v1",F64),LN 55,LN 0,FTy 56), 6441 EX(Apply 6442 (Call 6443 ("GPR",ATy(qTy,F64), 6444 Var("rt",FTy 5)),qVar"s"), 6445 LN 7,LN 0,F8)],qVar"s"]), 6446 (LW(7,3), 6447 TP[EX(Var("v1",F64),LN 63,LN 0,F64),qVar"s"])]), 6448 Apply 6449 (Call 6450 ("write'GPR",ATy(qTy,qTy), 6451 TP[Var("v",F64),Var("rt",FTy 5)]),qVar"s")), 6452 qVar"s")))))) 6453; 6454val dfn'LDR_def = Def 6455 ("dfn'LDR",TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 6456 Close 6457 (qVar"state", 6458 Let(Var("v",F64), 6459 Bop(Add,Mop(SE F64,Var("offset",F16)), 6460 Apply 6461 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)),qVar"state")), 6462 Let(Var("v0",FTy 3), 6463 Bop(BXor,EX(Var("v",F64),LN 2,LN 0,FTy 3), 6464 REP(Apply(Const("BigEndianCPU",ATy(qTy,F1)),qVar"state"), 6465 LN 3,FTy 3)), 6466 Let(TP[Var("v1",F64),qVar"s"], 6467 Apply 6468 (Call 6469 ("LoadMemory",ATy(qTy,PTy(F64,qTy)), 6470 TP[Const("DOUBLEWORD",FTy 3), 6471 Bop(Sub,Const("DOUBLEWORD",FTy 3), 6472 Var("v0",FTy 3)),LF,Var("v",F64), 6473 Mop(Some,LF)]),qVar"state"), 6474 ITE(Mop(Not,Dest("exceptionSignalled",bTy,qVar"s")), 6475 Let(TP[Var("v",F64),qVar"s"], 6476 CS(Var("v0",FTy 3), 6477 [(LW(0,3), 6478 TP[EX(Var("v1",F64),LN 63,LN 0,F64),qVar"s"]), 6479 (LW(1,3), 6480 TP[CC[EX(Apply 6481 (Call 6482 ("GPR",ATy(qTy,F64), 6483 Var("rt",FTy 5)),qVar"s"), 6484 LN 63,LN 56,F8), 6485 EX(Var("v1",F64),LN 63,LN 8,FTy 56)], 6486 qVar"s"]), 6487 (LW(2,3), 6488 TP[CC[EX(Apply 6489 (Call 6490 ("GPR",ATy(qTy,F64), 6491 Var("rt",FTy 5)),qVar"s"), 6492 LN 63,LN 48,F16), 6493 EX(Var("v1",F64),LN 63,LN 16,FTy 48)], 6494 qVar"s"]), 6495 (LW(3,3), 6496 TP[CC[EX(Apply 6497 (Call 6498 ("GPR",ATy(qTy,F64), 6499 Var("rt",FTy 5)),qVar"s"), 6500 LN 63,LN 40,FTy 24), 6501 EX(Var("v1",F64),LN 63,LN 24,FTy 40)], 6502 qVar"s"]), 6503 (LW(4,3), 6504 TP[CC[EX(Apply 6505 (Call 6506 ("GPR",ATy(qTy,F64), 6507 Var("rt",FTy 5)),qVar"s"), 6508 LN 63,LN 32,F32), 6509 EX(Var("v1",F64),LN 63,LN 32,F32)], 6510 qVar"s"]), 6511 (LW(5,3), 6512 TP[CC[EX(Apply 6513 (Call 6514 ("GPR",ATy(qTy,F64), 6515 Var("rt",FTy 5)),qVar"s"), 6516 LN 63,LN 24,FTy 40), 6517 EX(Var("v1",F64),LN 63,LN 40,FTy 24)], 6518 qVar"s"]), 6519 (LW(6,3), 6520 TP[CC[EX(Apply 6521 (Call 6522 ("GPR",ATy(qTy,F64), 6523 Var("rt",FTy 5)),qVar"s"), 6524 LN 63,LN 16,FTy 48), 6525 EX(Var("v1",F64),LN 63,LN 48,F16)], 6526 qVar"s"]), 6527 (LW(7,3), 6528 TP[CC[EX(Apply 6529 (Call 6530 ("GPR",ATy(qTy,F64), 6531 Var("rt",FTy 5)),qVar"s"), 6532 LN 63,LN 8,FTy 56), 6533 EX(Var("v1",F64),LN 63,LN 56,F8)], 6534 qVar"s"])]), 6535 Apply 6536 (Call 6537 ("write'GPR",ATy(qTy,qTy), 6538 TP[Var("v",F64),Var("rt",FTy 5)]),qVar"s")), 6539 qVar"s")))))) 6540; 6541val dfn'SB_def = Def 6542 ("dfn'SB",TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 6543 Close 6544 (qVar"state", 6545 Let(Var("v",F64), 6546 Bop(Add,Mop(SE F64,Var("offset",F16)), 6547 Apply 6548 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)),qVar"state")), 6549 Mop(Snd, 6550 Apply 6551 (Call 6552 ("StoreMemory",ATy(qTy,PTy(bTy,qTy)), 6553 TP[Const("BYTE",FTy 3),Const("BYTE",FTy 3),LF, 6554 Bop(Lsl, 6555 Apply 6556 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 6557 qVar"state"), 6558 Bop(Mul,LN 8, 6559 Mop(Cast nTy, 6560 Bop(BXor, 6561 EX(Var("v",F64),LN 2,LN 0,FTy 3), 6562 REP(Apply 6563 (Const 6564 ("BigEndianCPU", 6565 ATy(qTy,F1)),qVar"state"), 6566 LN 3,FTy 3))))),Var("v",F64),LF]), 6567 qVar"state"))))) 6568; 6569val dfn'SH_def = Def 6570 ("dfn'SH",TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 6571 Close 6572 (qVar"state", 6573 Let(Var("v",F64), 6574 Bop(Add,Mop(SE F64,Var("offset",F16)), 6575 Apply 6576 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)),qVar"state")), 6577 Mop(Snd, 6578 Apply 6579 (Call 6580 ("StoreMemory",ATy(qTy,PTy(bTy,qTy)), 6581 TP[Const("HALFWORD",FTy 3),Const("HALFWORD",FTy 3),LT, 6582 Bop(Lsl, 6583 Apply 6584 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 6585 qVar"state"), 6586 Bop(Mul,LN 8, 6587 Mop(Cast nTy, 6588 Bop(BXor, 6589 EX(Var("v",F64),LN 2,LN 0,FTy 3), 6590 CC[REP(Apply 6591 (Const 6592 ("BigEndianCPU", 6593 ATy(qTy,F1)), 6594 qVar"state"),LN 2,FTy 2), 6595 LW(0,1)])))),Var("v",F64),LF]), 6596 qVar"state"))))) 6597; 6598val dfn'SW_def = Def 6599 ("dfn'SW",TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 6600 Close 6601 (qVar"state", 6602 Mop(Snd, 6603 Apply 6604 (Call 6605 ("storeWord",ATy(qTy,PTy(bTy,qTy)), 6606 TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16),LF]), 6607 qVar"state")))) 6608; 6609val dfn'SD_def = Def 6610 ("dfn'SD",TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 6611 Close 6612 (qVar"state", 6613 Mop(Snd, 6614 Apply 6615 (Call 6616 ("storeDoubleword",ATy(qTy,PTy(bTy,qTy)), 6617 TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16),LF]), 6618 qVar"state")))) 6619; 6620val dfn'SC_def = Def 6621 ("dfn'SC",TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 6622 Close 6623 (qVar"state", 6624 Let(TP[bVar"v",qVar"s"], 6625 Apply 6626 (Call 6627 ("storeWord",ATy(qTy,PTy(bTy,qTy)), 6628 TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16),LT]), 6629 qVar"state"), 6630 ITE(Mop(Not,Dest("exceptionSignalled",bTy,qVar"s")), 6631 Apply 6632 (Call 6633 ("write'GPR",ATy(qTy,qTy), 6634 TP[Mop(Cast F64,bVar"v"),Var("rt",FTy 5)]),qVar"s"), 6635 qVar"s")))) 6636; 6637val dfn'SCD_def = Def 6638 ("dfn'SCD",TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 6639 Close 6640 (qVar"state", 6641 Let(TP[bVar"v",qVar"s"], 6642 Apply 6643 (Call 6644 ("storeDoubleword",ATy(qTy,PTy(bTy,qTy)), 6645 TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16),LT]), 6646 qVar"state"), 6647 ITE(Mop(Not,Dest("exceptionSignalled",bTy,qVar"s")), 6648 Apply 6649 (Call 6650 ("write'GPR",ATy(qTy,qTy), 6651 TP[Mop(Cast F64,bVar"v"),Var("rt",FTy 5)]),qVar"s"), 6652 qVar"s")))) 6653; 6654val dfn'SWL_def = Def 6655 ("dfn'SWL",TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 6656 Close 6657 (qVar"state", 6658 Let(Var("v",F64), 6659 Bop(Add,Mop(SE F64,Var("offset",F16)), 6660 Apply 6661 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)),qVar"state")), 6662 Let(Var("v0",FTy 2), 6663 Bop(BXor,EX(Var("v",F64),LN 1,LN 0,FTy 2), 6664 REP(Apply(Const("BigEndianCPU",ATy(qTy,F1)),qVar"state"), 6665 LN 2,FTy 2)), 6666 Let(TP[Var("v2",F64),qVar"s0"], 6667 CS(Var("v0",FTy 2), 6668 [(LW(0,2), 6669 TP[Mop(Cast F64, 6670 EX(Apply 6671 (Call 6672 ("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 6673 qVar"state"),LN 31,LN 24,F8)), 6674 qVar"state"]), 6675 (LW(1,2), 6676 TP[Mop(Cast F64, 6677 EX(Apply 6678 (Call 6679 ("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 6680 qVar"state"),LN 31,LN 16,F16)), 6681 qVar"state"]), 6682 (LW(2,2), 6683 TP[Mop(Cast F64, 6684 EX(Apply 6685 (Call 6686 ("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 6687 qVar"state"),LN 31,LN 8,FTy 24)), 6688 qVar"state"]), 6689 (LW(3,2), 6690 TP[Mop(Cast F64, 6691 EX(Apply 6692 (Call 6693 ("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 6694 qVar"state"),LN 31,LN 0,F32)), 6695 qVar"state"])]), 6696 Mop(Snd, 6697 Apply 6698 (Call 6699 ("StoreMemory",ATy(qTy,PTy(bTy,qTy)), 6700 TP[Const("WORD",FTy 3), 6701 Mop(Cast(FTy 3),Var("v0",FTy 2)),LF, 6702 ITE(EQ(Bop(BXor, 6703 EX(Var("v",F64),LN 2,LN 2,F1), 6704 Apply 6705 (Const 6706 ("BigEndianCPU",ATy(qTy,F1)), 6707 qVar"state")),LW(1,1)), 6708 Bop(Lsl,Var("v2",F64),LN 32), 6709 Var("v2",F64)),Var("v",F64),LF]), 6710 qVar"s0"))))))) 6711; 6712val dfn'SWR_def = Def 6713 ("dfn'SWR",TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 6714 Close 6715 (qVar"state", 6716 Let(Var("v",F64), 6717 Bop(Add,Mop(SE F64,Var("offset",F16)), 6718 Apply 6719 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)),qVar"state")), 6720 Let(Var("v0",FTy 2), 6721 Bop(BXor,EX(Var("v",F64),LN 1,LN 0,FTy 2), 6722 REP(Apply(Const("BigEndianCPU",ATy(qTy,F1)),qVar"state"), 6723 LN 2,FTy 2)), 6724 Let(TP[Var("v1",F64),qVar"s"], 6725 CS(TP[Bop(BXor,EX(Var("v",F64),LN 2,LN 2,F1), 6726 Apply 6727 (Const("BigEndianCPU",ATy(qTy,F1)), 6728 qVar"state")),Var("v0",FTy 2)], 6729 [(TP[LW(0,1),LW(0,2)], 6730 TP[Mop(Cast F64, 6731 EX(Apply 6732 (Call 6733 ("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 6734 qVar"state"),LN 31,LN 0,F32)), 6735 qVar"state"]), 6736 (TP[LW(0,1),LW(1,2)], 6737 TP[Bop(Lsl, 6738 Mop(Cast F64, 6739 EX(Apply 6740 (Call 6741 ("GPR",ATy(qTy,F64), 6742 Var("rt",FTy 5)),qVar"state"), 6743 LN 23,LN 0,FTy 24)),LN 8),qVar"state"]), 6744 (TP[LW(0,1),LW(2,2)], 6745 TP[Bop(Lsl, 6746 Mop(Cast F64, 6747 EX(Apply 6748 (Call 6749 ("GPR",ATy(qTy,F64), 6750 Var("rt",FTy 5)),qVar"state"), 6751 LN 15,LN 0,F16)),LN 16),qVar"state"]), 6752 (TP[LW(0,1),LW(3,2)], 6753 TP[Bop(Lsl, 6754 Mop(Cast F64, 6755 EX(Apply 6756 (Call 6757 ("GPR",ATy(qTy,F64), 6758 Var("rt",FTy 5)),qVar"state"), 6759 LN 7,LN 0,F8)),LN 24),qVar"state"]), 6760 (TP[LW(1,1),LW(0,2)], 6761 TP[Bop(Lsl, 6762 Mop(Cast F64, 6763 EX(Apply 6764 (Call 6765 ("GPR",ATy(qTy,F64), 6766 Var("rt",FTy 5)),qVar"state"), 6767 LN 31,LN 0,F32)),LN 32),qVar"state"]), 6768 (TP[LW(1,1),LW(1,2)], 6769 TP[Bop(Lsl, 6770 Mop(Cast F64, 6771 EX(Apply 6772 (Call 6773 ("GPR",ATy(qTy,F64), 6774 Var("rt",FTy 5)),qVar"state"), 6775 LN 23,LN 0,FTy 24)),LN 40), 6776 qVar"state"]), 6777 (TP[LW(1,1),LW(2,2)], 6778 TP[Bop(Lsl, 6779 Mop(Cast F64, 6780 EX(Apply 6781 (Call 6782 ("GPR",ATy(qTy,F64), 6783 Var("rt",FTy 5)),qVar"state"), 6784 LN 15,LN 0,F16)),LN 48),qVar"state"]), 6785 (TP[LW(1,1),LW(3,2)], 6786 TP[Bop(Lsl, 6787 Mop(Cast F64, 6788 EX(Apply 6789 (Call 6790 ("GPR",ATy(qTy,F64), 6791 Var("rt",FTy 5)),qVar"state"), 6792 LN 7,LN 0,F8)),LN 56),qVar"state"])]), 6793 Mop(Snd, 6794 Apply 6795 (Call 6796 ("StoreMemory",ATy(qTy,PTy(bTy,qTy)), 6797 TP[Const("WORD",FTy 3), 6798 Bop(Sub,Const("WORD",FTy 3), 6799 Mop(Cast(FTy 3),Var("v0",FTy 2))),LF, 6800 Var("v1",F64),Var("v",F64),LF]),qVar"s"))))))) 6801; 6802val dfn'SDL_def = Def 6803 ("dfn'SDL",TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 6804 Close 6805 (qVar"state", 6806 Let(Var("v",F64), 6807 Bop(Add,Mop(SE F64,Var("offset",F16)), 6808 Apply 6809 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)),qVar"state")), 6810 Let(Var("v0",FTy 3), 6811 Bop(BXor,EX(Var("v",F64),LN 2,LN 0,FTy 3), 6812 REP(Apply(Const("BigEndianCPU",ATy(qTy,F1)),qVar"state"), 6813 LN 3,FTy 3)), 6814 Let(TP[Var("v1",F64),qVar"s"], 6815 CS(Var("v0",FTy 3), 6816 [(LW(0,3), 6817 TP[Mop(Cast F64, 6818 EX(Apply 6819 (Call 6820 ("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 6821 qVar"state"),LN 63,LN 56,F8)), 6822 qVar"state"]), 6823 (LW(1,3), 6824 TP[Mop(Cast F64, 6825 EX(Apply 6826 (Call 6827 ("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 6828 qVar"state"),LN 63,LN 48,F16)), 6829 qVar"state"]), 6830 (LW(2,3), 6831 TP[Mop(Cast F64, 6832 EX(Apply 6833 (Call 6834 ("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 6835 qVar"state"),LN 63,LN 40,FTy 24)), 6836 qVar"state"]), 6837 (LW(3,3), 6838 TP[Mop(Cast F64, 6839 EX(Apply 6840 (Call 6841 ("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 6842 qVar"state"),LN 63,LN 32,F32)), 6843 qVar"state"]), 6844 (LW(4,3), 6845 TP[Mop(Cast F64, 6846 EX(Apply 6847 (Call 6848 ("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 6849 qVar"state"),LN 63,LN 24,FTy 40)), 6850 qVar"state"]), 6851 (LW(5,3), 6852 TP[Mop(Cast F64, 6853 EX(Apply 6854 (Call 6855 ("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 6856 qVar"state"),LN 63,LN 16,FTy 48)), 6857 qVar"state"]), 6858 (LW(6,3), 6859 TP[Mop(Cast F64, 6860 EX(Apply 6861 (Call 6862 ("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 6863 qVar"state"),LN 63,LN 8,FTy 56)), 6864 qVar"state"]), 6865 (LW(7,3), 6866 TP[Apply 6867 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 6868 qVar"state"),qVar"state"])]), 6869 Mop(Snd, 6870 Apply 6871 (Call 6872 ("StoreMemory",ATy(qTy,PTy(bTy,qTy)), 6873 TP[Const("DOUBLEWORD",FTy 3),Var("v0",FTy 3), 6874 LF,Var("v1",F64),Var("v",F64),LF]),qVar"s"))))))) 6875; 6876val dfn'SDR_def = Def 6877 ("dfn'SDR",TP[Var("base",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 6878 Close 6879 (qVar"state", 6880 Let(Var("v",F64), 6881 Bop(Add,Mop(SE F64,Var("offset",F16)), 6882 Apply 6883 (Call("GPR",ATy(qTy,F64),Var("base",FTy 5)),qVar"state")), 6884 Let(Var("v0",FTy 3), 6885 Bop(BXor,EX(Var("v",F64),LN 2,LN 0,FTy 3), 6886 REP(Apply(Const("BigEndianCPU",ATy(qTy,F1)),qVar"state"), 6887 LN 3,FTy 3)), 6888 Let(TP[Var("v1",F64),qVar"s"], 6889 CS(Var("v0",FTy 3), 6890 [(LW(0,3), 6891 TP[Apply 6892 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 6893 qVar"state"),qVar"state"]), 6894 (LW(1,3), 6895 TP[Bop(Lsl, 6896 Mop(Cast F64, 6897 EX(Apply 6898 (Call 6899 ("GPR",ATy(qTy,F64), 6900 Var("rt",FTy 5)),qVar"state"), 6901 LN 55,LN 0,FTy 56)),LN 8),qVar"state"]), 6902 (LW(2,3), 6903 TP[Bop(Lsl, 6904 Mop(Cast F64, 6905 EX(Apply 6906 (Call 6907 ("GPR",ATy(qTy,F64), 6908 Var("rt",FTy 5)),qVar"state"), 6909 LN 47,LN 0,FTy 48)),LN 16), 6910 qVar"state"]), 6911 (LW(3,3), 6912 TP[Bop(Lsl, 6913 Mop(Cast F64, 6914 EX(Apply 6915 (Call 6916 ("GPR",ATy(qTy,F64), 6917 Var("rt",FTy 5)),qVar"state"), 6918 LN 39,LN 0,FTy 40)),LN 24), 6919 qVar"state"]), 6920 (LW(4,3), 6921 TP[Bop(Lsl, 6922 Mop(Cast F64, 6923 EX(Apply 6924 (Call 6925 ("GPR",ATy(qTy,F64), 6926 Var("rt",FTy 5)),qVar"state"), 6927 LN 31,LN 0,F32)),LN 32),qVar"state"]), 6928 (LW(5,3), 6929 TP[Bop(Lsl, 6930 Mop(Cast F64, 6931 EX(Apply 6932 (Call 6933 ("GPR",ATy(qTy,F64), 6934 Var("rt",FTy 5)),qVar"state"), 6935 LN 23,LN 0,FTy 24)),LN 40), 6936 qVar"state"]), 6937 (LW(6,3), 6938 TP[Bop(Lsl, 6939 Mop(Cast F64, 6940 EX(Apply 6941 (Call 6942 ("GPR",ATy(qTy,F64), 6943 Var("rt",FTy 5)),qVar"state"), 6944 LN 15,LN 0,F16)),LN 48),qVar"state"]), 6945 (LW(7,3), 6946 TP[Bop(Lsl, 6947 Mop(Cast F64, 6948 EX(Apply 6949 (Call 6950 ("GPR",ATy(qTy,F64), 6951 Var("rt",FTy 5)),qVar"state"), 6952 LN 7,LN 0,F8)),LN 56),qVar"state"])]), 6953 Mop(Snd, 6954 Apply 6955 (Call 6956 ("StoreMemory",ATy(qTy,PTy(bTy,qTy)), 6957 TP[Const("DOUBLEWORD",FTy 3), 6958 Bop(Sub,Const("DOUBLEWORD",FTy 3), 6959 Var("v0",FTy 3)),LF,Var("v1",F64), 6960 Var("v",F64),LF]),qVar"s"))))))) 6961; 6962val dfn'SYNC_def = Def ("dfn'SYNC",Var("stype",FTy 5),LU) 6963; 6964val dfn'BREAK_def = Def 6965 ("dfn'BREAK",qVar"state", 6966 Apply 6967 (Call("SignalException",ATy(qTy,qTy),LC("Bp",CTy"ExceptionType")), 6968 qVar"state")) 6969; 6970val dfn'SYSCALL_def = Def 6971 ("dfn'SYSCALL",qVar"state", 6972 Apply 6973 (Call("SignalException",ATy(qTy,qTy),LC("Sys",CTy"ExceptionType")), 6974 qVar"state")) 6975; 6976val dfn'ERET_def = Def 6977 ("dfn'ERET",qVar"state", 6978 ITB([(Mop(IsSome,Dest("BranchDelay",OTy(OTy F64),qVar"state")), 6979 Mop(Snd, 6980 Apply 6981 (Call 6982 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 6983 Call 6984 ("UNPREDICTABLE",CTy"exception", 6985 LS"ERET follows branch")),qVar"state"))), 6986 (Bop(Or, 6987 Dest 6988 ("CU0",bTy, 6989 Dest 6990 ("Status",CTy"StatusRegister", 6991 Dest("CP0",CTy"CP0",qVar"state"))), 6992 Apply(Const("KernelMode",ATy(qTy,bTy)),qVar"state")), 6993 Rupd 6994 ("LLbit", 6995 TP[ITE(Dest 6996 ("ERL",bTy, 6997 Dest 6998 ("Status",CTy"StatusRegister", 6999 Dest("CP0",CTy"CP0",qVar"state"))), 7000 Let(qVar"s", 7001 Rupd 7002 ("PC", 7003 TP[qVar"state", 7004 Bop(Sub, 7005 Dest 7006 ("ErrorEPC",F64, 7007 Dest("CP0",CTy"CP0",qVar"state")), 7008 LW(4,64))]), 7009 Rupd 7010 ("CP0", 7011 TP[qVar"s", 7012 Rupd 7013 ("Status", 7014 TP[Dest("CP0",CTy"CP0",qVar"s"), 7015 Rupd 7016 ("ERL", 7017 TP[Dest 7018 ("Status",CTy"StatusRegister", 7019 Dest("CP0",CTy"CP0",qVar"s")), 7020 LF])])])), 7021 Let(qVar"s", 7022 Rupd 7023 ("PC", 7024 TP[qVar"state", 7025 Bop(Sub, 7026 Dest 7027 ("EPC",F64, 7028 Dest("CP0",CTy"CP0",qVar"state")), 7029 LW(4,64))]), 7030 Rupd 7031 ("CP0", 7032 TP[qVar"s", 7033 Rupd 7034 ("Status", 7035 TP[Dest("CP0",CTy"CP0",qVar"s"), 7036 Rupd 7037 ("EXL", 7038 TP[Dest 7039 ("Status",CTy"StatusRegister", 7040 Dest("CP0",CTy"CP0",qVar"s")), 7041 LF])])]))),Mop(Some,LF)]))], 7042 Apply 7043 (Call 7044 ("SignalException",ATy(qTy,qTy),LC("CpU",CTy"ExceptionType")), 7045 qVar"state"))) 7046; 7047val dfn'MTC0_def = Def 7048 ("dfn'MTC0",TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("sel",FTy 3)], 7049 Close 7050 (qVar"state", 7051 ITE(Bop(Or, 7052 Dest 7053 ("CU0",bTy, 7054 Dest 7055 ("Status",CTy"StatusRegister", 7056 Dest("CP0",CTy"CP0",qVar"state"))), 7057 Apply(Const("KernelMode",ATy(qTy,bTy)),qVar"state")), 7058 Apply 7059 (Call 7060 ("write'CPR",ATy(qTy,qTy), 7061 TP[Apply 7062 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"), 7063 LN 0,Var("rd",FTy 5),Var("sel",FTy 3)]),qVar"state"), 7064 Apply 7065 (Call 7066 ("SignalException",ATy(qTy,qTy), 7067 LC("CpU",CTy"ExceptionType")),qVar"state")))) 7068; 7069val dfn'DMTC0_def = Def 7070 ("dfn'DMTC0",TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("sel",FTy 3)], 7071 Close 7072 (qVar"state", 7073 ITE(Bop(Or, 7074 Dest 7075 ("CU0",bTy, 7076 Dest 7077 ("Status",CTy"StatusRegister", 7078 Dest("CP0",CTy"CP0",qVar"state"))), 7079 Apply(Const("KernelMode",ATy(qTy,bTy)),qVar"state")), 7080 Apply 7081 (Call 7082 ("write'CPR",ATy(qTy,qTy), 7083 TP[Apply 7084 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state"), 7085 LN 0,Var("rd",FTy 5),Var("sel",FTy 3)]),qVar"state"), 7086 Apply 7087 (Call 7088 ("SignalException",ATy(qTy,qTy), 7089 LC("CpU",CTy"ExceptionType")),qVar"state")))) 7090; 7091val dfn'MFC0_def = Def 7092 ("dfn'MFC0",TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("sel",FTy 3)], 7093 Close 7094 (qVar"state", 7095 ITE(Bop(Or, 7096 Dest 7097 ("CU0",bTy, 7098 Dest 7099 ("Status",CTy"StatusRegister", 7100 Dest("CP0",CTy"CP0",qVar"state"))), 7101 Apply(Const("KernelMode",ATy(qTy,bTy)),qVar"state")), 7102 Apply 7103 (Call 7104 ("write'GPR",ATy(qTy,qTy), 7105 TP[Mop(SE F64, 7106 EX(Apply 7107 (Call 7108 ("CPR",ATy(qTy,F64), 7109 TP[LN 0,Var("rd",FTy 5),Var("sel",FTy 3)]), 7110 qVar"state"),LN 31,LN 0,F32)),Var("rt",FTy 5)]), 7111 qVar"state"), 7112 Apply 7113 (Call 7114 ("SignalException",ATy(qTy,qTy), 7115 LC("CpU",CTy"ExceptionType")),qVar"state")))) 7116; 7117val dfn'DMFC0_def = Def 7118 ("dfn'DMFC0",TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("sel",FTy 3)], 7119 Close 7120 (qVar"state", 7121 ITE(Bop(Or, 7122 Dest 7123 ("CU0",bTy, 7124 Dest 7125 ("Status",CTy"StatusRegister", 7126 Dest("CP0",CTy"CP0",qVar"state"))), 7127 Apply(Const("KernelMode",ATy(qTy,bTy)),qVar"state")), 7128 Apply 7129 (Call 7130 ("write'GPR",ATy(qTy,qTy), 7131 TP[Apply 7132 (Call 7133 ("CPR",ATy(qTy,F64), 7134 TP[LN 0,Var("rd",FTy 5),Var("sel",FTy 3)]), 7135 qVar"state"),Var("rt",FTy 5)]),qVar"state"), 7136 Apply 7137 (Call 7138 ("SignalException",ATy(qTy,qTy), 7139 LC("CpU",CTy"ExceptionType")),qVar"state")))) 7140; 7141val dfn'J_def = Def 7142 ("dfn'J",Var("instr_index",FTy 26), 7143 Close 7144 (qVar"state", 7145 Rupd 7146 ("BranchTo", 7147 TP[qVar"state", 7148 Mop(Some, 7149 TP[LF, 7150 CC[EX(Dest("PC",F64,qVar"state"),LN 63,LN 28,FTy 36), 7151 Var("instr_index",FTy 26),LW(0,2)]])]))) 7152; 7153val dfn'JAL_def = Def 7154 ("dfn'JAL",Var("instr_index",FTy 26), 7155 Close 7156 (qVar"state", 7157 Let(qVar"s", 7158 Apply 7159 (Call 7160 ("write'GPR",ATy(qTy,qTy), 7161 TP[Bop(Add,Dest("PC",F64,qVar"state"),LW(8,64)),LW(31,5)]), 7162 qVar"state"), 7163 Rupd 7164 ("BranchTo", 7165 TP[qVar"s", 7166 Mop(Some, 7167 TP[LF, 7168 CC[EX(Dest("PC",F64,qVar"s"),LN 63,LN 28,FTy 36), 7169 Var("instr_index",FTy 26),LW(0,2)]])])))) 7170; 7171val dfn'JR_def = Def 7172 ("dfn'JR",Var("rs",FTy 5), 7173 Close 7174 (qVar"state", 7175 Rupd 7176 ("BranchTo", 7177 TP[qVar"state", 7178 Mop(Some, 7179 TP[LF, 7180 Apply 7181 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state")])]))) 7182; 7183val dfn'JALR_def = Def 7184 ("dfn'JALR",TP[Var("rs",FTy 5),Var("rd",FTy 5)], 7185 Close 7186 (qVar"state", 7187 Rupd 7188 ("BranchTo", 7189 TP[Apply 7190 (Call 7191 ("write'GPR",ATy(qTy,qTy), 7192 TP[Bop(Add,Dest("PC",F64,qVar"state"),LW(8,64)), 7193 Var("rd",FTy 5)]),qVar"state"), 7194 Mop(Some, 7195 TP[LF, 7196 Apply 7197 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state")])]))) 7198; 7199val dfn'BEQ_def = Def 7200 ("dfn'BEQ",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 7201 Close 7202 (qVar"state", 7203 Apply 7204 (Call 7205 ("ConditionalBranch",ATy(qTy,qTy), 7206 TP[EQ(Apply 7207 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 7208 Apply 7209 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state")), 7210 Var("offset",F16)]),qVar"state"))) 7211; 7212val dfn'BNE_def = Def 7213 ("dfn'BNE",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 7214 Close 7215 (qVar"state", 7216 Apply 7217 (Call 7218 ("ConditionalBranch",ATy(qTy,qTy), 7219 TP[Mop(Not, 7220 EQ(Apply 7221 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 7222 qVar"state"), 7223 Apply 7224 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 7225 qVar"state"))),Var("offset",F16)]),qVar"state"))) 7226; 7227val dfn'BLEZ_def = Def 7228 ("dfn'BLEZ",TP[Var("rs",FTy 5),Var("offset",F16)], 7229 Close 7230 (qVar"state", 7231 Apply 7232 (Call 7233 ("ConditionalBranch",ATy(qTy,qTy), 7234 TP[Bop(Le, 7235 Apply 7236 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 7237 LW(0,64)),Var("offset",F16)]),qVar"state"))) 7238; 7239val dfn'BGTZ_def = Def 7240 ("dfn'BGTZ",TP[Var("rs",FTy 5),Var("offset",F16)], 7241 Close 7242 (qVar"state", 7243 Apply 7244 (Call 7245 ("ConditionalBranch",ATy(qTy,qTy), 7246 TP[Bop(Gt, 7247 Apply 7248 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 7249 LW(0,64)),Var("offset",F16)]),qVar"state"))) 7250; 7251val dfn'BLTZ_def = Def 7252 ("dfn'BLTZ",TP[Var("rs",FTy 5),Var("offset",F16)], 7253 Close 7254 (qVar"state", 7255 Apply 7256 (Call 7257 ("ConditionalBranch",ATy(qTy,qTy), 7258 TP[Bop(Lt, 7259 Apply 7260 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 7261 LW(0,64)),Var("offset",F16)]),qVar"state"))) 7262; 7263val dfn'BGEZ_def = Def 7264 ("dfn'BGEZ",TP[Var("rs",FTy 5),Var("offset",F16)], 7265 Close 7266 (qVar"state", 7267 Apply 7268 (Call 7269 ("ConditionalBranch",ATy(qTy,qTy), 7270 TP[Bop(Ge, 7271 Apply 7272 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 7273 LW(0,64)),Var("offset",F16)]),qVar"state"))) 7274; 7275val dfn'BLTZAL_def = Def 7276 ("dfn'BLTZAL",TP[Var("rs",FTy 5),Var("offset",F16)], 7277 Close 7278 (qVar"state", 7279 Apply 7280 (Call 7281 ("ConditionalBranch",ATy(qTy,qTy), 7282 TP[Bop(Lt, 7283 Apply 7284 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 7285 LW(0,64)),Var("offset",F16)]), 7286 Apply 7287 (Call 7288 ("write'GPR",ATy(qTy,qTy), 7289 TP[Bop(Add,Dest("PC",F64,qVar"state"),LW(8,64)),LW(31,5)]), 7290 qVar"state")))) 7291; 7292val dfn'BGEZAL_def = Def 7293 ("dfn'BGEZAL",TP[Var("rs",FTy 5),Var("offset",F16)], 7294 Close 7295 (qVar"state", 7296 Apply 7297 (Call 7298 ("ConditionalBranch",ATy(qTy,qTy), 7299 TP[Bop(Ge, 7300 Apply 7301 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 7302 LW(0,64)),Var("offset",F16)]), 7303 Apply 7304 (Call 7305 ("write'GPR",ATy(qTy,qTy), 7306 TP[Bop(Add,Dest("PC",F64,qVar"state"),LW(8,64)),LW(31,5)]), 7307 qVar"state")))) 7308; 7309val dfn'BEQL_def = Def 7310 ("dfn'BEQL",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 7311 Close 7312 (qVar"state", 7313 Apply 7314 (Call 7315 ("ConditionalBranchLikely",ATy(qTy,qTy), 7316 TP[EQ(Apply 7317 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 7318 Apply 7319 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)),qVar"state")), 7320 Var("offset",F16)]),qVar"state"))) 7321; 7322val dfn'BNEL_def = Def 7323 ("dfn'BNEL",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("offset",F16)], 7324 Close 7325 (qVar"state", 7326 Apply 7327 (Call 7328 ("ConditionalBranchLikely",ATy(qTy,qTy), 7329 TP[Mop(Not, 7330 EQ(Apply 7331 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)), 7332 qVar"state"), 7333 Apply 7334 (Call("GPR",ATy(qTy,F64),Var("rt",FTy 5)), 7335 qVar"state"))),Var("offset",F16)]),qVar"state"))) 7336; 7337val dfn'BLEZL_def = Def 7338 ("dfn'BLEZL",TP[Var("rs",FTy 5),Var("offset",F16)], 7339 Close 7340 (qVar"state", 7341 Apply 7342 (Call 7343 ("ConditionalBranchLikely",ATy(qTy,qTy), 7344 TP[Bop(Le, 7345 Apply 7346 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 7347 LW(0,64)),Var("offset",F16)]),qVar"state"))) 7348; 7349val dfn'BGTZL_def = Def 7350 ("dfn'BGTZL",TP[Var("rs",FTy 5),Var("offset",F16)], 7351 Close 7352 (qVar"state", 7353 Apply 7354 (Call 7355 ("ConditionalBranchLikely",ATy(qTy,qTy), 7356 TP[Bop(Gt, 7357 Apply 7358 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 7359 LW(0,64)),Var("offset",F16)]),qVar"state"))) 7360; 7361val dfn'BLTZL_def = Def 7362 ("dfn'BLTZL",TP[Var("rs",FTy 5),Var("offset",F16)], 7363 Close 7364 (qVar"state", 7365 Apply 7366 (Call 7367 ("ConditionalBranchLikely",ATy(qTy,qTy), 7368 TP[Bop(Lt, 7369 Apply 7370 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 7371 LW(0,64)),Var("offset",F16)]),qVar"state"))) 7372; 7373val dfn'BGEZL_def = Def 7374 ("dfn'BGEZL",TP[Var("rs",FTy 5),Var("offset",F16)], 7375 Close 7376 (qVar"state", 7377 Apply 7378 (Call 7379 ("ConditionalBranchLikely",ATy(qTy,qTy), 7380 TP[Bop(Ge, 7381 Apply 7382 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 7383 LW(0,64)),Var("offset",F16)]),qVar"state"))) 7384; 7385val dfn'BLTZALL_def = Def 7386 ("dfn'BLTZALL",TP[Var("rs",FTy 5),Var("offset",F16)], 7387 Close 7388 (qVar"state", 7389 Apply 7390 (Call 7391 ("ConditionalBranchLikely",ATy(qTy,qTy), 7392 TP[Bop(Lt, 7393 Apply 7394 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 7395 LW(0,64)),Var("offset",F16)]), 7396 Apply 7397 (Call 7398 ("write'GPR",ATy(qTy,qTy), 7399 TP[Bop(Add,Dest("PC",F64,qVar"state"),LW(8,64)),LW(31,5)]), 7400 qVar"state")))) 7401; 7402val dfn'BGEZALL_def = Def 7403 ("dfn'BGEZALL",TP[Var("rs",FTy 5),Var("offset",F16)], 7404 Close 7405 (qVar"state", 7406 Apply 7407 (Call 7408 ("ConditionalBranchLikely",ATy(qTy,qTy), 7409 TP[Bop(Ge, 7410 Apply 7411 (Call("GPR",ATy(qTy,F64),Var("rs",FTy 5)),qVar"state"), 7412 LW(0,64)),Var("offset",F16)]), 7413 Apply 7414 (Call 7415 ("write'GPR",ATy(qTy,qTy), 7416 TP[Bop(Add,Dest("PC",F64,qVar"state"),LW(8,64)),LW(31,5)]), 7417 qVar"state")))) 7418; 7419val dfn'WAIT_def = Def0 ("dfn'WAIT",LU) 7420; 7421val dfn'TLBP_def = Def 7422 ("dfn'TLBP",qVar"state", 7423 Apply 7424 (Call("SignalException",ATy(qTy,qTy),LC("ResI",CTy"ExceptionType")), 7425 qVar"state")) 7426; 7427val dfn'TLBR_def = Def 7428 ("dfn'TLBR",qVar"state", 7429 Apply 7430 (Call("SignalException",ATy(qTy,qTy),LC("ResI",CTy"ExceptionType")), 7431 qVar"state")) 7432; 7433val dfn'TLBWI_def = Def 7434 ("dfn'TLBWI",qVar"state", 7435 Apply 7436 (Call("SignalException",ATy(qTy,qTy),LC("ResI",CTy"ExceptionType")), 7437 qVar"state")) 7438; 7439val dfn'TLBWR_def = Def 7440 ("dfn'TLBWR",qVar"state", 7441 Apply 7442 (Call("SignalException",ATy(qTy,qTy),LC("ResI",CTy"ExceptionType")), 7443 qVar"state")) 7444; 7445val dfn'CACHE_def = Def 7446 ("dfn'CACHE",TP[Var("base",FTy 5),Var("opn",FTy 5),Var("offset",F16)], 7447 Close 7448 (qVar"state", 7449 Apply 7450 (Call 7451 ("SignalException",ATy(qTy,qTy),LC("ResI",CTy"ExceptionType")), 7452 qVar"state"))) 7453; 7454val dfn'RDHWR_def = Def 7455 ("dfn'RDHWR",TP[Var("rt",FTy 5),Var("rd",FTy 5)], 7456 Close 7457 (qVar"state", 7458 Apply 7459 (Call 7460 ("SignalException",ATy(qTy,qTy),LC("ResI",CTy"ExceptionType")), 7461 qVar"state"))) 7462; 7463val dfn'ReservedInstruction_def = Def 7464 ("dfn'ReservedInstruction",qVar"state", 7465 Apply 7466 (Call("SignalException",ATy(qTy,qTy),LC("ResI",CTy"ExceptionType")), 7467 qVar"state")) 7468; 7469val dfn'Unpredictable_def = Def 7470 ("dfn'Unpredictable",qVar"state", 7471 Mop(Snd, 7472 Apply 7473 (Call 7474 ("raise'exception",ATy(qTy,PTy(uTy,qTy)), 7475 Call 7476 ("UNPREDICTABLE",CTy"exception", 7477 LS"Unpredictable instruction")),qVar"state"))) 7478; 7479val Run_def = Def 7480 ("Run",Var("v0",CTy"instruction"), 7481 Close 7482 (qVar"state", 7483 CS(Var("v0",CTy"instruction"), 7484 [(Const("BREAK",CTy"instruction"), 7485 Apply(Const("dfn'BREAK",ATy(qTy,qTy)),qVar"state")), 7486 (Const("ERET",CTy"instruction"), 7487 Apply(Const("dfn'ERET",ATy(qTy,qTy)),qVar"state")), 7488 (Const("ReservedInstruction",CTy"instruction"), 7489 Apply 7490 (Const("dfn'ReservedInstruction",ATy(qTy,qTy)),qVar"state")), 7491 (Const("SYSCALL",CTy"instruction"), 7492 Apply(Const("dfn'SYSCALL",ATy(qTy,qTy)),qVar"state")), 7493 (Const("TLBP",CTy"instruction"), 7494 Apply(Const("dfn'TLBP",ATy(qTy,qTy)),qVar"state")), 7495 (Const("TLBR",CTy"instruction"), 7496 Apply(Const("dfn'TLBR",ATy(qTy,qTy)),qVar"state")), 7497 (Const("TLBWI",CTy"instruction"), 7498 Apply(Const("dfn'TLBWI",ATy(qTy,qTy)),qVar"state")), 7499 (Const("TLBWR",CTy"instruction"), 7500 Apply(Const("dfn'TLBWR",ATy(qTy,qTy)),qVar"state")), 7501 (Const("Unpredictable",CTy"instruction"), 7502 Apply(Const("dfn'Unpredictable",ATy(qTy,qTy)),qVar"state")), 7503 (Const("WAIT",CTy"instruction"),qVar"state"), 7504 (Call 7505 ("CACHE",CTy"instruction", 7506 Var("v204",PTy(FTy 5,PTy(FTy 5,F16)))), 7507 Apply 7508 (Call 7509 ("dfn'CACHE",ATy(qTy,qTy), 7510 Var("v204",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 7511 (Call("RDHWR",CTy"instruction",Var("v205",PTy(FTy 5,FTy 5))), 7512 Apply 7513 (Call("dfn'RDHWR",ATy(qTy,qTy),Var("v205",PTy(FTy 5,FTy 5))), 7514 qVar"state")), 7515 (Call("SYNC",CTy"instruction",Var("v206",FTy 5)),qVar"state"), 7516 (Call("ArithI",CTy"instruction",Var("v1",CTy"ArithI")), 7517 CS(Var("v1",CTy"ArithI"), 7518 [(Call 7519 ("ADDI",CTy"ArithI",Var("v2",PTy(FTy 5,PTy(FTy 5,F16)))), 7520 Apply 7521 (Call 7522 ("dfn'ADDI",ATy(qTy,qTy), 7523 Var("v2",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 7524 (Call 7525 ("ADDIU",CTy"ArithI",Var("v3",PTy(FTy 5,PTy(FTy 5,F16)))), 7526 Apply 7527 (Call 7528 ("dfn'ADDIU",ATy(qTy,qTy), 7529 Var("v3",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 7530 (Call 7531 ("ANDI",CTy"ArithI",Var("v4",PTy(FTy 5,PTy(FTy 5,F16)))), 7532 Apply 7533 (Call 7534 ("dfn'ANDI",ATy(qTy,qTy), 7535 Var("v4",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 7536 (Call 7537 ("DADDI",CTy"ArithI",Var("v5",PTy(FTy 5,PTy(FTy 5,F16)))), 7538 Apply 7539 (Call 7540 ("dfn'DADDI",ATy(qTy,qTy), 7541 Var("v5",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 7542 (Call 7543 ("DADDIU",CTy"ArithI", 7544 Var("v6",PTy(FTy 5,PTy(FTy 5,F16)))), 7545 Apply 7546 (Call 7547 ("dfn'DADDIU",ATy(qTy,qTy), 7548 Var("v6",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 7549 (Call("LUI",CTy"ArithI",Var("v7",PTy(FTy 5,F16))), 7550 Apply 7551 (Call("dfn'LUI",ATy(qTy,qTy),Var("v7",PTy(FTy 5,F16))), 7552 qVar"state")), 7553 (Call 7554 ("ORI",CTy"ArithI",Var("v8",PTy(FTy 5,PTy(FTy 5,F16)))), 7555 Apply 7556 (Call 7557 ("dfn'ORI",ATy(qTy,qTy), 7558 Var("v8",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 7559 (Call 7560 ("SLTI",CTy"ArithI",Var("v9",PTy(FTy 5,PTy(FTy 5,F16)))), 7561 Apply 7562 (Call 7563 ("dfn'SLTI",ATy(qTy,qTy), 7564 Var("v9",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 7565 (Call 7566 ("SLTIU",CTy"ArithI", 7567 Var("v10",PTy(FTy 5,PTy(FTy 5,F16)))), 7568 Apply 7569 (Call 7570 ("dfn'SLTIU",ATy(qTy,qTy), 7571 Var("v10",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 7572 (Call 7573 ("XORI",CTy"ArithI",Var("v11",PTy(FTy 5,PTy(FTy 5,F16)))), 7574 Apply 7575 (Call 7576 ("dfn'XORI",ATy(qTy,qTy), 7577 Var("v11",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state"))])), 7578 (Call("ArithR",CTy"instruction",Var("v12",CTy"ArithR")), 7579 CS(Var("v12",CTy"ArithR"), 7580 [(Call 7581 ("ADD",CTy"ArithR", 7582 Var("v13",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 7583 Apply 7584 (Call 7585 ("dfn'ADD",ATy(qTy,qTy), 7586 Var("v13",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 7587 (Call 7588 ("ADDU",CTy"ArithR", 7589 Var("v14",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 7590 Apply 7591 (Call 7592 ("dfn'ADDU",ATy(qTy,qTy), 7593 Var("v14",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 7594 (Call 7595 ("AND",CTy"ArithR", 7596 Var("v15",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 7597 Apply 7598 (Call 7599 ("dfn'AND",ATy(qTy,qTy), 7600 Var("v15",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 7601 (Call 7602 ("DADD",CTy"ArithR", 7603 Var("v16",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 7604 Apply 7605 (Call 7606 ("dfn'DADD",ATy(qTy,qTy), 7607 Var("v16",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 7608 (Call 7609 ("DADDU",CTy"ArithR", 7610 Var("v17",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 7611 Apply 7612 (Call 7613 ("dfn'DADDU",ATy(qTy,qTy), 7614 Var("v17",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 7615 (Call 7616 ("DSUB",CTy"ArithR", 7617 Var("v18",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 7618 Apply 7619 (Call 7620 ("dfn'DSUB",ATy(qTy,qTy), 7621 Var("v18",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 7622 (Call 7623 ("DSUBU",CTy"ArithR", 7624 Var("v19",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 7625 Apply 7626 (Call 7627 ("dfn'DSUBU",ATy(qTy,qTy), 7628 Var("v19",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 7629 (Call 7630 ("MOVN",CTy"ArithR", 7631 Var("v20",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 7632 Apply 7633 (Call 7634 ("dfn'MOVN",ATy(qTy,qTy), 7635 Var("v20",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 7636 (Call 7637 ("MOVZ",CTy"ArithR", 7638 Var("v21",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 7639 Apply 7640 (Call 7641 ("dfn'MOVZ",ATy(qTy,qTy), 7642 Var("v21",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 7643 (Call 7644 ("NOR",CTy"ArithR", 7645 Var("v22",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 7646 Apply 7647 (Call 7648 ("dfn'NOR",ATy(qTy,qTy), 7649 Var("v22",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 7650 (Call 7651 ("OR",CTy"ArithR",Var("v23",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 7652 Apply 7653 (Call 7654 ("dfn'OR",ATy(qTy,qTy), 7655 Var("v23",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 7656 (Call 7657 ("SLT",CTy"ArithR", 7658 Var("v24",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 7659 Apply 7660 (Call 7661 ("dfn'SLT",ATy(qTy,qTy), 7662 Var("v24",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 7663 (Call 7664 ("SLTU",CTy"ArithR", 7665 Var("v25",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 7666 Apply 7667 (Call 7668 ("dfn'SLTU",ATy(qTy,qTy), 7669 Var("v25",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 7670 (Call 7671 ("SUB",CTy"ArithR", 7672 Var("v26",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 7673 Apply 7674 (Call 7675 ("dfn'SUB",ATy(qTy,qTy), 7676 Var("v26",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 7677 (Call 7678 ("SUBU",CTy"ArithR", 7679 Var("v27",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 7680 Apply 7681 (Call 7682 ("dfn'SUBU",ATy(qTy,qTy), 7683 Var("v27",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 7684 (Call 7685 ("XOR",CTy"ArithR", 7686 Var("v28",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 7687 Apply 7688 (Call 7689 ("dfn'XOR",ATy(qTy,qTy), 7690 Var("v28",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state"))])), 7691 (Call("Branch",CTy"instruction",Var("v29",CTy"Branch")), 7692 CS(Var("v29",CTy"Branch"), 7693 [(Call 7694 ("BEQ",CTy"Branch",Var("v30",PTy(FTy 5,PTy(FTy 5,F16)))), 7695 Apply 7696 (Call 7697 ("dfn'BEQ",ATy(qTy,qTy), 7698 Var("v30",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 7699 (Call 7700 ("BEQL",CTy"Branch",Var("v31",PTy(FTy 5,PTy(FTy 5,F16)))), 7701 Apply 7702 (Call 7703 ("dfn'BEQL",ATy(qTy,qTy), 7704 Var("v31",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 7705 (Call("BGEZ",CTy"Branch",Var("v32",PTy(FTy 5,F16))), 7706 Apply 7707 (Call("dfn'BGEZ",ATy(qTy,qTy),Var("v32",PTy(FTy 5,F16))), 7708 qVar"state")), 7709 (Call("BGEZAL",CTy"Branch",Var("v33",PTy(FTy 5,F16))), 7710 Apply 7711 (Call 7712 ("dfn'BGEZAL",ATy(qTy,qTy),Var("v33",PTy(FTy 5,F16))), 7713 qVar"state")), 7714 (Call("BGEZALL",CTy"Branch",Var("v34",PTy(FTy 5,F16))), 7715 Apply 7716 (Call 7717 ("dfn'BGEZALL",ATy(qTy,qTy),Var("v34",PTy(FTy 5,F16))), 7718 qVar"state")), 7719 (Call("BGEZL",CTy"Branch",Var("v35",PTy(FTy 5,F16))), 7720 Apply 7721 (Call 7722 ("dfn'BGEZL",ATy(qTy,qTy),Var("v35",PTy(FTy 5,F16))), 7723 qVar"state")), 7724 (Call("BGTZ",CTy"Branch",Var("v36",PTy(FTy 5,F16))), 7725 Apply 7726 (Call("dfn'BGTZ",ATy(qTy,qTy),Var("v36",PTy(FTy 5,F16))), 7727 qVar"state")), 7728 (Call("BGTZL",CTy"Branch",Var("v37",PTy(FTy 5,F16))), 7729 Apply 7730 (Call 7731 ("dfn'BGTZL",ATy(qTy,qTy),Var("v37",PTy(FTy 5,F16))), 7732 qVar"state")), 7733 (Call("BLEZ",CTy"Branch",Var("v38",PTy(FTy 5,F16))), 7734 Apply 7735 (Call("dfn'BLEZ",ATy(qTy,qTy),Var("v38",PTy(FTy 5,F16))), 7736 qVar"state")), 7737 (Call("BLEZL",CTy"Branch",Var("v39",PTy(FTy 5,F16))), 7738 Apply 7739 (Call 7740 ("dfn'BLEZL",ATy(qTy,qTy),Var("v39",PTy(FTy 5,F16))), 7741 qVar"state")), 7742 (Call("BLTZ",CTy"Branch",Var("v40",PTy(FTy 5,F16))), 7743 Apply 7744 (Call("dfn'BLTZ",ATy(qTy,qTy),Var("v40",PTy(FTy 5,F16))), 7745 qVar"state")), 7746 (Call("BLTZAL",CTy"Branch",Var("v41",PTy(FTy 5,F16))), 7747 Apply 7748 (Call 7749 ("dfn'BLTZAL",ATy(qTy,qTy),Var("v41",PTy(FTy 5,F16))), 7750 qVar"state")), 7751 (Call("BLTZALL",CTy"Branch",Var("v42",PTy(FTy 5,F16))), 7752 Apply 7753 (Call 7754 ("dfn'BLTZALL",ATy(qTy,qTy),Var("v42",PTy(FTy 5,F16))), 7755 qVar"state")), 7756 (Call("BLTZL",CTy"Branch",Var("v43",PTy(FTy 5,F16))), 7757 Apply 7758 (Call 7759 ("dfn'BLTZL",ATy(qTy,qTy),Var("v43",PTy(FTy 5,F16))), 7760 qVar"state")), 7761 (Call 7762 ("BNE",CTy"Branch",Var("v44",PTy(FTy 5,PTy(FTy 5,F16)))), 7763 Apply 7764 (Call 7765 ("dfn'BNE",ATy(qTy,qTy), 7766 Var("v44",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 7767 (Call 7768 ("BNEL",CTy"Branch",Var("v45",PTy(FTy 5,PTy(FTy 5,F16)))), 7769 Apply 7770 (Call 7771 ("dfn'BNEL",ATy(qTy,qTy), 7772 Var("v45",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 7773 (Call("J",CTy"Branch",Var("v46",FTy 26)), 7774 Apply 7775 (Call("dfn'J",ATy(qTy,qTy),Var("v46",FTy 26)), 7776 qVar"state")), 7777 (Call("JAL",CTy"Branch",Var("v47",FTy 26)), 7778 Apply 7779 (Call("dfn'JAL",ATy(qTy,qTy),Var("v47",FTy 26)), 7780 qVar"state")), 7781 (Call("JALR",CTy"Branch",Var("v48",PTy(FTy 5,FTy 5))), 7782 Apply 7783 (Call 7784 ("dfn'JALR",ATy(qTy,qTy),Var("v48",PTy(FTy 5,FTy 5))), 7785 qVar"state")), 7786 (Call("JR",CTy"Branch",Var("v49",FTy 5)), 7787 Apply 7788 (Call("dfn'JR",ATy(qTy,qTy),Var("v49",FTy 5)), 7789 qVar"state"))])), 7790 (Call("COP1",CTy"instruction",Var("v50",CTy"COP1")), 7791 CS(Var("v50",CTy"COP1"), 7792 [(Const("UnknownFPInstruction",CTy"COP1"), 7793 Apply 7794 (Const("dfn'UnknownFPInstruction",ATy(qTy,qTy)), 7795 qVar"state")), 7796 (Call("ABS_D",CTy"COP1",Var("v51",PTy(FTy 5,FTy 5))), 7797 Apply 7798 (Call 7799 ("dfn'ABS_D",ATy(qTy,qTy),Var("v51",PTy(FTy 5,FTy 5))), 7800 qVar"state")), 7801 (Call("ABS_S",CTy"COP1",Var("v52",PTy(FTy 5,FTy 5))), 7802 Apply 7803 (Call 7804 ("dfn'ABS_S",ATy(qTy,qTy),Var("v52",PTy(FTy 5,FTy 5))), 7805 qVar"state")), 7806 (Call 7807 ("ADD_D",CTy"COP1", 7808 Var("v53",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 7809 Apply 7810 (Call 7811 ("dfn'ADD_D",ATy(qTy,qTy), 7812 Var("v53",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 7813 (Call 7814 ("ADD_S",CTy"COP1", 7815 Var("v54",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 7816 Apply 7817 (Call 7818 ("dfn'ADD_S",ATy(qTy,qTy), 7819 Var("v54",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 7820 (Call("BC1F",CTy"COP1",Var("v55",PTy(F16,FTy 3))), 7821 Apply 7822 (Call("dfn'BC1F",ATy(qTy,qTy),Var("v55",PTy(F16,FTy 3))), 7823 qVar"state")), 7824 (Call("BC1FL",CTy"COP1",Var("v56",PTy(F16,FTy 3))), 7825 Apply 7826 (Call 7827 ("dfn'BC1FL",ATy(qTy,qTy),Var("v56",PTy(F16,FTy 3))), 7828 qVar"state")), 7829 (Call("BC1T",CTy"COP1",Var("v57",PTy(F16,FTy 3))), 7830 Apply 7831 (Call("dfn'BC1T",ATy(qTy,qTy),Var("v57",PTy(F16,FTy 3))), 7832 qVar"state")), 7833 (Call("BC1TL",CTy"COP1",Var("v58",PTy(F16,FTy 3))), 7834 Apply 7835 (Call 7836 ("dfn'BC1TL",ATy(qTy,qTy),Var("v58",PTy(F16,FTy 3))), 7837 qVar"state")), 7838 (Call("CEIL_L_D",CTy"COP1",Var("v59",PTy(FTy 5,FTy 5))), 7839 Apply 7840 (Call 7841 ("dfn'CEIL_L_D",ATy(qTy,qTy), 7842 Var("v59",PTy(FTy 5,FTy 5))),qVar"state")), 7843 (Call("CEIL_L_S",CTy"COP1",Var("v60",PTy(FTy 5,FTy 5))), 7844 Apply 7845 (Call 7846 ("dfn'CEIL_L_S",ATy(qTy,qTy), 7847 Var("v60",PTy(FTy 5,FTy 5))),qVar"state")), 7848 (Call("CEIL_W_D",CTy"COP1",Var("v61",PTy(FTy 5,FTy 5))), 7849 Apply 7850 (Call 7851 ("dfn'CEIL_W_D",ATy(qTy,qTy), 7852 Var("v61",PTy(FTy 5,FTy 5))),qVar"state")), 7853 (Call("CEIL_W_S",CTy"COP1",Var("v62",PTy(FTy 5,FTy 5))), 7854 Apply 7855 (Call 7856 ("dfn'CEIL_W_S",ATy(qTy,qTy), 7857 Var("v62",PTy(FTy 5,FTy 5))),qVar"state")), 7858 (Call("CFC1",CTy"COP1",Var("v63",PTy(FTy 5,FTy 5))), 7859 Apply 7860 (Call 7861 ("dfn'CFC1",ATy(qTy,qTy),Var("v63",PTy(FTy 5,FTy 5))), 7862 qVar"state")), 7863 (Call("CTC1",CTy"COP1",Var("v64",PTy(FTy 5,FTy 5))), 7864 Apply 7865 (Call 7866 ("dfn'CTC1",ATy(qTy,qTy),Var("v64",PTy(FTy 5,FTy 5))), 7867 qVar"state")), 7868 (Call("CVT_D_L",CTy"COP1",Var("v65",PTy(FTy 5,FTy 5))), 7869 Apply 7870 (Call 7871 ("dfn'CVT_D_L",ATy(qTy,qTy), 7872 Var("v65",PTy(FTy 5,FTy 5))),qVar"state")), 7873 (Call("CVT_D_S",CTy"COP1",Var("v66",PTy(FTy 5,FTy 5))), 7874 Apply 7875 (Call 7876 ("dfn'CVT_D_S",ATy(qTy,qTy), 7877 Var("v66",PTy(FTy 5,FTy 5))),qVar"state")), 7878 (Call("CVT_D_W",CTy"COP1",Var("v67",PTy(FTy 5,FTy 5))), 7879 Apply 7880 (Call 7881 ("dfn'CVT_D_W",ATy(qTy,qTy), 7882 Var("v67",PTy(FTy 5,FTy 5))),qVar"state")), 7883 (Call("CVT_L_D",CTy"COP1",Var("v68",PTy(FTy 5,FTy 5))), 7884 Apply 7885 (Call 7886 ("dfn'CVT_L_D",ATy(qTy,qTy), 7887 Var("v68",PTy(FTy 5,FTy 5))),qVar"state")), 7888 (Call("CVT_L_S",CTy"COP1",Var("v69",PTy(FTy 5,FTy 5))), 7889 Apply 7890 (Call 7891 ("dfn'CVT_L_S",ATy(qTy,qTy), 7892 Var("v69",PTy(FTy 5,FTy 5))),qVar"state")), 7893 (Call("CVT_S_D",CTy"COP1",Var("v70",PTy(FTy 5,FTy 5))), 7894 Apply 7895 (Call 7896 ("dfn'CVT_S_D",ATy(qTy,qTy), 7897 Var("v70",PTy(FTy 5,FTy 5))),qVar"state")), 7898 (Call("CVT_S_L",CTy"COP1",Var("v71",PTy(FTy 5,FTy 5))), 7899 Apply 7900 (Call 7901 ("dfn'CVT_S_L",ATy(qTy,qTy), 7902 Var("v71",PTy(FTy 5,FTy 5))),qVar"state")), 7903 (Call("CVT_S_W",CTy"COP1",Var("v72",PTy(FTy 5,FTy 5))), 7904 Apply 7905 (Call 7906 ("dfn'CVT_S_W",ATy(qTy,qTy), 7907 Var("v72",PTy(FTy 5,FTy 5))),qVar"state")), 7908 (Call("CVT_W_D",CTy"COP1",Var("v73",PTy(FTy 5,FTy 5))), 7909 Apply 7910 (Call 7911 ("dfn'CVT_W_D",ATy(qTy,qTy), 7912 Var("v73",PTy(FTy 5,FTy 5))),qVar"state")), 7913 (Call("CVT_W_S",CTy"COP1",Var("v74",PTy(FTy 5,FTy 5))), 7914 Apply 7915 (Call 7916 ("dfn'CVT_W_S",ATy(qTy,qTy), 7917 Var("v74",PTy(FTy 5,FTy 5))),qVar"state")), 7918 (Call 7919 ("C_cond_D",CTy"COP1", 7920 Var("v75",PTy(FTy 5,PTy(FTy 5,PTy(FTy 3,FTy 3))))), 7921 Apply 7922 (Call 7923 ("dfn'C_cond_D",ATy(qTy,qTy), 7924 Var("v75",PTy(FTy 5,PTy(FTy 5,PTy(FTy 3,FTy 3))))), 7925 qVar"state")), 7926 (Call 7927 ("C_cond_S",CTy"COP1", 7928 Var("v76",PTy(FTy 5,PTy(FTy 5,PTy(FTy 3,FTy 3))))), 7929 Apply 7930 (Call 7931 ("dfn'C_cond_S",ATy(qTy,qTy), 7932 Var("v76",PTy(FTy 5,PTy(FTy 5,PTy(FTy 3,FTy 3))))), 7933 qVar"state")), 7934 (Call 7935 ("DIV_D",CTy"COP1", 7936 Var("v77",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 7937 Apply 7938 (Call 7939 ("dfn'DIV_D",ATy(qTy,qTy), 7940 Var("v77",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 7941 (Call 7942 ("DIV_S",CTy"COP1", 7943 Var("v78",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 7944 Apply 7945 (Call 7946 ("dfn'DIV_S",ATy(qTy,qTy), 7947 Var("v78",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 7948 (Call("DMFC1",CTy"COP1",Var("v79",PTy(FTy 5,FTy 5))), 7949 Apply 7950 (Call 7951 ("dfn'DMFC1",ATy(qTy,qTy),Var("v79",PTy(FTy 5,FTy 5))), 7952 qVar"state")), 7953 (Call("DMTC1",CTy"COP1",Var("v80",PTy(FTy 5,FTy 5))), 7954 Apply 7955 (Call 7956 ("dfn'DMTC1",ATy(qTy,qTy),Var("v80",PTy(FTy 5,FTy 5))), 7957 qVar"state")), 7958 (Call("FLOOR_L_D",CTy"COP1",Var("v81",PTy(FTy 5,FTy 5))), 7959 Apply 7960 (Call 7961 ("dfn'FLOOR_L_D",ATy(qTy,qTy), 7962 Var("v81",PTy(FTy 5,FTy 5))),qVar"state")), 7963 (Call("FLOOR_L_S",CTy"COP1",Var("v82",PTy(FTy 5,FTy 5))), 7964 Apply 7965 (Call 7966 ("dfn'FLOOR_L_S",ATy(qTy,qTy), 7967 Var("v82",PTy(FTy 5,FTy 5))),qVar"state")), 7968 (Call("FLOOR_W_D",CTy"COP1",Var("v83",PTy(FTy 5,FTy 5))), 7969 Apply 7970 (Call 7971 ("dfn'FLOOR_W_D",ATy(qTy,qTy), 7972 Var("v83",PTy(FTy 5,FTy 5))),qVar"state")), 7973 (Call("FLOOR_W_S",CTy"COP1",Var("v84",PTy(FTy 5,FTy 5))), 7974 Apply 7975 (Call 7976 ("dfn'FLOOR_W_S",ATy(qTy,qTy), 7977 Var("v84",PTy(FTy 5,FTy 5))),qVar"state")), 7978 (Call 7979 ("LDC1",CTy"COP1",Var("v85",PTy(FTy 5,PTy(F16,FTy 5)))), 7980 Apply 7981 (Call 7982 ("dfn'LDC1",ATy(qTy,qTy), 7983 Var("v85",PTy(FTy 5,PTy(F16,FTy 5)))),qVar"state")), 7984 (Call 7985 ("LDXC1",CTy"COP1", 7986 Var("v86",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 7987 Apply 7988 (Call 7989 ("dfn'LDXC1",ATy(qTy,qTy), 7990 Var("v86",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 7991 (Call 7992 ("LWC1",CTy"COP1",Var("v87",PTy(FTy 5,PTy(F16,FTy 5)))), 7993 Apply 7994 (Call 7995 ("dfn'LWC1",ATy(qTy,qTy), 7996 Var("v87",PTy(FTy 5,PTy(F16,FTy 5)))),qVar"state")), 7997 (Call 7998 ("LWXC1",CTy"COP1", 7999 Var("v88",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8000 Apply 8001 (Call 8002 ("dfn'LWXC1",ATy(qTy,qTy), 8003 Var("v88",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8004 (Call 8005 ("MADD_D",CTy"COP1", 8006 Var("v89",PTy(FTy 5,PTy(FTy 5,PTy(FTy 5,FTy 5))))), 8007 Apply 8008 (Call 8009 ("dfn'MADD_D",ATy(qTy,qTy), 8010 Var("v89",PTy(FTy 5,PTy(FTy 5,PTy(FTy 5,FTy 5))))), 8011 qVar"state")), 8012 (Call 8013 ("MADD_S",CTy"COP1", 8014 Var("v90",PTy(FTy 5,PTy(FTy 5,PTy(FTy 5,FTy 5))))), 8015 Apply 8016 (Call 8017 ("dfn'MADD_S",ATy(qTy,qTy), 8018 Var("v90",PTy(FTy 5,PTy(FTy 5,PTy(FTy 5,FTy 5))))), 8019 qVar"state")), 8020 (Call("MFC1",CTy"COP1",Var("v91",PTy(FTy 5,FTy 5))), 8021 Apply 8022 (Call 8023 ("dfn'MFC1",ATy(qTy,qTy),Var("v91",PTy(FTy 5,FTy 5))), 8024 qVar"state")), 8025 (Call 8026 ("MOVF",CTy"COP1",Var("v92",PTy(FTy 5,PTy(FTy 5,FTy 3)))), 8027 Apply 8028 (Call 8029 ("dfn'MOVF",ATy(qTy,qTy), 8030 Var("v92",PTy(FTy 5,PTy(FTy 5,FTy 3)))),qVar"state")), 8031 (Call 8032 ("MOVF_D",CTy"COP1", 8033 Var("v93",PTy(FTy 5,PTy(FTy 5,FTy 3)))), 8034 Apply 8035 (Call 8036 ("dfn'MOVF_D",ATy(qTy,qTy), 8037 Var("v93",PTy(FTy 5,PTy(FTy 5,FTy 3)))),qVar"state")), 8038 (Call 8039 ("MOVF_S",CTy"COP1", 8040 Var("v94",PTy(FTy 5,PTy(FTy 5,FTy 3)))), 8041 Apply 8042 (Call 8043 ("dfn'MOVF_S",ATy(qTy,qTy), 8044 Var("v94",PTy(FTy 5,PTy(FTy 5,FTy 3)))),qVar"state")), 8045 (Call 8046 ("MOVN_D",CTy"COP1", 8047 Var("v95",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8048 Apply 8049 (Call 8050 ("dfn'MOVN_D",ATy(qTy,qTy), 8051 Var("v95",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8052 (Call 8053 ("MOVN_S",CTy"COP1", 8054 Var("v96",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8055 Apply 8056 (Call 8057 ("dfn'MOVN_S",ATy(qTy,qTy), 8058 Var("v96",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8059 (Call 8060 ("MOVT",CTy"COP1",Var("v97",PTy(FTy 5,PTy(FTy 5,FTy 3)))), 8061 Apply 8062 (Call 8063 ("dfn'MOVT",ATy(qTy,qTy), 8064 Var("v97",PTy(FTy 5,PTy(FTy 5,FTy 3)))),qVar"state")), 8065 (Call 8066 ("MOVT_D",CTy"COP1", 8067 Var("v98",PTy(FTy 5,PTy(FTy 5,FTy 3)))), 8068 Apply 8069 (Call 8070 ("dfn'MOVT_D",ATy(qTy,qTy), 8071 Var("v98",PTy(FTy 5,PTy(FTy 5,FTy 3)))),qVar"state")), 8072 (Call 8073 ("MOVT_S",CTy"COP1", 8074 Var("v99",PTy(FTy 5,PTy(FTy 5,FTy 3)))), 8075 Apply 8076 (Call 8077 ("dfn'MOVT_S",ATy(qTy,qTy), 8078 Var("v99",PTy(FTy 5,PTy(FTy 5,FTy 3)))),qVar"state")), 8079 (Call 8080 ("MOVZ_D",CTy"COP1", 8081 Var("v100",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8082 Apply 8083 (Call 8084 ("dfn'MOVZ_D",ATy(qTy,qTy), 8085 Var("v100",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8086 (Call 8087 ("MOVZ_S",CTy"COP1", 8088 Var("v101",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8089 Apply 8090 (Call 8091 ("dfn'MOVZ_S",ATy(qTy,qTy), 8092 Var("v101",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8093 (Call("MOV_D",CTy"COP1",Var("v102",PTy(FTy 5,FTy 5))), 8094 Apply 8095 (Call 8096 ("dfn'MOV_D",ATy(qTy,qTy), 8097 Var("v102",PTy(FTy 5,FTy 5))),qVar"state")), 8098 (Call("MOV_S",CTy"COP1",Var("v103",PTy(FTy 5,FTy 5))), 8099 Apply 8100 (Call 8101 ("dfn'MOV_S",ATy(qTy,qTy), 8102 Var("v103",PTy(FTy 5,FTy 5))),qVar"state")), 8103 (Call 8104 ("MSUB_D",CTy"COP1", 8105 Var("v104",PTy(FTy 5,PTy(FTy 5,PTy(FTy 5,FTy 5))))), 8106 Apply 8107 (Call 8108 ("dfn'MSUB_D",ATy(qTy,qTy), 8109 Var("v104",PTy(FTy 5,PTy(FTy 5,PTy(FTy 5,FTy 5))))), 8110 qVar"state")), 8111 (Call 8112 ("MSUB_S",CTy"COP1", 8113 Var("v105",PTy(FTy 5,PTy(FTy 5,PTy(FTy 5,FTy 5))))), 8114 Apply 8115 (Call 8116 ("dfn'MSUB_S",ATy(qTy,qTy), 8117 Var("v105",PTy(FTy 5,PTy(FTy 5,PTy(FTy 5,FTy 5))))), 8118 qVar"state")), 8119 (Call("MTC1",CTy"COP1",Var("v106",PTy(FTy 5,FTy 5))), 8120 Apply 8121 (Call 8122 ("dfn'MTC1",ATy(qTy,qTy),Var("v106",PTy(FTy 5,FTy 5))), 8123 qVar"state")), 8124 (Call 8125 ("MUL_D",CTy"COP1", 8126 Var("v107",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8127 Apply 8128 (Call 8129 ("dfn'MUL_D",ATy(qTy,qTy), 8130 Var("v107",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8131 (Call 8132 ("MUL_S",CTy"COP1", 8133 Var("v108",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8134 Apply 8135 (Call 8136 ("dfn'MUL_S",ATy(qTy,qTy), 8137 Var("v108",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8138 (Call("NEG_D",CTy"COP1",Var("v109",PTy(FTy 5,FTy 5))), 8139 Apply 8140 (Call 8141 ("dfn'NEG_D",ATy(qTy,qTy), 8142 Var("v109",PTy(FTy 5,FTy 5))),qVar"state")), 8143 (Call("NEG_S",CTy"COP1",Var("v110",PTy(FTy 5,FTy 5))), 8144 Apply 8145 (Call 8146 ("dfn'NEG_S",ATy(qTy,qTy), 8147 Var("v110",PTy(FTy 5,FTy 5))),qVar"state")), 8148 (Call("ROUND_L_D",CTy"COP1",Var("v111",PTy(FTy 5,FTy 5))), 8149 Apply 8150 (Call 8151 ("dfn'ROUND_L_D",ATy(qTy,qTy), 8152 Var("v111",PTy(FTy 5,FTy 5))),qVar"state")), 8153 (Call("ROUND_L_S",CTy"COP1",Var("v112",PTy(FTy 5,FTy 5))), 8154 Apply 8155 (Call 8156 ("dfn'ROUND_L_S",ATy(qTy,qTy), 8157 Var("v112",PTy(FTy 5,FTy 5))),qVar"state")), 8158 (Call("ROUND_W_D",CTy"COP1",Var("v113",PTy(FTy 5,FTy 5))), 8159 Apply 8160 (Call 8161 ("dfn'ROUND_W_D",ATy(qTy,qTy), 8162 Var("v113",PTy(FTy 5,FTy 5))),qVar"state")), 8163 (Call("ROUND_W_S",CTy"COP1",Var("v114",PTy(FTy 5,FTy 5))), 8164 Apply 8165 (Call 8166 ("dfn'ROUND_W_S",ATy(qTy,qTy), 8167 Var("v114",PTy(FTy 5,FTy 5))),qVar"state")), 8168 (Call 8169 ("SDC1",CTy"COP1",Var("v115",PTy(FTy 5,PTy(F16,FTy 5)))), 8170 Apply 8171 (Call 8172 ("dfn'SDC1",ATy(qTy,qTy), 8173 Var("v115",PTy(FTy 5,PTy(F16,FTy 5)))),qVar"state")), 8174 (Call 8175 ("SDXC1",CTy"COP1", 8176 Var("v116",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8177 Apply 8178 (Call 8179 ("dfn'SDXC1",ATy(qTy,qTy), 8180 Var("v116",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8181 (Call("SQRT_D",CTy"COP1",Var("v117",PTy(FTy 5,FTy 5))), 8182 Apply 8183 (Call 8184 ("dfn'SQRT_D",ATy(qTy,qTy), 8185 Var("v117",PTy(FTy 5,FTy 5))),qVar"state")), 8186 (Call("SQRT_S",CTy"COP1",Var("v118",PTy(FTy 5,FTy 5))), 8187 Apply 8188 (Call 8189 ("dfn'SQRT_S",ATy(qTy,qTy), 8190 Var("v118",PTy(FTy 5,FTy 5))),qVar"state")), 8191 (Call 8192 ("SUB_D",CTy"COP1", 8193 Var("v119",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8194 Apply 8195 (Call 8196 ("dfn'SUB_D",ATy(qTy,qTy), 8197 Var("v119",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8198 (Call 8199 ("SUB_S",CTy"COP1", 8200 Var("v120",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8201 Apply 8202 (Call 8203 ("dfn'SUB_S",ATy(qTy,qTy), 8204 Var("v120",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8205 (Call 8206 ("SWC1",CTy"COP1",Var("v121",PTy(FTy 5,PTy(F16,FTy 5)))), 8207 Apply 8208 (Call 8209 ("dfn'SWC1",ATy(qTy,qTy), 8210 Var("v121",PTy(FTy 5,PTy(F16,FTy 5)))),qVar"state")), 8211 (Call 8212 ("SWXC1",CTy"COP1", 8213 Var("v122",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8214 Apply 8215 (Call 8216 ("dfn'SWXC1",ATy(qTy,qTy), 8217 Var("v122",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8218 (Call("TRUNC_L_D",CTy"COP1",Var("v123",PTy(FTy 5,FTy 5))), 8219 Apply 8220 (Call 8221 ("dfn'TRUNC_L_D",ATy(qTy,qTy), 8222 Var("v123",PTy(FTy 5,FTy 5))),qVar"state")), 8223 (Call("TRUNC_L_S",CTy"COP1",Var("v124",PTy(FTy 5,FTy 5))), 8224 Apply 8225 (Call 8226 ("dfn'TRUNC_L_S",ATy(qTy,qTy), 8227 Var("v124",PTy(FTy 5,FTy 5))),qVar"state")), 8228 (Call("TRUNC_W_D",CTy"COP1",Var("v125",PTy(FTy 5,FTy 5))), 8229 Apply 8230 (Call 8231 ("dfn'TRUNC_W_D",ATy(qTy,qTy), 8232 Var("v125",PTy(FTy 5,FTy 5))),qVar"state")), 8233 (Call("TRUNC_W_S",CTy"COP1",Var("v126",PTy(FTy 5,FTy 5))), 8234 Apply 8235 (Call 8236 ("dfn'TRUNC_W_S",ATy(qTy,qTy), 8237 Var("v126",PTy(FTy 5,FTy 5))),qVar"state"))])), 8238 (Call("CP",CTy"instruction",Var("v127",CTy"CP")), 8239 CS(Var("v127",CTy"CP"), 8240 [(Call 8241 ("DMFC0",CTy"CP",Var("v128",PTy(FTy 5,PTy(FTy 5,FTy 3)))), 8242 Apply 8243 (Call 8244 ("dfn'DMFC0",ATy(qTy,qTy), 8245 Var("v128",PTy(FTy 5,PTy(FTy 5,FTy 3)))),qVar"state")), 8246 (Call 8247 ("DMTC0",CTy"CP",Var("v129",PTy(FTy 5,PTy(FTy 5,FTy 3)))), 8248 Apply 8249 (Call 8250 ("dfn'DMTC0",ATy(qTy,qTy), 8251 Var("v129",PTy(FTy 5,PTy(FTy 5,FTy 3)))),qVar"state")), 8252 (Call 8253 ("MFC0",CTy"CP",Var("v130",PTy(FTy 5,PTy(FTy 5,FTy 3)))), 8254 Apply 8255 (Call 8256 ("dfn'MFC0",ATy(qTy,qTy), 8257 Var("v130",PTy(FTy 5,PTy(FTy 5,FTy 3)))),qVar"state")), 8258 (Call 8259 ("MTC0",CTy"CP",Var("v131",PTy(FTy 5,PTy(FTy 5,FTy 3)))), 8260 Apply 8261 (Call 8262 ("dfn'MTC0",ATy(qTy,qTy), 8263 Var("v131",PTy(FTy 5,PTy(FTy 5,FTy 3)))),qVar"state"))])), 8264 (Call("Load",CTy"instruction",Var("v132",CTy"Load")), 8265 CS(Var("v132",CTy"Load"), 8266 [(Call("LB",CTy"Load",Var("v133",PTy(FTy 5,PTy(FTy 5,F16)))), 8267 Apply 8268 (Call 8269 ("dfn'LB",ATy(qTy,qTy), 8270 Var("v133",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 8271 (Call 8272 ("LBU",CTy"Load",Var("v134",PTy(FTy 5,PTy(FTy 5,F16)))), 8273 Apply 8274 (Call 8275 ("dfn'LBU",ATy(qTy,qTy), 8276 Var("v134",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 8277 (Call("LD",CTy"Load",Var("v135",PTy(FTy 5,PTy(FTy 5,F16)))), 8278 Apply 8279 (Call 8280 ("dfn'LD",ATy(qTy,qTy), 8281 Var("v135",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 8282 (Call 8283 ("LDL",CTy"Load",Var("v136",PTy(FTy 5,PTy(FTy 5,F16)))), 8284 Apply 8285 (Call 8286 ("dfn'LDL",ATy(qTy,qTy), 8287 Var("v136",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 8288 (Call 8289 ("LDR",CTy"Load",Var("v137",PTy(FTy 5,PTy(FTy 5,F16)))), 8290 Apply 8291 (Call 8292 ("dfn'LDR",ATy(qTy,qTy), 8293 Var("v137",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 8294 (Call("LH",CTy"Load",Var("v138",PTy(FTy 5,PTy(FTy 5,F16)))), 8295 Apply 8296 (Call 8297 ("dfn'LH",ATy(qTy,qTy), 8298 Var("v138",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 8299 (Call 8300 ("LHU",CTy"Load",Var("v139",PTy(FTy 5,PTy(FTy 5,F16)))), 8301 Apply 8302 (Call 8303 ("dfn'LHU",ATy(qTy,qTy), 8304 Var("v139",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 8305 (Call("LL",CTy"Load",Var("v140",PTy(FTy 5,PTy(FTy 5,F16)))), 8306 Apply 8307 (Call 8308 ("dfn'LL",ATy(qTy,qTy), 8309 Var("v140",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 8310 (Call 8311 ("LLD",CTy"Load",Var("v141",PTy(FTy 5,PTy(FTy 5,F16)))), 8312 Apply 8313 (Call 8314 ("dfn'LLD",ATy(qTy,qTy), 8315 Var("v141",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 8316 (Call("LW",CTy"Load",Var("v142",PTy(FTy 5,PTy(FTy 5,F16)))), 8317 Apply 8318 (Call 8319 ("dfn'LW",ATy(qTy,qTy), 8320 Var("v142",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 8321 (Call 8322 ("LWL",CTy"Load",Var("v143",PTy(FTy 5,PTy(FTy 5,F16)))), 8323 Apply 8324 (Call 8325 ("dfn'LWL",ATy(qTy,qTy), 8326 Var("v143",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 8327 (Call 8328 ("LWR",CTy"Load",Var("v144",PTy(FTy 5,PTy(FTy 5,F16)))), 8329 Apply 8330 (Call 8331 ("dfn'LWR",ATy(qTy,qTy), 8332 Var("v144",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 8333 (Call 8334 ("LWU",CTy"Load",Var("v145",PTy(FTy 5,PTy(FTy 5,F16)))), 8335 Apply 8336 (Call 8337 ("dfn'LWU",ATy(qTy,qTy), 8338 Var("v145",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state"))])), 8339 (Call("MultDiv",CTy"instruction",Var("v146",CTy"MultDiv")), 8340 CS(Var("v146",CTy"MultDiv"), 8341 [(Call("DDIV",CTy"MultDiv",Var("v147",PTy(FTy 5,FTy 5))), 8342 Apply 8343 (Call 8344 ("dfn'DDIV",ATy(qTy,qTy),Var("v147",PTy(FTy 5,FTy 5))), 8345 qVar"state")), 8346 (Call("DDIVU",CTy"MultDiv",Var("v148",PTy(FTy 5,FTy 5))), 8347 Apply 8348 (Call 8349 ("dfn'DDIVU",ATy(qTy,qTy), 8350 Var("v148",PTy(FTy 5,FTy 5))),qVar"state")), 8351 (Call("DIV",CTy"MultDiv",Var("v149",PTy(FTy 5,FTy 5))), 8352 Apply 8353 (Call 8354 ("dfn'DIV",ATy(qTy,qTy),Var("v149",PTy(FTy 5,FTy 5))), 8355 qVar"state")), 8356 (Call("DIVU",CTy"MultDiv",Var("v150",PTy(FTy 5,FTy 5))), 8357 Apply 8358 (Call 8359 ("dfn'DIVU",ATy(qTy,qTy),Var("v150",PTy(FTy 5,FTy 5))), 8360 qVar"state")), 8361 (Call("DMULT",CTy"MultDiv",Var("v151",PTy(FTy 5,FTy 5))), 8362 Apply 8363 (Call 8364 ("dfn'DMULT",ATy(qTy,qTy), 8365 Var("v151",PTy(FTy 5,FTy 5))),qVar"state")), 8366 (Call("DMULTU",CTy"MultDiv",Var("v152",PTy(FTy 5,FTy 5))), 8367 Apply 8368 (Call 8369 ("dfn'DMULTU",ATy(qTy,qTy), 8370 Var("v152",PTy(FTy 5,FTy 5))),qVar"state")), 8371 (Call("MADD",CTy"MultDiv",Var("v153",PTy(FTy 5,FTy 5))), 8372 Apply 8373 (Call 8374 ("dfn'MADD",ATy(qTy,qTy),Var("v153",PTy(FTy 5,FTy 5))), 8375 qVar"state")), 8376 (Call("MADDU",CTy"MultDiv",Var("v154",PTy(FTy 5,FTy 5))), 8377 Apply 8378 (Call 8379 ("dfn'MADDU",ATy(qTy,qTy), 8380 Var("v154",PTy(FTy 5,FTy 5))),qVar"state")), 8381 (Call("MFHI",CTy"MultDiv",Var("v155",FTy 5)), 8382 Apply 8383 (Call("dfn'MFHI",ATy(qTy,qTy),Var("v155",FTy 5)), 8384 qVar"state")), 8385 (Call("MFLO",CTy"MultDiv",Var("v156",FTy 5)), 8386 Apply 8387 (Call("dfn'MFLO",ATy(qTy,qTy),Var("v156",FTy 5)), 8388 qVar"state")), 8389 (Call("MSUB",CTy"MultDiv",Var("v157",PTy(FTy 5,FTy 5))), 8390 Apply 8391 (Call 8392 ("dfn'MSUB",ATy(qTy,qTy),Var("v157",PTy(FTy 5,FTy 5))), 8393 qVar"state")), 8394 (Call("MSUBU",CTy"MultDiv",Var("v158",PTy(FTy 5,FTy 5))), 8395 Apply 8396 (Call 8397 ("dfn'MSUBU",ATy(qTy,qTy), 8398 Var("v158",PTy(FTy 5,FTy 5))),qVar"state")), 8399 (Call("MTHI",CTy"MultDiv",Var("v159",FTy 5)), 8400 Apply 8401 (Call("dfn'MTHI",ATy(qTy,qTy),Var("v159",FTy 5)), 8402 qVar"state")), 8403 (Call("MTLO",CTy"MultDiv",Var("v160",FTy 5)), 8404 Apply 8405 (Call("dfn'MTLO",ATy(qTy,qTy),Var("v160",FTy 5)), 8406 qVar"state")), 8407 (Call 8408 ("MUL",CTy"MultDiv", 8409 Var("v161",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8410 Apply 8411 (Call 8412 ("dfn'MUL",ATy(qTy,qTy), 8413 Var("v161",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8414 (Call("MULT",CTy"MultDiv",Var("v162",PTy(FTy 5,FTy 5))), 8415 Apply 8416 (Call 8417 ("dfn'MULT",ATy(qTy,qTy),Var("v162",PTy(FTy 5,FTy 5))), 8418 qVar"state")), 8419 (Call("MULTU",CTy"MultDiv",Var("v163",PTy(FTy 5,FTy 5))), 8420 Apply 8421 (Call 8422 ("dfn'MULTU",ATy(qTy,qTy), 8423 Var("v163",PTy(FTy 5,FTy 5))),qVar"state"))])), 8424 (Call("Shift",CTy"instruction",Var("v164",CTy"Shift")), 8425 CS(Var("v164",CTy"Shift"), 8426 [(Call 8427 ("DSLL",CTy"Shift", 8428 Var("v165",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8429 Apply 8430 (Call 8431 ("dfn'DSLL",ATy(qTy,qTy), 8432 Var("v165",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8433 (Call 8434 ("DSLL32",CTy"Shift", 8435 Var("v166",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8436 Apply 8437 (Call 8438 ("dfn'DSLL32",ATy(qTy,qTy), 8439 Var("v166",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8440 (Call 8441 ("DSLLV",CTy"Shift", 8442 Var("v167",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8443 Apply 8444 (Call 8445 ("dfn'DSLLV",ATy(qTy,qTy), 8446 Var("v167",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8447 (Call 8448 ("DSRA",CTy"Shift", 8449 Var("v168",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8450 Apply 8451 (Call 8452 ("dfn'DSRA",ATy(qTy,qTy), 8453 Var("v168",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8454 (Call 8455 ("DSRA32",CTy"Shift", 8456 Var("v169",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8457 Apply 8458 (Call 8459 ("dfn'DSRA32",ATy(qTy,qTy), 8460 Var("v169",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8461 (Call 8462 ("DSRAV",CTy"Shift", 8463 Var("v170",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8464 Apply 8465 (Call 8466 ("dfn'DSRAV",ATy(qTy,qTy), 8467 Var("v170",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8468 (Call 8469 ("DSRL",CTy"Shift", 8470 Var("v171",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8471 Apply 8472 (Call 8473 ("dfn'DSRL",ATy(qTy,qTy), 8474 Var("v171",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8475 (Call 8476 ("DSRL32",CTy"Shift", 8477 Var("v172",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8478 Apply 8479 (Call 8480 ("dfn'DSRL32",ATy(qTy,qTy), 8481 Var("v172",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8482 (Call 8483 ("DSRLV",CTy"Shift", 8484 Var("v173",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8485 Apply 8486 (Call 8487 ("dfn'DSRLV",ATy(qTy,qTy), 8488 Var("v173",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8489 (Call 8490 ("SLL",CTy"Shift", 8491 Var("v174",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8492 Apply 8493 (Call 8494 ("dfn'SLL",ATy(qTy,qTy), 8495 Var("v174",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8496 (Call 8497 ("SLLV",CTy"Shift", 8498 Var("v175",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8499 Apply 8500 (Call 8501 ("dfn'SLLV",ATy(qTy,qTy), 8502 Var("v175",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8503 (Call 8504 ("SRA",CTy"Shift", 8505 Var("v176",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8506 Apply 8507 (Call 8508 ("dfn'SRA",ATy(qTy,qTy), 8509 Var("v176",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8510 (Call 8511 ("SRAV",CTy"Shift", 8512 Var("v177",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8513 Apply 8514 (Call 8515 ("dfn'SRAV",ATy(qTy,qTy), 8516 Var("v177",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8517 (Call 8518 ("SRL",CTy"Shift", 8519 Var("v178",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8520 Apply 8521 (Call 8522 ("dfn'SRL",ATy(qTy,qTy), 8523 Var("v178",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state")), 8524 (Call 8525 ("SRLV",CTy"Shift", 8526 Var("v179",PTy(FTy 5,PTy(FTy 5,FTy 5)))), 8527 Apply 8528 (Call 8529 ("dfn'SRLV",ATy(qTy,qTy), 8530 Var("v179",PTy(FTy 5,PTy(FTy 5,FTy 5)))),qVar"state"))])), 8531 (Call("Store",CTy"instruction",Var("v180",CTy"Store")), 8532 CS(Var("v180",CTy"Store"), 8533 [(Call 8534 ("SB",CTy"Store",Var("v181",PTy(FTy 5,PTy(FTy 5,F16)))), 8535 Apply 8536 (Call 8537 ("dfn'SB",ATy(qTy,qTy), 8538 Var("v181",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 8539 (Call 8540 ("SC",CTy"Store",Var("v182",PTy(FTy 5,PTy(FTy 5,F16)))), 8541 Apply 8542 (Call 8543 ("dfn'SC",ATy(qTy,qTy), 8544 Var("v182",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 8545 (Call 8546 ("SCD",CTy"Store",Var("v183",PTy(FTy 5,PTy(FTy 5,F16)))), 8547 Apply 8548 (Call 8549 ("dfn'SCD",ATy(qTy,qTy), 8550 Var("v183",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 8551 (Call 8552 ("SD",CTy"Store",Var("v184",PTy(FTy 5,PTy(FTy 5,F16)))), 8553 Apply 8554 (Call 8555 ("dfn'SD",ATy(qTy,qTy), 8556 Var("v184",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 8557 (Call 8558 ("SDL",CTy"Store",Var("v185",PTy(FTy 5,PTy(FTy 5,F16)))), 8559 Apply 8560 (Call 8561 ("dfn'SDL",ATy(qTy,qTy), 8562 Var("v185",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 8563 (Call 8564 ("SDR",CTy"Store",Var("v186",PTy(FTy 5,PTy(FTy 5,F16)))), 8565 Apply 8566 (Call 8567 ("dfn'SDR",ATy(qTy,qTy), 8568 Var("v186",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 8569 (Call 8570 ("SH",CTy"Store",Var("v187",PTy(FTy 5,PTy(FTy 5,F16)))), 8571 Apply 8572 (Call 8573 ("dfn'SH",ATy(qTy,qTy), 8574 Var("v187",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 8575 (Call 8576 ("SW",CTy"Store",Var("v188",PTy(FTy 5,PTy(FTy 5,F16)))), 8577 Apply 8578 (Call 8579 ("dfn'SW",ATy(qTy,qTy), 8580 Var("v188",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 8581 (Call 8582 ("SWL",CTy"Store",Var("v189",PTy(FTy 5,PTy(FTy 5,F16)))), 8583 Apply 8584 (Call 8585 ("dfn'SWL",ATy(qTy,qTy), 8586 Var("v189",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state")), 8587 (Call 8588 ("SWR",CTy"Store",Var("v190",PTy(FTy 5,PTy(FTy 5,F16)))), 8589 Apply 8590 (Call 8591 ("dfn'SWR",ATy(qTy,qTy), 8592 Var("v190",PTy(FTy 5,PTy(FTy 5,F16)))),qVar"state"))])), 8593 (Call("Trap",CTy"instruction",Var("v191",CTy"Trap")), 8594 CS(Var("v191",CTy"Trap"), 8595 [(Call("TEQ",CTy"Trap",Var("v192",PTy(FTy 5,FTy 5))), 8596 Apply 8597 (Call 8598 ("dfn'TEQ",ATy(qTy,qTy),Var("v192",PTy(FTy 5,FTy 5))), 8599 qVar"state")), 8600 (Call("TEQI",CTy"Trap",Var("v193",PTy(FTy 5,F16))), 8601 Apply 8602 (Call 8603 ("dfn'TEQI",ATy(qTy,qTy),Var("v193",PTy(FTy 5,F16))), 8604 qVar"state")), 8605 (Call("TGE",CTy"Trap",Var("v194",PTy(FTy 5,FTy 5))), 8606 Apply 8607 (Call 8608 ("dfn'TGE",ATy(qTy,qTy),Var("v194",PTy(FTy 5,FTy 5))), 8609 qVar"state")), 8610 (Call("TGEI",CTy"Trap",Var("v195",PTy(FTy 5,F16))), 8611 Apply 8612 (Call 8613 ("dfn'TGEI",ATy(qTy,qTy),Var("v195",PTy(FTy 5,F16))), 8614 qVar"state")), 8615 (Call("TGEIU",CTy"Trap",Var("v196",PTy(FTy 5,F16))), 8616 Apply 8617 (Call 8618 ("dfn'TGEIU",ATy(qTy,qTy),Var("v196",PTy(FTy 5,F16))), 8619 qVar"state")), 8620 (Call("TGEU",CTy"Trap",Var("v197",PTy(FTy 5,FTy 5))), 8621 Apply 8622 (Call 8623 ("dfn'TGEU",ATy(qTy,qTy),Var("v197",PTy(FTy 5,FTy 5))), 8624 qVar"state")), 8625 (Call("TLT",CTy"Trap",Var("v198",PTy(FTy 5,FTy 5))), 8626 Apply 8627 (Call 8628 ("dfn'TLT",ATy(qTy,qTy),Var("v198",PTy(FTy 5,FTy 5))), 8629 qVar"state")), 8630 (Call("TLTI",CTy"Trap",Var("v199",PTy(FTy 5,F16))), 8631 Apply 8632 (Call 8633 ("dfn'TLTI",ATy(qTy,qTy),Var("v199",PTy(FTy 5,F16))), 8634 qVar"state")), 8635 (Call("TLTIU",CTy"Trap",Var("v200",PTy(FTy 5,F16))), 8636 Apply 8637 (Call 8638 ("dfn'TLTIU",ATy(qTy,qTy),Var("v200",PTy(FTy 5,F16))), 8639 qVar"state")), 8640 (Call("TLTU",CTy"Trap",Var("v201",PTy(FTy 5,FTy 5))), 8641 Apply 8642 (Call 8643 ("dfn'TLTU",ATy(qTy,qTy),Var("v201",PTy(FTy 5,FTy 5))), 8644 qVar"state")), 8645 (Call("TNE",CTy"Trap",Var("v202",PTy(FTy 5,FTy 5))), 8646 Apply 8647 (Call 8648 ("dfn'TNE",ATy(qTy,qTy),Var("v202",PTy(FTy 5,FTy 5))), 8649 qVar"state")), 8650 (Call("TNEI",CTy"Trap",Var("v203",PTy(FTy 5,F16))), 8651 Apply 8652 (Call 8653 ("dfn'TNEI",ATy(qTy,qTy),Var("v203",PTy(FTy 5,F16))), 8654 qVar"state"))]))]))) 8655; 8656val COP1Decode_def = Def 8657 ("COP1Decode",Var("v",FTy 26), 8658 Call 8659 ("COP1",CTy"instruction", 8660 Let(TP[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22",bVar"b'21", 8661 bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17",bVar"b'16", 8662 bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12",bVar"b'11", 8663 bVar"b'10",bVar"b'9",bVar"b'8",bVar"b'7",bVar"b'6",bVar"b'5", 8664 bVar"b'4",bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"], 8665 BL(26,Var("v",FTy 26)), 8666 ITB([(bVar"b'21", 8667 ITB([(bVar"b'3", 8668 ITB([(bVar"b'2", 8669 ITE(Bop(And,bVar"b'25", 8670 Bop(And,Mop(Not,bVar"b'24"), 8671 Bop(And,Mop(Not,bVar"b'23"), 8672 Bop(And,Mop(Not,bVar"b'22"), 8673 Bop(And, 8674 Mop(Not,bVar"b'20"), 8675 Bop(And, 8676 Mop(Not,bVar"b'19"), 8677 Bop(And, 8678 Mop(Not, 8679 bVar"b'18"), 8680 Bop(And, 8681 Mop(Not, 8682 bVar"b'17"), 8683 Bop(And, 8684 Mop(Not, 8685 bVar"b'16"), 8686 Bop(And, 8687 Mop(Not, 8688 bVar"b'5"), 8689 Mop(Not, 8690 bVar"b'4"))))))))))), 8691 ITB([(Bop(And,Mop(Not,bVar"b'1"), 8692 Mop(Not,bVar"b'0")), 8693 Call 8694 ("ROUND_W_D",CTy"COP1", 8695 TP[Mop(Cast(FTy 5), 8696 LL[bVar"b'10",bVar"b'9", 8697 bVar"b'8",bVar"b'7", 8698 bVar"b'6"]), 8699 Mop(Cast(FTy 5), 8700 LL[bVar"b'15",bVar"b'14", 8701 bVar"b'13",bVar"b'12", 8702 bVar"b'11"])])), 8703 (Bop(And,Mop(Not,bVar"b'1"),bVar"b'0"), 8704 Call 8705 ("TRUNC_W_D",CTy"COP1", 8706 TP[Mop(Cast(FTy 5), 8707 LL[bVar"b'10",bVar"b'9", 8708 bVar"b'8",bVar"b'7", 8709 bVar"b'6"]), 8710 Mop(Cast(FTy 5), 8711 LL[bVar"b'15",bVar"b'14", 8712 bVar"b'13",bVar"b'12", 8713 bVar"b'11"])])), 8714 (Bop(And,bVar"b'1",Mop(Not,bVar"b'0")), 8715 Call 8716 ("CEIL_W_D",CTy"COP1", 8717 TP[Mop(Cast(FTy 5), 8718 LL[bVar"b'10",bVar"b'9", 8719 bVar"b'8",bVar"b'7", 8720 bVar"b'6"]), 8721 Mop(Cast(FTy 5), 8722 LL[bVar"b'15",bVar"b'14", 8723 bVar"b'13",bVar"b'12", 8724 bVar"b'11"])])), 8725 (Bop(And,bVar"b'1",bVar"b'0"), 8726 Call 8727 ("FLOOR_W_D",CTy"COP1", 8728 TP[Mop(Cast(FTy 5), 8729 LL[bVar"b'10",bVar"b'9", 8730 bVar"b'8",bVar"b'7", 8731 bVar"b'6"]), 8732 Mop(Cast(FTy 5), 8733 LL[bVar"b'15",bVar"b'14", 8734 bVar"b'13",bVar"b'12", 8735 bVar"b'11"])]))], 8736 Const 8737 ("UnknownFPInstruction",CTy"COP1")), 8738 Const("UnknownFPInstruction",CTy"COP1"))), 8739 (Bop(And,bVar"b'25", 8740 Bop(And,Mop(Not,bVar"b'24"), 8741 Bop(And,Mop(Not,bVar"b'23"), 8742 Bop(And,Mop(Not,bVar"b'22"), 8743 Bop(And,Mop(Not,bVar"b'20"), 8744 Bop(And, 8745 Mop(Not,bVar"b'19"), 8746 Bop(And, 8747 Mop(Not,bVar"b'18"), 8748 Bop(And, 8749 Mop(Not, 8750 bVar"b'17"), 8751 Bop(And, 8752 Mop(Not, 8753 bVar"b'16"), 8754 Bop(And, 8755 Mop(Not, 8756 bVar"b'5"), 8757 Mop(Not, 8758 bVar"b'4"))))))))))), 8759 ITB([(Bop(And,Mop(Not,bVar"b'1"), 8760 Mop(Not,bVar"b'0")), 8761 Call 8762 ("ROUND_L_D",CTy"COP1", 8763 TP[Mop(Cast(FTy 5), 8764 LL[bVar"b'10",bVar"b'9", 8765 bVar"b'8",bVar"b'7", 8766 bVar"b'6"]), 8767 Mop(Cast(FTy 5), 8768 LL[bVar"b'15",bVar"b'14", 8769 bVar"b'13",bVar"b'12", 8770 bVar"b'11"])])), 8771 (Bop(And,Mop(Not,bVar"b'1"),bVar"b'0"), 8772 Call 8773 ("TRUNC_L_D",CTy"COP1", 8774 TP[Mop(Cast(FTy 5), 8775 LL[bVar"b'10",bVar"b'9", 8776 bVar"b'8",bVar"b'7", 8777 bVar"b'6"]), 8778 Mop(Cast(FTy 5), 8779 LL[bVar"b'15",bVar"b'14", 8780 bVar"b'13",bVar"b'12", 8781 bVar"b'11"])])), 8782 (Bop(And,bVar"b'1",Mop(Not,bVar"b'0")), 8783 Call 8784 ("CEIL_L_D",CTy"COP1", 8785 TP[Mop(Cast(FTy 5), 8786 LL[bVar"b'10",bVar"b'9", 8787 bVar"b'8",bVar"b'7", 8788 bVar"b'6"]), 8789 Mop(Cast(FTy 5), 8790 LL[bVar"b'15",bVar"b'14", 8791 bVar"b'13",bVar"b'12", 8792 bVar"b'11"])])), 8793 (Bop(And,bVar"b'1",bVar"b'0"), 8794 Call 8795 ("FLOOR_L_D",CTy"COP1", 8796 TP[Mop(Cast(FTy 5), 8797 LL[bVar"b'10",bVar"b'9", 8798 bVar"b'8",bVar"b'7", 8799 bVar"b'6"]), 8800 Mop(Cast(FTy 5), 8801 LL[bVar"b'15",bVar"b'14", 8802 bVar"b'13",bVar"b'12", 8803 bVar"b'11"])]))], 8804 Const("UnknownFPInstruction",CTy"COP1")))], 8805 Const("UnknownFPInstruction",CTy"COP1"))), 8806 (bVar"b'5", 8807 ITE(Bop(And,bVar"b'25", 8808 Bop(And,Mop(Not,bVar"b'24"), 8809 Mop(Not,bVar"b'22"))), 8810 ITB([(Bop(And,Mop(Not,bVar"b'23"), 8811 Bop(And,Mop(Not,bVar"b'7"), 8812 Bop(And,Mop(Not,bVar"b'6"), 8813 bVar"b'4"))), 8814 Call 8815 ("C_cond_D",CTy"COP1", 8816 TP[Mop(Cast(FTy 5), 8817 LL[bVar"b'15",bVar"b'14", 8818 bVar"b'13",bVar"b'12", 8819 bVar"b'11"]), 8820 Mop(Cast(FTy 5), 8821 LL[bVar"b'20",bVar"b'19", 8822 bVar"b'18",bVar"b'17", 8823 bVar"b'16"]), 8824 Mop(Cast(FTy 3), 8825 LL[bVar"b'2",bVar"b'1",bVar"b'0"]), 8826 Mop(Cast(FTy 3), 8827 LL[bVar"b'10",bVar"b'9", 8828 bVar"b'8"])])), 8829 (Bop(And,Mop(Not,bVar"b'23"), 8830 Bop(And,Mop(Not,bVar"b'20"), 8831 Bop(And,Mop(Not,bVar"b'19"), 8832 Bop(And,Mop(Not,bVar"b'18"), 8833 Bop(And, 8834 Mop(Not,bVar"b'17"), 8835 Bop(And, 8836 Mop(Not,bVar"b'16"), 8837 Bop(And, 8838 Mop(Not, 8839 bVar"b'4"), 8840 Bop(And, 8841 Mop(Not, 8842 bVar"b'2"), 8843 Bop(And, 8844 Mop(Not, 8845 bVar"b'1"), 8846 Mop(Not, 8847 bVar"b'0")))))))))), 8848 Call 8849 ("CVT_S_D",CTy"COP1", 8850 TP[Mop(Cast(FTy 5), 8851 LL[bVar"b'10",bVar"b'9", 8852 bVar"b'8",bVar"b'7",bVar"b'6"]), 8853 Mop(Cast(FTy 5), 8854 LL[bVar"b'15",bVar"b'14", 8855 bVar"b'13",bVar"b'12", 8856 bVar"b'11"])])), 8857 (Bop(And,bVar"b'23", 8858 Bop(And,Mop(Not,bVar"b'20"), 8859 Bop(And,Mop(Not,bVar"b'19"), 8860 Bop(And,Mop(Not,bVar"b'18"), 8861 Bop(And, 8862 Mop(Not,bVar"b'17"), 8863 Bop(And, 8864 Mop(Not,bVar"b'16"), 8865 Bop(And, 8866 Mop(Not, 8867 bVar"b'4"), 8868 Bop(And, 8869 Mop(Not, 8870 bVar"b'2"), 8871 Bop(And, 8872 Mop(Not, 8873 bVar"b'1"), 8874 Mop(Not, 8875 bVar"b'0")))))))))), 8876 Call 8877 ("CVT_S_L",CTy"COP1", 8878 TP[Mop(Cast(FTy 5), 8879 LL[bVar"b'10",bVar"b'9", 8880 bVar"b'8",bVar"b'7",bVar"b'6"]), 8881 Mop(Cast(FTy 5), 8882 LL[bVar"b'15",bVar"b'14", 8883 bVar"b'13",bVar"b'12", 8884 bVar"b'11"])])), 8885 (Bop(And,bVar"b'23", 8886 Bop(And,Mop(Not,bVar"b'20"), 8887 Bop(And,Mop(Not,bVar"b'19"), 8888 Bop(And,Mop(Not,bVar"b'18"), 8889 Bop(And, 8890 Mop(Not,bVar"b'17"), 8891 Bop(And, 8892 Mop(Not,bVar"b'16"), 8893 Bop(And, 8894 Mop(Not, 8895 bVar"b'4"), 8896 Bop(And, 8897 Mop(Not, 8898 bVar"b'2"), 8899 Bop(And, 8900 Mop(Not, 8901 bVar"b'1"), 8902 bVar"b'0"))))))))), 8903 Call 8904 ("CVT_D_L",CTy"COP1", 8905 TP[Mop(Cast(FTy 5), 8906 LL[bVar"b'10",bVar"b'9", 8907 bVar"b'8",bVar"b'7",bVar"b'6"]), 8908 Mop(Cast(FTy 5), 8909 LL[bVar"b'15",bVar"b'14", 8910 bVar"b'13",bVar"b'12", 8911 bVar"b'11"])])), 8912 (Bop(And,Mop(Not,bVar"b'23"), 8913 Bop(And,Mop(Not,bVar"b'20"), 8914 Bop(And,Mop(Not,bVar"b'19"), 8915 Bop(And,Mop(Not,bVar"b'18"), 8916 Bop(And, 8917 Mop(Not,bVar"b'17"), 8918 Bop(And, 8919 Mop(Not,bVar"b'16"), 8920 Bop(And, 8921 Mop(Not, 8922 bVar"b'4"), 8923 Bop(And, 8924 bVar"b'2", 8925 Bop(And, 8926 Mop(Not, 8927 bVar"b'1"), 8928 Mop(Not, 8929 bVar"b'0")))))))))), 8930 Call 8931 ("CVT_W_D",CTy"COP1", 8932 TP[Mop(Cast(FTy 5), 8933 LL[bVar"b'10",bVar"b'9", 8934 bVar"b'8",bVar"b'7",bVar"b'6"]), 8935 Mop(Cast(FTy 5), 8936 LL[bVar"b'15",bVar"b'14", 8937 bVar"b'13",bVar"b'12", 8938 bVar"b'11"])])), 8939 (Bop(And,Mop(Not,bVar"b'23"), 8940 Bop(And,Mop(Not,bVar"b'20"), 8941 Bop(And,Mop(Not,bVar"b'19"), 8942 Bop(And,Mop(Not,bVar"b'18"), 8943 Bop(And, 8944 Mop(Not,bVar"b'17"), 8945 Bop(And, 8946 Mop(Not,bVar"b'16"), 8947 Bop(And, 8948 Mop(Not, 8949 bVar"b'4"), 8950 Bop(And, 8951 bVar"b'2", 8952 Bop(And, 8953 Mop(Not, 8954 bVar"b'1"), 8955 bVar"b'0"))))))))), 8956 Call 8957 ("CVT_L_D",CTy"COP1", 8958 TP[Mop(Cast(FTy 5), 8959 LL[bVar"b'10",bVar"b'9", 8960 bVar"b'8",bVar"b'7",bVar"b'6"]), 8961 Mop(Cast(FTy 5), 8962 LL[bVar"b'15",bVar"b'14", 8963 bVar"b'13",bVar"b'12", 8964 bVar"b'11"])]))], 8965 Const("UnknownFPInstruction",CTy"COP1")), 8966 Const("UnknownFPInstruction",CTy"COP1"))), 8967 (bVar"b'0", 8968 ITE(Bop(And,bVar"b'25", 8969 Bop(And,Mop(Not,bVar"b'24"), 8970 Bop(And,Mop(Not,bVar"b'23"), 8971 Mop(Not,bVar"b'22")))), 8972 ITB([(Bop(And,Mop(Not,bVar"b'4"), 8973 Bop(And,Mop(Not,bVar"b'2"), 8974 Mop(Not,bVar"b'1"))), 8975 Call 8976 ("SUB_D",CTy"COP1", 8977 TP[Mop(Cast(FTy 5), 8978 LL[bVar"b'10",bVar"b'9", 8979 bVar"b'8",bVar"b'7",bVar"b'6"]), 8980 Mop(Cast(FTy 5), 8981 LL[bVar"b'15",bVar"b'14", 8982 bVar"b'13",bVar"b'12", 8983 bVar"b'11"]), 8984 Mop(Cast(FTy 5), 8985 LL[bVar"b'20",bVar"b'19", 8986 bVar"b'18",bVar"b'17", 8987 bVar"b'16"])])), 8988 (Bop(And,Mop(Not,bVar"b'4"), 8989 Bop(And,Mop(Not,bVar"b'2"),bVar"b'1")), 8990 Call 8991 ("DIV_D",CTy"COP1", 8992 TP[Mop(Cast(FTy 5), 8993 LL[bVar"b'10",bVar"b'9", 8994 bVar"b'8",bVar"b'7",bVar"b'6"]), 8995 Mop(Cast(FTy 5), 8996 LL[bVar"b'15",bVar"b'14", 8997 bVar"b'13",bVar"b'12", 8998 bVar"b'11"]), 8999 Mop(Cast(FTy 5), 9000 LL[bVar"b'20",bVar"b'19", 9001 bVar"b'18",bVar"b'17", 9002 bVar"b'16"])])), 9003 (Bop(And,Mop(Not,bVar"b'20"), 9004 Bop(And,Mop(Not,bVar"b'19"), 9005 Bop(And,Mop(Not,bVar"b'18"), 9006 Bop(And,Mop(Not,bVar"b'17"), 9007 Bop(And, 9008 Mop(Not,bVar"b'16"), 9009 Bop(And, 9010 Mop(Not,bVar"b'4"), 9011 Bop(And,bVar"b'2", 9012 Mop(Not, 9013 bVar"b'1")))))))), 9014 Call 9015 ("ABS_D",CTy"COP1", 9016 TP[Mop(Cast(FTy 5), 9017 LL[bVar"b'10",bVar"b'9", 9018 bVar"b'8",bVar"b'7",bVar"b'6"]), 9019 Mop(Cast(FTy 5), 9020 LL[bVar"b'15",bVar"b'14", 9021 bVar"b'13",bVar"b'12", 9022 bVar"b'11"])])), 9023 (Bop(And,Mop(Not,bVar"b'20"), 9024 Bop(And,Mop(Not,bVar"b'19"), 9025 Bop(And,Mop(Not,bVar"b'18"), 9026 Bop(And,Mop(Not,bVar"b'17"), 9027 Bop(And, 9028 Mop(Not,bVar"b'16"), 9029 Bop(And, 9030 Mop(Not,bVar"b'4"), 9031 Bop(And,bVar"b'2", 9032 bVar"b'1"))))))), 9033 Call 9034 ("NEG_D",CTy"COP1", 9035 TP[Mop(Cast(FTy 5), 9036 LL[bVar"b'10",bVar"b'9", 9037 bVar"b'8",bVar"b'7",bVar"b'6"]), 9038 Mop(Cast(FTy 5), 9039 LL[bVar"b'15",bVar"b'14", 9040 bVar"b'13",bVar"b'12", 9041 bVar"b'11"])])), 9042 (Bop(And,Mop(Not,bVar"b'17"), 9043 Bop(And,Mop(Not,bVar"b'16"), 9044 Bop(And,bVar"b'4", 9045 Bop(And,Mop(Not,bVar"b'2"), 9046 Mop(Not,bVar"b'1"))))), 9047 Call 9048 ("MOVF_D",CTy"COP1", 9049 TP[Mop(Cast(FTy 5), 9050 LL[bVar"b'10",bVar"b'9", 9051 bVar"b'8",bVar"b'7",bVar"b'6"]), 9052 Mop(Cast(FTy 5), 9053 LL[bVar"b'15",bVar"b'14", 9054 bVar"b'13",bVar"b'12", 9055 bVar"b'11"]), 9056 Mop(Cast(FTy 3), 9057 LL[bVar"b'20",bVar"b'19", 9058 bVar"b'18"])])), 9059 (Bop(And,Mop(Not,bVar"b'17"), 9060 Bop(And,bVar"b'16", 9061 Bop(And,bVar"b'4", 9062 Bop(And,Mop(Not,bVar"b'2"), 9063 Mop(Not,bVar"b'1"))))), 9064 Call 9065 ("MOVT_D",CTy"COP1", 9066 TP[Mop(Cast(FTy 5), 9067 LL[bVar"b'10",bVar"b'9", 9068 bVar"b'8",bVar"b'7",bVar"b'6"]), 9069 Mop(Cast(FTy 5), 9070 LL[bVar"b'15",bVar"b'14", 9071 bVar"b'13",bVar"b'12", 9072 bVar"b'11"]), 9073 Mop(Cast(FTy 3), 9074 LL[bVar"b'20",bVar"b'19", 9075 bVar"b'18"])])), 9076 (Bop(And,bVar"b'4", 9077 Bop(And,Mop(Not,bVar"b'2"),bVar"b'1")), 9078 Call 9079 ("MOVN_D",CTy"COP1", 9080 TP[Mop(Cast(FTy 5), 9081 LL[bVar"b'10",bVar"b'9", 9082 bVar"b'8",bVar"b'7",bVar"b'6"]), 9083 Mop(Cast(FTy 5), 9084 LL[bVar"b'15",bVar"b'14", 9085 bVar"b'13",bVar"b'12", 9086 bVar"b'11"]), 9087 Mop(Cast(FTy 5), 9088 LL[bVar"b'20",bVar"b'19", 9089 bVar"b'18",bVar"b'17", 9090 bVar"b'16"])]))], 9091 Const("UnknownFPInstruction",CTy"COP1")), 9092 Const("UnknownFPInstruction",CTy"COP1"))), 9093 (Bop(And,Mop(Not,bVar"b'24"),Mop(Not,bVar"b'22")), 9094 ITB([(Bop(And,Mop(Not,bVar"b'25"), 9095 Bop(And,Mop(Not,bVar"b'23"), 9096 Bop(And,Mop(Not,bVar"b'10"), 9097 Bop(And,Mop(Not,bVar"b'9"), 9098 Bop(And,Mop(Not,bVar"b'8"), 9099 Bop(And, 9100 Mop(Not,bVar"b'7"), 9101 Bop(And, 9102 Mop(Not,bVar"b'6"), 9103 Bop(And, 9104 Mop(Not, 9105 bVar"b'4"), 9106 Bop(And, 9107 Mop(Not, 9108 bVar"b'2"), 9109 Mop(Not, 9110 bVar"b'1")))))))))), 9111 Call 9112 ("DMFC1",CTy"COP1", 9113 TP[Mop(Cast(FTy 5), 9114 LL[bVar"b'20",bVar"b'19",bVar"b'18", 9115 bVar"b'17",bVar"b'16"]), 9116 Mop(Cast(FTy 5), 9117 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9118 bVar"b'12",bVar"b'11"])])), 9119 (Bop(And,Mop(Not,bVar"b'25"), 9120 Bop(And,bVar"b'23", 9121 Bop(And,Mop(Not,bVar"b'10"), 9122 Bop(And,Mop(Not,bVar"b'9"), 9123 Bop(And,Mop(Not,bVar"b'8"), 9124 Bop(And, 9125 Mop(Not,bVar"b'7"), 9126 Bop(And, 9127 Mop(Not,bVar"b'6"), 9128 Bop(And, 9129 Mop(Not, 9130 bVar"b'4"), 9131 Bop(And, 9132 Mop(Not, 9133 bVar"b'2"), 9134 Mop(Not, 9135 bVar"b'1")))))))))), 9136 Call 9137 ("DMTC1",CTy"COP1", 9138 TP[Mop(Cast(FTy 5), 9139 LL[bVar"b'20",bVar"b'19",bVar"b'18", 9140 bVar"b'17",bVar"b'16"]), 9141 Mop(Cast(FTy 5), 9142 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9143 bVar"b'12",bVar"b'11"])])), 9144 (Bop(And,bVar"b'25", 9145 Bop(And,Mop(Not,bVar"b'23"), 9146 Bop(And,Mop(Not,bVar"b'4"), 9147 Bop(And,Mop(Not,bVar"b'2"), 9148 Mop(Not,bVar"b'1"))))), 9149 Call 9150 ("ADD_D",CTy"COP1", 9151 TP[Mop(Cast(FTy 5), 9152 LL[bVar"b'10",bVar"b'9",bVar"b'8", 9153 bVar"b'7",bVar"b'6"]), 9154 Mop(Cast(FTy 5), 9155 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9156 bVar"b'12",bVar"b'11"]), 9157 Mop(Cast(FTy 5), 9158 LL[bVar"b'20",bVar"b'19",bVar"b'18", 9159 bVar"b'17",bVar"b'16"])])), 9160 (Bop(And,bVar"b'25", 9161 Bop(And,Mop(Not,bVar"b'23"), 9162 Bop(And,Mop(Not,bVar"b'4"), 9163 Bop(And,Mop(Not,bVar"b'2"), 9164 bVar"b'1")))), 9165 Call 9166 ("MUL_D",CTy"COP1", 9167 TP[Mop(Cast(FTy 5), 9168 LL[bVar"b'10",bVar"b'9",bVar"b'8", 9169 bVar"b'7",bVar"b'6"]), 9170 Mop(Cast(FTy 5), 9171 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9172 bVar"b'12",bVar"b'11"]), 9173 Mop(Cast(FTy 5), 9174 LL[bVar"b'20",bVar"b'19",bVar"b'18", 9175 bVar"b'17",bVar"b'16"])])), 9176 (Bop(And,bVar"b'25", 9177 Bop(And,Mop(Not,bVar"b'23"), 9178 Bop(And,Mop(Not,bVar"b'20"), 9179 Bop(And,Mop(Not,bVar"b'19"), 9180 Bop(And,Mop(Not,bVar"b'18"), 9181 Bop(And, 9182 Mop(Not,bVar"b'17"), 9183 Bop(And, 9184 Mop(Not,bVar"b'16"), 9185 Bop(And, 9186 Mop(Not, 9187 bVar"b'4"), 9188 Bop(And, 9189 bVar"b'2", 9190 Mop(Not, 9191 bVar"b'1")))))))))), 9192 Call 9193 ("SQRT_D",CTy"COP1", 9194 TP[Mop(Cast(FTy 5), 9195 LL[bVar"b'10",bVar"b'9",bVar"b'8", 9196 bVar"b'7",bVar"b'6"]), 9197 Mop(Cast(FTy 5), 9198 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9199 bVar"b'12",bVar"b'11"])])), 9200 (Bop(And,bVar"b'25", 9201 Bop(And,Mop(Not,bVar"b'23"), 9202 Bop(And,Mop(Not,bVar"b'20"), 9203 Bop(And,Mop(Not,bVar"b'19"), 9204 Bop(And,Mop(Not,bVar"b'18"), 9205 Bop(And, 9206 Mop(Not,bVar"b'17"), 9207 Bop(And, 9208 Mop(Not,bVar"b'16"), 9209 Bop(And, 9210 Mop(Not, 9211 bVar"b'4"), 9212 Bop(And, 9213 bVar"b'2", 9214 bVar"b'1"))))))))), 9215 Call 9216 ("MOV_D",CTy"COP1", 9217 TP[Mop(Cast(FTy 5), 9218 LL[bVar"b'10",bVar"b'9",bVar"b'8", 9219 bVar"b'7",bVar"b'6"]), 9220 Mop(Cast(FTy 5), 9221 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9222 bVar"b'12",bVar"b'11"])])), 9223 (Bop(And,bVar"b'25", 9224 Bop(And,Mop(Not,bVar"b'23"), 9225 Bop(And,bVar"b'4", 9226 Bop(And,Mop(Not,bVar"b'2"), 9227 bVar"b'1")))), 9228 Call 9229 ("MOVZ_D",CTy"COP1", 9230 TP[Mop(Cast(FTy 5), 9231 LL[bVar"b'10",bVar"b'9",bVar"b'8", 9232 bVar"b'7",bVar"b'6"]), 9233 Mop(Cast(FTy 5), 9234 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9235 bVar"b'12",bVar"b'11"]), 9236 Mop(Cast(FTy 5), 9237 LL[bVar"b'20",bVar"b'19",bVar"b'18", 9238 bVar"b'17",bVar"b'16"])]))], 9239 Const("UnknownFPInstruction",CTy"COP1")))], 9240 Const("UnknownFPInstruction",CTy"COP1"))), 9241 (bVar"b'25", 9242 ITB([(bVar"b'3", 9243 ITB([(bVar"b'2", 9244 ITE(Bop(And,Mop(Not,bVar"b'24"), 9245 Bop(And,Mop(Not,bVar"b'23"), 9246 Bop(And,Mop(Not,bVar"b'22"), 9247 Bop(And,Mop(Not,bVar"b'20"), 9248 Bop(And, 9249 Mop(Not,bVar"b'19"), 9250 Bop(And, 9251 Mop(Not,bVar"b'18"), 9252 Bop(And, 9253 Mop(Not, 9254 bVar"b'17"), 9255 Bop(And, 9256 Mop(Not, 9257 bVar"b'16"), 9258 Bop(And, 9259 Mop(Not, 9260 bVar"b'5"), 9261 Mop(Not, 9262 bVar"b'4")))))))))), 9263 ITB([(Bop(And,Mop(Not,bVar"b'1"), 9264 Mop(Not,bVar"b'0")), 9265 Call 9266 ("ROUND_W_S",CTy"COP1", 9267 TP[Mop(Cast(FTy 5), 9268 LL[bVar"b'10",bVar"b'9", 9269 bVar"b'8",bVar"b'7", 9270 bVar"b'6"]), 9271 Mop(Cast(FTy 5), 9272 LL[bVar"b'15",bVar"b'14", 9273 bVar"b'13",bVar"b'12", 9274 bVar"b'11"])])), 9275 (Bop(And,Mop(Not,bVar"b'1"),bVar"b'0"), 9276 Call 9277 ("TRUNC_W_S",CTy"COP1", 9278 TP[Mop(Cast(FTy 5), 9279 LL[bVar"b'10",bVar"b'9", 9280 bVar"b'8",bVar"b'7", 9281 bVar"b'6"]), 9282 Mop(Cast(FTy 5), 9283 LL[bVar"b'15",bVar"b'14", 9284 bVar"b'13",bVar"b'12", 9285 bVar"b'11"])])), 9286 (Bop(And,bVar"b'1",Mop(Not,bVar"b'0")), 9287 Call 9288 ("CEIL_W_S",CTy"COP1", 9289 TP[Mop(Cast(FTy 5), 9290 LL[bVar"b'10",bVar"b'9", 9291 bVar"b'8",bVar"b'7", 9292 bVar"b'6"]), 9293 Mop(Cast(FTy 5), 9294 LL[bVar"b'15",bVar"b'14", 9295 bVar"b'13",bVar"b'12", 9296 bVar"b'11"])])), 9297 (Bop(And,bVar"b'1",bVar"b'0"), 9298 Call 9299 ("FLOOR_W_S",CTy"COP1", 9300 TP[Mop(Cast(FTy 5), 9301 LL[bVar"b'10",bVar"b'9", 9302 bVar"b'8",bVar"b'7", 9303 bVar"b'6"]), 9304 Mop(Cast(FTy 5), 9305 LL[bVar"b'15",bVar"b'14", 9306 bVar"b'13",bVar"b'12", 9307 bVar"b'11"])]))], 9308 Const 9309 ("UnknownFPInstruction",CTy"COP1")), 9310 Const("UnknownFPInstruction",CTy"COP1"))), 9311 (Bop(And,Mop(Not,bVar"b'24"), 9312 Bop(And,Mop(Not,bVar"b'23"), 9313 Bop(And,Mop(Not,bVar"b'22"), 9314 Bop(And,Mop(Not,bVar"b'20"), 9315 Bop(And,Mop(Not,bVar"b'19"), 9316 Bop(And, 9317 Mop(Not,bVar"b'18"), 9318 Bop(And, 9319 Mop(Not,bVar"b'17"), 9320 Bop(And, 9321 Mop(Not, 9322 bVar"b'16"), 9323 Bop(And, 9324 Mop(Not, 9325 bVar"b'5"), 9326 Mop(Not, 9327 bVar"b'4")))))))))), 9328 ITB([(Bop(And,Mop(Not,bVar"b'1"), 9329 Mop(Not,bVar"b'0")), 9330 Call 9331 ("ROUND_L_S",CTy"COP1", 9332 TP[Mop(Cast(FTy 5), 9333 LL[bVar"b'10",bVar"b'9", 9334 bVar"b'8",bVar"b'7", 9335 bVar"b'6"]), 9336 Mop(Cast(FTy 5), 9337 LL[bVar"b'15",bVar"b'14", 9338 bVar"b'13",bVar"b'12", 9339 bVar"b'11"])])), 9340 (Bop(And,Mop(Not,bVar"b'1"),bVar"b'0"), 9341 Call 9342 ("TRUNC_L_S",CTy"COP1", 9343 TP[Mop(Cast(FTy 5), 9344 LL[bVar"b'10",bVar"b'9", 9345 bVar"b'8",bVar"b'7", 9346 bVar"b'6"]), 9347 Mop(Cast(FTy 5), 9348 LL[bVar"b'15",bVar"b'14", 9349 bVar"b'13",bVar"b'12", 9350 bVar"b'11"])])), 9351 (Bop(And,bVar"b'1",Mop(Not,bVar"b'0")), 9352 Call 9353 ("CEIL_L_S",CTy"COP1", 9354 TP[Mop(Cast(FTy 5), 9355 LL[bVar"b'10",bVar"b'9", 9356 bVar"b'8",bVar"b'7", 9357 bVar"b'6"]), 9358 Mop(Cast(FTy 5), 9359 LL[bVar"b'15",bVar"b'14", 9360 bVar"b'13",bVar"b'12", 9361 bVar"b'11"])])), 9362 (Bop(And,bVar"b'1",bVar"b'0"), 9363 Call 9364 ("FLOOR_L_S",CTy"COP1", 9365 TP[Mop(Cast(FTy 5), 9366 LL[bVar"b'10",bVar"b'9", 9367 bVar"b'8",bVar"b'7", 9368 bVar"b'6"]), 9369 Mop(Cast(FTy 5), 9370 LL[bVar"b'15",bVar"b'14", 9371 bVar"b'13",bVar"b'12", 9372 bVar"b'11"])]))], 9373 Const("UnknownFPInstruction",CTy"COP1")))], 9374 Const("UnknownFPInstruction",CTy"COP1"))), 9375 (bVar"b'5", 9376 ITE(Bop(And,Mop(Not,bVar"b'24"),Mop(Not,bVar"b'22")), 9377 ITB([(Bop(And,Mop(Not,bVar"b'23"), 9378 Bop(And,Mop(Not,bVar"b'7"), 9379 Bop(And,Mop(Not,bVar"b'6"), 9380 bVar"b'4"))), 9381 Call 9382 ("C_cond_S",CTy"COP1", 9383 TP[Mop(Cast(FTy 5), 9384 LL[bVar"b'15",bVar"b'14", 9385 bVar"b'13",bVar"b'12", 9386 bVar"b'11"]), 9387 Mop(Cast(FTy 5), 9388 LL[bVar"b'20",bVar"b'19", 9389 bVar"b'18",bVar"b'17", 9390 bVar"b'16"]), 9391 Mop(Cast(FTy 3), 9392 LL[bVar"b'2",bVar"b'1",bVar"b'0"]), 9393 Mop(Cast(FTy 3), 9394 LL[bVar"b'10",bVar"b'9", 9395 bVar"b'8"])])), 9396 (Bop(And,bVar"b'23", 9397 Bop(And,Mop(Not,bVar"b'20"), 9398 Bop(And,Mop(Not,bVar"b'19"), 9399 Bop(And,Mop(Not,bVar"b'18"), 9400 Bop(And, 9401 Mop(Not,bVar"b'17"), 9402 Bop(And, 9403 Mop(Not,bVar"b'16"), 9404 Bop(And, 9405 Mop(Not, 9406 bVar"b'4"), 9407 Bop(And, 9408 Mop(Not, 9409 bVar"b'2"), 9410 Bop(And, 9411 Mop(Not, 9412 bVar"b'1"), 9413 Mop(Not, 9414 bVar"b'0")))))))))), 9415 Call 9416 ("CVT_S_W",CTy"COP1", 9417 TP[Mop(Cast(FTy 5), 9418 LL[bVar"b'10",bVar"b'9", 9419 bVar"b'8",bVar"b'7",bVar"b'6"]), 9420 Mop(Cast(FTy 5), 9421 LL[bVar"b'15",bVar"b'14", 9422 bVar"b'13",bVar"b'12", 9423 bVar"b'11"])])), 9424 (Bop(And,Mop(Not,bVar"b'23"), 9425 Bop(And,Mop(Not,bVar"b'20"), 9426 Bop(And,Mop(Not,bVar"b'19"), 9427 Bop(And,Mop(Not,bVar"b'18"), 9428 Bop(And, 9429 Mop(Not,bVar"b'17"), 9430 Bop(And, 9431 Mop(Not,bVar"b'16"), 9432 Bop(And, 9433 Mop(Not, 9434 bVar"b'4"), 9435 Bop(And, 9436 Mop(Not, 9437 bVar"b'2"), 9438 Bop(And, 9439 Mop(Not, 9440 bVar"b'1"), 9441 bVar"b'0"))))))))), 9442 Call 9443 ("CVT_D_S",CTy"COP1", 9444 TP[Mop(Cast(FTy 5), 9445 LL[bVar"b'10",bVar"b'9", 9446 bVar"b'8",bVar"b'7",bVar"b'6"]), 9447 Mop(Cast(FTy 5), 9448 LL[bVar"b'15",bVar"b'14", 9449 bVar"b'13",bVar"b'12", 9450 bVar"b'11"])])), 9451 (Bop(And,bVar"b'23", 9452 Bop(And,Mop(Not,bVar"b'20"), 9453 Bop(And,Mop(Not,bVar"b'19"), 9454 Bop(And,Mop(Not,bVar"b'18"), 9455 Bop(And, 9456 Mop(Not,bVar"b'17"), 9457 Bop(And, 9458 Mop(Not,bVar"b'16"), 9459 Bop(And, 9460 Mop(Not, 9461 bVar"b'4"), 9462 Bop(And, 9463 Mop(Not, 9464 bVar"b'2"), 9465 Bop(And, 9466 Mop(Not, 9467 bVar"b'1"), 9468 bVar"b'0"))))))))), 9469 Call 9470 ("CVT_D_W",CTy"COP1", 9471 TP[Mop(Cast(FTy 5), 9472 LL[bVar"b'10",bVar"b'9", 9473 bVar"b'8",bVar"b'7",bVar"b'6"]), 9474 Mop(Cast(FTy 5), 9475 LL[bVar"b'15",bVar"b'14", 9476 bVar"b'13",bVar"b'12", 9477 bVar"b'11"])])), 9478 (Bop(And,Mop(Not,bVar"b'23"), 9479 Bop(And,Mop(Not,bVar"b'20"), 9480 Bop(And,Mop(Not,bVar"b'19"), 9481 Bop(And,Mop(Not,bVar"b'18"), 9482 Bop(And, 9483 Mop(Not,bVar"b'17"), 9484 Bop(And, 9485 Mop(Not,bVar"b'16"), 9486 Bop(And, 9487 Mop(Not, 9488 bVar"b'4"), 9489 Bop(And, 9490 bVar"b'2", 9491 Bop(And, 9492 Mop(Not, 9493 bVar"b'1"), 9494 Mop(Not, 9495 bVar"b'0")))))))))), 9496 Call 9497 ("CVT_W_S",CTy"COP1", 9498 TP[Mop(Cast(FTy 5), 9499 LL[bVar"b'10",bVar"b'9", 9500 bVar"b'8",bVar"b'7",bVar"b'6"]), 9501 Mop(Cast(FTy 5), 9502 LL[bVar"b'15",bVar"b'14", 9503 bVar"b'13",bVar"b'12", 9504 bVar"b'11"])])), 9505 (Bop(And,Mop(Not,bVar"b'23"), 9506 Bop(And,Mop(Not,bVar"b'20"), 9507 Bop(And,Mop(Not,bVar"b'19"), 9508 Bop(And,Mop(Not,bVar"b'18"), 9509 Bop(And, 9510 Mop(Not,bVar"b'17"), 9511 Bop(And, 9512 Mop(Not,bVar"b'16"), 9513 Bop(And, 9514 Mop(Not, 9515 bVar"b'4"), 9516 Bop(And, 9517 bVar"b'2", 9518 Bop(And, 9519 Mop(Not, 9520 bVar"b'1"), 9521 bVar"b'0"))))))))), 9522 Call 9523 ("CVT_L_S",CTy"COP1", 9524 TP[Mop(Cast(FTy 5), 9525 LL[bVar"b'10",bVar"b'9", 9526 bVar"b'8",bVar"b'7",bVar"b'6"]), 9527 Mop(Cast(FTy 5), 9528 LL[bVar"b'15",bVar"b'14", 9529 bVar"b'13",bVar"b'12", 9530 bVar"b'11"])]))], 9531 Const("UnknownFPInstruction",CTy"COP1")), 9532 Const("UnknownFPInstruction",CTy"COP1"))), 9533 (bVar"b'1", 9534 ITE(Bop(And,Mop(Not,bVar"b'24"), 9535 Bop(And,Mop(Not,bVar"b'23"), 9536 Mop(Not,bVar"b'22"))), 9537 ITB([(Bop(And,Mop(Not,bVar"b'4"), 9538 Bop(And,Mop(Not,bVar"b'2"), 9539 Mop(Not,bVar"b'0"))), 9540 Call 9541 ("MUL_S",CTy"COP1", 9542 TP[Mop(Cast(FTy 5), 9543 LL[bVar"b'10",bVar"b'9", 9544 bVar"b'8",bVar"b'7",bVar"b'6"]), 9545 Mop(Cast(FTy 5), 9546 LL[bVar"b'15",bVar"b'14", 9547 bVar"b'13",bVar"b'12", 9548 bVar"b'11"]), 9549 Mop(Cast(FTy 5), 9550 LL[bVar"b'20",bVar"b'19", 9551 bVar"b'18",bVar"b'17", 9552 bVar"b'16"])])), 9553 (Bop(And,Mop(Not,bVar"b'4"), 9554 Bop(And,Mop(Not,bVar"b'2"),bVar"b'0")), 9555 Call 9556 ("DIV_S",CTy"COP1", 9557 TP[Mop(Cast(FTy 5), 9558 LL[bVar"b'10",bVar"b'9", 9559 bVar"b'8",bVar"b'7",bVar"b'6"]), 9560 Mop(Cast(FTy 5), 9561 LL[bVar"b'15",bVar"b'14", 9562 bVar"b'13",bVar"b'12", 9563 bVar"b'11"]), 9564 Mop(Cast(FTy 5), 9565 LL[bVar"b'20",bVar"b'19", 9566 bVar"b'18",bVar"b'17", 9567 bVar"b'16"])])), 9568 (Bop(And,Mop(Not,bVar"b'20"), 9569 Bop(And,Mop(Not,bVar"b'19"), 9570 Bop(And,Mop(Not,bVar"b'18"), 9571 Bop(And,Mop(Not,bVar"b'17"), 9572 Bop(And, 9573 Mop(Not,bVar"b'16"), 9574 Bop(And, 9575 Mop(Not,bVar"b'4"), 9576 Bop(And,bVar"b'2", 9577 Mop(Not, 9578 bVar"b'0")))))))), 9579 Call 9580 ("MOV_S",CTy"COP1", 9581 TP[Mop(Cast(FTy 5), 9582 LL[bVar"b'10",bVar"b'9", 9583 bVar"b'8",bVar"b'7",bVar"b'6"]), 9584 Mop(Cast(FTy 5), 9585 LL[bVar"b'15",bVar"b'14", 9586 bVar"b'13",bVar"b'12", 9587 bVar"b'11"])])), 9588 (Bop(And,Mop(Not,bVar"b'20"), 9589 Bop(And,Mop(Not,bVar"b'19"), 9590 Bop(And,Mop(Not,bVar"b'18"), 9591 Bop(And,Mop(Not,bVar"b'17"), 9592 Bop(And, 9593 Mop(Not,bVar"b'16"), 9594 Bop(And, 9595 Mop(Not,bVar"b'4"), 9596 Bop(And,bVar"b'2", 9597 bVar"b'0"))))))), 9598 Call 9599 ("NEG_S",CTy"COP1", 9600 TP[Mop(Cast(FTy 5), 9601 LL[bVar"b'10",bVar"b'9", 9602 bVar"b'8",bVar"b'7",bVar"b'6"]), 9603 Mop(Cast(FTy 5), 9604 LL[bVar"b'15",bVar"b'14", 9605 bVar"b'13",bVar"b'12", 9606 bVar"b'11"])])), 9607 (Bop(And,bVar"b'4", 9608 Bop(And,Mop(Not,bVar"b'2"), 9609 Mop(Not,bVar"b'0"))), 9610 Call 9611 ("MOVZ_S",CTy"COP1", 9612 TP[Mop(Cast(FTy 5), 9613 LL[bVar"b'10",bVar"b'9", 9614 bVar"b'8",bVar"b'7",bVar"b'6"]), 9615 Mop(Cast(FTy 5), 9616 LL[bVar"b'15",bVar"b'14", 9617 bVar"b'13",bVar"b'12", 9618 bVar"b'11"]), 9619 Mop(Cast(FTy 5), 9620 LL[bVar"b'20",bVar"b'19", 9621 bVar"b'18",bVar"b'17", 9622 bVar"b'16"])])), 9623 (Bop(And,bVar"b'4", 9624 Bop(And,Mop(Not,bVar"b'2"),bVar"b'0")), 9625 Call 9626 ("MOVN_S",CTy"COP1", 9627 TP[Mop(Cast(FTy 5), 9628 LL[bVar"b'10",bVar"b'9", 9629 bVar"b'8",bVar"b'7",bVar"b'6"]), 9630 Mop(Cast(FTy 5), 9631 LL[bVar"b'15",bVar"b'14", 9632 bVar"b'13",bVar"b'12", 9633 bVar"b'11"]), 9634 Mop(Cast(FTy 5), 9635 LL[bVar"b'20",bVar"b'19", 9636 bVar"b'18",bVar"b'17", 9637 bVar"b'16"])]))], 9638 Const("UnknownFPInstruction",CTy"COP1")), 9639 Const("UnknownFPInstruction",CTy"COP1"))), 9640 (Bop(And,Mop(Not,bVar"b'24"), 9641 Bop(And,Mop(Not,bVar"b'23"),Mop(Not,bVar"b'22"))), 9642 ITB([(Bop(And,Mop(Not,bVar"b'4"), 9643 Bop(And,Mop(Not,bVar"b'2"), 9644 Mop(Not,bVar"b'0"))), 9645 Call 9646 ("ADD_S",CTy"COP1", 9647 TP[Mop(Cast(FTy 5), 9648 LL[bVar"b'10",bVar"b'9",bVar"b'8", 9649 bVar"b'7",bVar"b'6"]), 9650 Mop(Cast(FTy 5), 9651 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9652 bVar"b'12",bVar"b'11"]), 9653 Mop(Cast(FTy 5), 9654 LL[bVar"b'20",bVar"b'19",bVar"b'18", 9655 bVar"b'17",bVar"b'16"])])), 9656 (Bop(And,Mop(Not,bVar"b'4"), 9657 Bop(And,Mop(Not,bVar"b'2"),bVar"b'0")), 9658 Call 9659 ("SUB_S",CTy"COP1", 9660 TP[Mop(Cast(FTy 5), 9661 LL[bVar"b'10",bVar"b'9",bVar"b'8", 9662 bVar"b'7",bVar"b'6"]), 9663 Mop(Cast(FTy 5), 9664 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9665 bVar"b'12",bVar"b'11"]), 9666 Mop(Cast(FTy 5), 9667 LL[bVar"b'20",bVar"b'19",bVar"b'18", 9668 bVar"b'17",bVar"b'16"])])), 9669 (Bop(And,Mop(Not,bVar"b'20"), 9670 Bop(And,Mop(Not,bVar"b'19"), 9671 Bop(And,Mop(Not,bVar"b'18"), 9672 Bop(And,Mop(Not,bVar"b'17"), 9673 Bop(And,Mop(Not,bVar"b'16"), 9674 Bop(And, 9675 Mop(Not,bVar"b'4"), 9676 Bop(And,bVar"b'2", 9677 Mop(Not,bVar"b'0")))))))), 9678 Call 9679 ("SQRT_S",CTy"COP1", 9680 TP[Mop(Cast(FTy 5), 9681 LL[bVar"b'10",bVar"b'9",bVar"b'8", 9682 bVar"b'7",bVar"b'6"]), 9683 Mop(Cast(FTy 5), 9684 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9685 bVar"b'12",bVar"b'11"])])), 9686 (Bop(And,Mop(Not,bVar"b'20"), 9687 Bop(And,Mop(Not,bVar"b'19"), 9688 Bop(And,Mop(Not,bVar"b'18"), 9689 Bop(And,Mop(Not,bVar"b'17"), 9690 Bop(And,Mop(Not,bVar"b'16"), 9691 Bop(And, 9692 Mop(Not,bVar"b'4"), 9693 Bop(And,bVar"b'2", 9694 bVar"b'0"))))))), 9695 Call 9696 ("ABS_S",CTy"COP1", 9697 TP[Mop(Cast(FTy 5), 9698 LL[bVar"b'10",bVar"b'9",bVar"b'8", 9699 bVar"b'7",bVar"b'6"]), 9700 Mop(Cast(FTy 5), 9701 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9702 bVar"b'12",bVar"b'11"])])), 9703 (Bop(And,Mop(Not,bVar"b'17"), 9704 Bop(And,Mop(Not,bVar"b'16"), 9705 Bop(And,bVar"b'4", 9706 Bop(And,Mop(Not,bVar"b'2"), 9707 bVar"b'0")))), 9708 Call 9709 ("MOVF_S",CTy"COP1", 9710 TP[Mop(Cast(FTy 5), 9711 LL[bVar"b'10",bVar"b'9",bVar"b'8", 9712 bVar"b'7",bVar"b'6"]), 9713 Mop(Cast(FTy 5), 9714 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9715 bVar"b'12",bVar"b'11"]), 9716 Mop(Cast(FTy 3), 9717 LL[bVar"b'20",bVar"b'19",bVar"b'18"])])), 9718 (Bop(And,Mop(Not,bVar"b'17"), 9719 Bop(And,bVar"b'16", 9720 Bop(And,bVar"b'4", 9721 Bop(And,Mop(Not,bVar"b'2"), 9722 bVar"b'0")))), 9723 Call 9724 ("MOVT_S",CTy"COP1", 9725 TP[Mop(Cast(FTy 5), 9726 LL[bVar"b'10",bVar"b'9",bVar"b'8", 9727 bVar"b'7",bVar"b'6"]), 9728 Mop(Cast(FTy 5), 9729 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9730 bVar"b'12",bVar"b'11"]), 9731 Mop(Cast(FTy 3), 9732 LL[bVar"b'20",bVar"b'19",bVar"b'18"])]))], 9733 Const("UnknownFPInstruction",CTy"COP1")))], 9734 Const("UnknownFPInstruction",CTy"COP1"))), 9735 (bVar"b'24", 9736 ITE(Bop(And,Mop(Not,bVar"b'23"),Mop(Not,bVar"b'22")), 9737 ITB([(Bop(And,Mop(Not,bVar"b'17"),Mop(Not,bVar"b'16")), 9738 Call 9739 ("BC1F",CTy"COP1", 9740 TP[Mop(Cast F16, 9741 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9742 bVar"b'12",bVar"b'11",bVar"b'10", 9743 bVar"b'9",bVar"b'8",bVar"b'7", 9744 bVar"b'6",bVar"b'5",bVar"b'4", 9745 bVar"b'3",bVar"b'2",bVar"b'1", 9746 bVar"b'0"]), 9747 Mop(Cast(FTy 3), 9748 LL[bVar"b'20",bVar"b'19",bVar"b'18"])])), 9749 (Bop(And,Mop(Not,bVar"b'17"),bVar"b'16"), 9750 Call 9751 ("BC1T",CTy"COP1", 9752 TP[Mop(Cast F16, 9753 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9754 bVar"b'12",bVar"b'11",bVar"b'10", 9755 bVar"b'9",bVar"b'8",bVar"b'7", 9756 bVar"b'6",bVar"b'5",bVar"b'4", 9757 bVar"b'3",bVar"b'2",bVar"b'1", 9758 bVar"b'0"]), 9759 Mop(Cast(FTy 3), 9760 LL[bVar"b'20",bVar"b'19",bVar"b'18"])])), 9761 (Bop(And,bVar"b'17",Mop(Not,bVar"b'16")), 9762 Call 9763 ("BC1FL",CTy"COP1", 9764 TP[Mop(Cast F16, 9765 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9766 bVar"b'12",bVar"b'11",bVar"b'10", 9767 bVar"b'9",bVar"b'8",bVar"b'7", 9768 bVar"b'6",bVar"b'5",bVar"b'4", 9769 bVar"b'3",bVar"b'2",bVar"b'1", 9770 bVar"b'0"]), 9771 Mop(Cast(FTy 3), 9772 LL[bVar"b'20",bVar"b'19",bVar"b'18"])])), 9773 (Bop(And,bVar"b'17",bVar"b'16"), 9774 Call 9775 ("BC1TL",CTy"COP1", 9776 TP[Mop(Cast F16, 9777 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9778 bVar"b'12",bVar"b'11",bVar"b'10", 9779 bVar"b'9",bVar"b'8",bVar"b'7", 9780 bVar"b'6",bVar"b'5",bVar"b'4", 9781 bVar"b'3",bVar"b'2",bVar"b'1", 9782 bVar"b'0"]), 9783 Mop(Cast(FTy 3), 9784 LL[bVar"b'20",bVar"b'19",bVar"b'18"])]))], 9785 Const("UnknownFPInstruction",CTy"COP1")), 9786 Const("UnknownFPInstruction",CTy"COP1"))), 9787 (Bop(And,Mop(Not,bVar"b'10"), 9788 Bop(And,Mop(Not,bVar"b'9"), 9789 Bop(And,Mop(Not,bVar"b'8"), 9790 Bop(And,Mop(Not,bVar"b'7"), 9791 Bop(And,Mop(Not,bVar"b'6"), 9792 Bop(And,Mop(Not,bVar"b'5"), 9793 Bop(And,Mop(Not,bVar"b'4"), 9794 Bop(And,Mop(Not,bVar"b'3"), 9795 Bop(And, 9796 Mop(Not,bVar"b'2"), 9797 Bop(And, 9798 Mop(Not,bVar"b'1"), 9799 Mop(Not,bVar"b'0"))))))))))), 9800 ITB([(Bop(And,Mop(Not,bVar"b'23"),Mop(Not,bVar"b'22")), 9801 Call 9802 ("MFC1",CTy"COP1", 9803 TP[Mop(Cast(FTy 5), 9804 LL[bVar"b'20",bVar"b'19",bVar"b'18", 9805 bVar"b'17",bVar"b'16"]), 9806 Mop(Cast(FTy 5), 9807 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9808 bVar"b'12",bVar"b'11"])])), 9809 (Bop(And,Mop(Not,bVar"b'23"),bVar"b'22"), 9810 Call 9811 ("CFC1",CTy"COP1", 9812 TP[Mop(Cast(FTy 5), 9813 LL[bVar"b'20",bVar"b'19",bVar"b'18", 9814 bVar"b'17",bVar"b'16"]), 9815 Mop(Cast(FTy 5), 9816 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9817 bVar"b'12",bVar"b'11"])])), 9818 (Bop(And,bVar"b'23",Mop(Not,bVar"b'22")), 9819 Call 9820 ("MTC1",CTy"COP1", 9821 TP[Mop(Cast(FTy 5), 9822 LL[bVar"b'20",bVar"b'19",bVar"b'18", 9823 bVar"b'17",bVar"b'16"]), 9824 Mop(Cast(FTy 5), 9825 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9826 bVar"b'12",bVar"b'11"])])), 9827 (Bop(And,bVar"b'23",bVar"b'22"), 9828 Call 9829 ("CTC1",CTy"COP1", 9830 TP[Mop(Cast(FTy 5), 9831 LL[bVar"b'20",bVar"b'19",bVar"b'18", 9832 bVar"b'17",bVar"b'16"]), 9833 Mop(Cast(FTy 5), 9834 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9835 bVar"b'12",bVar"b'11"])]))], 9836 Const("UnknownFPInstruction",CTy"COP1")))], 9837 Const("UnknownFPInstruction",CTy"COP1"))))) 9838; 9839val LDC1Decode_def = Def 9840 ("LDC1Decode",TP[Var("base",FTy 5),Var("offset",F16),Var("ft",FTy 5)], 9841 Call 9842 ("COP1",CTy"instruction", 9843 Call 9844 ("LDC1",CTy"COP1", 9845 TP[Var("base",FTy 5),Var("offset",F16),Var("ft",FTy 5)]))) 9846; 9847val LWC1Decode_def = Def 9848 ("LWC1Decode",TP[Var("base",FTy 5),Var("offset",F16),Var("ft",FTy 5)], 9849 Call 9850 ("COP1",CTy"instruction", 9851 Call 9852 ("LWC1",CTy"COP1", 9853 TP[Var("base",FTy 5),Var("offset",F16),Var("ft",FTy 5)]))) 9854; 9855val SDC1Decode_def = Def 9856 ("SDC1Decode",TP[Var("base",FTy 5),Var("offset",F16),Var("ft",FTy 5)], 9857 Call 9858 ("COP1",CTy"instruction", 9859 Call 9860 ("SDC1",CTy"COP1", 9861 TP[Var("base",FTy 5),Var("offset",F16),Var("ft",FTy 5)]))) 9862; 9863val SWC1Decode_def = Def 9864 ("SWC1Decode",TP[Var("base",FTy 5),Var("offset",F16),Var("ft",FTy 5)], 9865 Call 9866 ("COP1",CTy"instruction", 9867 Call 9868 ("SWC1",CTy"COP1", 9869 TP[Var("base",FTy 5),Var("offset",F16),Var("ft",FTy 5)]))) 9870; 9871val MOVCIDecode_def = Def 9872 ("MOVCIDecode",TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)], 9873 Let(TP[bVar"b'4",bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"], 9874 BL(5,Var("rt",FTy 5)), 9875 ITE(Mop(Not,bVar"b'1"), 9876 ITB([(Mop(Not,bVar"b'0"), 9877 Call 9878 ("COP1",CTy"instruction", 9879 Call 9880 ("MOVF",CTy"COP1", 9881 TP[Var("rd",FTy 5),Var("rs",FTy 5), 9882 Mop(Cast(FTy 3), 9883 LL[bVar"b'4",bVar"b'3",bVar"b'2"])]))), 9884 (bVar"b'0", 9885 Call 9886 ("COP1",CTy"instruction", 9887 Call 9888 ("MOVT",CTy"COP1", 9889 TP[Var("rd",FTy 5),Var("rs",FTy 5), 9890 Mop(Cast(FTy 3), 9891 LL[bVar"b'4",bVar"b'3",bVar"b'2"])])))], 9892 Const("ReservedInstruction",CTy"instruction")), 9893 Const("ReservedInstruction",CTy"instruction")))) 9894; 9895val COP3Decode_def = Def 9896 ("COP3Decode",Var("v",FTy 26), 9897 Call 9898 ("COP1",CTy"instruction", 9899 Let(TP[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22",bVar"b'21", 9900 bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17",bVar"b'16", 9901 bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12",bVar"b'11", 9902 bVar"b'10",bVar"b'9",bVar"b'8",bVar"b'7",bVar"b'6",bVar"b'5", 9903 bVar"b'4",bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"], 9904 BL(26,Var("v",FTy 26)), 9905 ITB([(bVar"b'5", 9906 ITE(Bop(And,Mop(Not,bVar"b'4"), 9907 Bop(And,Mop(Not,bVar"b'2"),Mop(Not,bVar"b'1"))), 9908 ITB([(Bop(And,Mop(Not,bVar"b'3"),Mop(Not,bVar"b'0")), 9909 Call 9910 ("MADD_S",CTy"COP1", 9911 TP[Mop(Cast(FTy 5), 9912 LL[bVar"b'10",bVar"b'9",bVar"b'8", 9913 bVar"b'7",bVar"b'6"]), 9914 Mop(Cast(FTy 5), 9915 LL[bVar"b'25",bVar"b'24",bVar"b'23", 9916 bVar"b'22",bVar"b'21"]), 9917 Mop(Cast(FTy 5), 9918 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9919 bVar"b'12",bVar"b'11"]), 9920 Mop(Cast(FTy 5), 9921 LL[bVar"b'20",bVar"b'19",bVar"b'18", 9922 bVar"b'17",bVar"b'16"])])), 9923 (Bop(And,Mop(Not,bVar"b'3"),bVar"b'0"), 9924 Call 9925 ("MADD_D",CTy"COP1", 9926 TP[Mop(Cast(FTy 5), 9927 LL[bVar"b'10",bVar"b'9",bVar"b'8", 9928 bVar"b'7",bVar"b'6"]), 9929 Mop(Cast(FTy 5), 9930 LL[bVar"b'25",bVar"b'24",bVar"b'23", 9931 bVar"b'22",bVar"b'21"]), 9932 Mop(Cast(FTy 5), 9933 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9934 bVar"b'12",bVar"b'11"]), 9935 Mop(Cast(FTy 5), 9936 LL[bVar"b'20",bVar"b'19",bVar"b'18", 9937 bVar"b'17",bVar"b'16"])])), 9938 (Bop(And,bVar"b'3",Mop(Not,bVar"b'0")), 9939 Call 9940 ("MSUB_S",CTy"COP1", 9941 TP[Mop(Cast(FTy 5), 9942 LL[bVar"b'10",bVar"b'9",bVar"b'8", 9943 bVar"b'7",bVar"b'6"]), 9944 Mop(Cast(FTy 5), 9945 LL[bVar"b'25",bVar"b'24",bVar"b'23", 9946 bVar"b'22",bVar"b'21"]), 9947 Mop(Cast(FTy 5), 9948 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9949 bVar"b'12",bVar"b'11"]), 9950 Mop(Cast(FTy 5), 9951 LL[bVar"b'20",bVar"b'19",bVar"b'18", 9952 bVar"b'17",bVar"b'16"])])), 9953 (Bop(And,bVar"b'3",bVar"b'0"), 9954 Call 9955 ("MSUB_D",CTy"COP1", 9956 TP[Mop(Cast(FTy 5), 9957 LL[bVar"b'10",bVar"b'9",bVar"b'8", 9958 bVar"b'7",bVar"b'6"]), 9959 Mop(Cast(FTy 5), 9960 LL[bVar"b'25",bVar"b'24",bVar"b'23", 9961 bVar"b'22",bVar"b'21"]), 9962 Mop(Cast(FTy 5), 9963 LL[bVar"b'15",bVar"b'14",bVar"b'13", 9964 bVar"b'12",bVar"b'11"]), 9965 Mop(Cast(FTy 5), 9966 LL[bVar"b'20",bVar"b'19",bVar"b'18", 9967 bVar"b'17",bVar"b'16"])]))], 9968 Const("UnknownFPInstruction",CTy"COP1")), 9969 Const("UnknownFPInstruction",CTy"COP1"))), 9970 (Bop(And,Mop(Not,bVar"b'4"), 9971 Bop(And,Mop(Not,bVar"b'2"),Mop(Not,bVar"b'1"))), 9972 ITB([(Bop(And,Mop(Not,bVar"b'15"), 9973 Bop(And,Mop(Not,bVar"b'14"), 9974 Bop(And,Mop(Not,bVar"b'13"), 9975 Bop(And,Mop(Not,bVar"b'12"), 9976 Bop(And,Mop(Not,bVar"b'11"), 9977 Bop(And,Mop(Not,bVar"b'3"), 9978 Mop(Not,bVar"b'0"))))))), 9979 Call 9980 ("LWXC1",CTy"COP1", 9981 TP[Mop(Cast(FTy 5), 9982 LL[bVar"b'10",bVar"b'9",bVar"b'8", 9983 bVar"b'7",bVar"b'6"]), 9984 Mop(Cast(FTy 5), 9985 LL[bVar"b'20",bVar"b'19",bVar"b'18", 9986 bVar"b'17",bVar"b'16"]), 9987 Mop(Cast(FTy 5), 9988 LL[bVar"b'25",bVar"b'24",bVar"b'23", 9989 bVar"b'22",bVar"b'21"])])), 9990 (Bop(And,Mop(Not,bVar"b'15"), 9991 Bop(And,Mop(Not,bVar"b'14"), 9992 Bop(And,Mop(Not,bVar"b'13"), 9993 Bop(And,Mop(Not,bVar"b'12"), 9994 Bop(And,Mop(Not,bVar"b'11"), 9995 Bop(And,Mop(Not,bVar"b'3"), 9996 bVar"b'0")))))), 9997 Call 9998 ("LDXC1",CTy"COP1", 9999 TP[Mop(Cast(FTy 5), 10000 LL[bVar"b'10",bVar"b'9",bVar"b'8", 10001 bVar"b'7",bVar"b'6"]), 10002 Mop(Cast(FTy 5), 10003 LL[bVar"b'20",bVar"b'19",bVar"b'18", 10004 bVar"b'17",bVar"b'16"]), 10005 Mop(Cast(FTy 5), 10006 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10007 bVar"b'22",bVar"b'21"])])), 10008 (Bop(And,Mop(Not,bVar"b'10"), 10009 Bop(And,Mop(Not,bVar"b'9"), 10010 Bop(And,Mop(Not,bVar"b'8"), 10011 Bop(And,Mop(Not,bVar"b'7"), 10012 Bop(And,Mop(Not,bVar"b'6"), 10013 Bop(And,bVar"b'3", 10014 Mop(Not,bVar"b'0"))))))), 10015 Call 10016 ("SWXC1",CTy"COP1", 10017 TP[Mop(Cast(FTy 5), 10018 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10019 bVar"b'12",bVar"b'11"]), 10020 Mop(Cast(FTy 5), 10021 LL[bVar"b'20",bVar"b'19",bVar"b'18", 10022 bVar"b'17",bVar"b'16"]), 10023 Mop(Cast(FTy 5), 10024 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10025 bVar"b'22",bVar"b'21"])])), 10026 (Bop(And,Mop(Not,bVar"b'10"), 10027 Bop(And,Mop(Not,bVar"b'9"), 10028 Bop(And,Mop(Not,bVar"b'8"), 10029 Bop(And,Mop(Not,bVar"b'7"), 10030 Bop(And,Mop(Not,bVar"b'6"), 10031 Bop(And,bVar"b'3",bVar"b'0")))))), 10032 Call 10033 ("SDXC1",CTy"COP1", 10034 TP[Mop(Cast(FTy 5), 10035 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10036 bVar"b'12",bVar"b'11"]), 10037 Mop(Cast(FTy 5), 10038 LL[bVar"b'20",bVar"b'19",bVar"b'18", 10039 bVar"b'17",bVar"b'16"]), 10040 Mop(Cast(FTy 5), 10041 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10042 bVar"b'22",bVar"b'21"])]))], 10043 Const("UnknownFPInstruction",CTy"COP1")))], 10044 Const("UnknownFPInstruction",CTy"COP1"))))) 10045; 10046val Decode_def = Def 10047 ("Decode",Var("w",F32), 10048 Let(TP[bVar"b'31",bVar"b'30",bVar"b'29",bVar"b'28",bVar"b'27", 10049 bVar"b'26",bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 10050 bVar"b'21",bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 10051 bVar"b'16",bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 10052 bVar"b'11",bVar"b'10",bVar"b'9",bVar"b'8",bVar"b'7",bVar"b'6", 10053 bVar"b'5",bVar"b'4",bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"], 10054 BL(32,Var("w",F32)), 10055 ITB([(bVar"b'26", 10056 ITB([(bVar"b'28", 10057 ITB([(bVar"b'31", 10058 ITB([(bVar"b'30", 10059 ITB([(Bop(And,Mop(Not,bVar"b'29"), 10060 bVar"b'27"), 10061 Call 10062 ("Load",CTy"instruction", 10063 Call 10064 ("LD",CTy"Load", 10065 TP[Mop(Cast(FTy 5), 10066 LL[bVar"b'25", 10067 bVar"b'24", 10068 bVar"b'23", 10069 bVar"b'22",bVar"b'21"]), 10070 Mop(Cast(FTy 5), 10071 LL[bVar"b'20", 10072 bVar"b'19", 10073 bVar"b'18", 10074 bVar"b'17",bVar"b'16"]), 10075 Mop(Cast F16, 10076 LL[bVar"b'15", 10077 bVar"b'14", 10078 bVar"b'13", 10079 bVar"b'12", 10080 bVar"b'11", 10081 bVar"b'10",bVar"b'9", 10082 bVar"b'8",bVar"b'7", 10083 bVar"b'6",bVar"b'5", 10084 bVar"b'4",bVar"b'3", 10085 bVar"b'2",bVar"b'1", 10086 bVar"b'0"])]))), 10087 (Bop(And,bVar"b'29",bVar"b'27"), 10088 Call 10089 ("Store",CTy"instruction", 10090 Call 10091 ("SD",CTy"Store", 10092 TP[Mop(Cast(FTy 5), 10093 LL[bVar"b'25", 10094 bVar"b'24", 10095 bVar"b'23", 10096 bVar"b'22",bVar"b'21"]), 10097 Mop(Cast(FTy 5), 10098 LL[bVar"b'20", 10099 bVar"b'19", 10100 bVar"b'18", 10101 bVar"b'17",bVar"b'16"]), 10102 Mop(Cast F16, 10103 LL[bVar"b'15", 10104 bVar"b'14", 10105 bVar"b'13", 10106 bVar"b'12", 10107 bVar"b'11", 10108 bVar"b'10",bVar"b'9", 10109 bVar"b'8",bVar"b'7", 10110 bVar"b'6",bVar"b'5", 10111 bVar"b'4",bVar"b'3", 10112 bVar"b'2",bVar"b'1", 10113 bVar"b'0"])]))), 10114 (Bop(And,Mop(Not,bVar"b'29"), 10115 Mop(Not,bVar"b'27")), 10116 Call 10117 ("LDC1Decode",CTy"instruction", 10118 TP[Mop(Cast(FTy 5), 10119 LL[bVar"b'20",bVar"b'19", 10120 bVar"b'18",bVar"b'17", 10121 bVar"b'16"]), 10122 Mop(Cast F16, 10123 LL[bVar"b'15",bVar"b'14", 10124 bVar"b'13",bVar"b'12", 10125 bVar"b'11",bVar"b'10", 10126 bVar"b'9",bVar"b'8", 10127 bVar"b'7",bVar"b'6", 10128 bVar"b'5",bVar"b'4", 10129 bVar"b'3",bVar"b'2", 10130 bVar"b'1",bVar"b'0"]), 10131 Mop(Cast(FTy 5), 10132 LL[bVar"b'25",bVar"b'24", 10133 bVar"b'23",bVar"b'22", 10134 bVar"b'21"])])), 10135 (Bop(And,bVar"b'29", 10136 Mop(Not,bVar"b'27")), 10137 Call 10138 ("SDC1Decode",CTy"instruction", 10139 TP[Mop(Cast(FTy 5), 10140 LL[bVar"b'20",bVar"b'19", 10141 bVar"b'18",bVar"b'17", 10142 bVar"b'16"]), 10143 Mop(Cast F16, 10144 LL[bVar"b'15",bVar"b'14", 10145 bVar"b'13",bVar"b'12", 10146 bVar"b'11",bVar"b'10", 10147 bVar"b'9",bVar"b'8", 10148 bVar"b'7",bVar"b'6", 10149 bVar"b'5",bVar"b'4", 10150 bVar"b'3",bVar"b'2", 10151 bVar"b'1",bVar"b'0"]), 10152 Mop(Cast(FTy 5), 10153 LL[bVar"b'25",bVar"b'24", 10154 bVar"b'23",bVar"b'22", 10155 bVar"b'21"])]))], 10156 Const 10157 ("ReservedInstruction", 10158 CTy"instruction"))), 10159 (Bop(And,Mop(Not,bVar"b'29"), 10160 Mop(Not,bVar"b'27")), 10161 Call 10162 ("Load",CTy"instruction", 10163 Call 10164 ("LHU",CTy"Load", 10165 TP[Mop(Cast(FTy 5), 10166 LL[bVar"b'25",bVar"b'24", 10167 bVar"b'23",bVar"b'22", 10168 bVar"b'21"]), 10169 Mop(Cast(FTy 5), 10170 LL[bVar"b'20",bVar"b'19", 10171 bVar"b'18",bVar"b'17", 10172 bVar"b'16"]), 10173 Mop(Cast F16, 10174 LL[bVar"b'15",bVar"b'14", 10175 bVar"b'13",bVar"b'12", 10176 bVar"b'11",bVar"b'10", 10177 bVar"b'9",bVar"b'8", 10178 bVar"b'7",bVar"b'6", 10179 bVar"b'5",bVar"b'4", 10180 bVar"b'3",bVar"b'2", 10181 bVar"b'1",bVar"b'0"])]))), 10182 (Bop(And,Mop(Not,bVar"b'29"),bVar"b'27"), 10183 Call 10184 ("Load",CTy"instruction", 10185 Call 10186 ("LWU",CTy"Load", 10187 TP[Mop(Cast(FTy 5), 10188 LL[bVar"b'25",bVar"b'24", 10189 bVar"b'23",bVar"b'22", 10190 bVar"b'21"]), 10191 Mop(Cast(FTy 5), 10192 LL[bVar"b'20",bVar"b'19", 10193 bVar"b'18",bVar"b'17", 10194 bVar"b'16"]), 10195 Mop(Cast F16, 10196 LL[bVar"b'15",bVar"b'14", 10197 bVar"b'13",bVar"b'12", 10198 bVar"b'11",bVar"b'10", 10199 bVar"b'9",bVar"b'8", 10200 bVar"b'7",bVar"b'6", 10201 bVar"b'5",bVar"b'4", 10202 bVar"b'3",bVar"b'2", 10203 bVar"b'1",bVar"b'0"])]))), 10204 (Bop(And,bVar"b'29",Mop(Not,bVar"b'27")), 10205 Call 10206 ("Store",CTy"instruction", 10207 Call 10208 ("SDR",CTy"Store", 10209 TP[Mop(Cast(FTy 5), 10210 LL[bVar"b'25",bVar"b'24", 10211 bVar"b'23",bVar"b'22", 10212 bVar"b'21"]), 10213 Mop(Cast(FTy 5), 10214 LL[bVar"b'20",bVar"b'19", 10215 bVar"b'18",bVar"b'17", 10216 bVar"b'16"]), 10217 Mop(Cast F16, 10218 LL[bVar"b'15",bVar"b'14", 10219 bVar"b'13",bVar"b'12", 10220 bVar"b'11",bVar"b'10", 10221 bVar"b'9",bVar"b'8", 10222 bVar"b'7",bVar"b'6", 10223 bVar"b'5",bVar"b'4", 10224 bVar"b'3",bVar"b'2", 10225 bVar"b'1",bVar"b'0"])]))), 10226 (Bop(And,bVar"b'29",bVar"b'27"), 10227 Call 10228 ("CACHE",CTy"instruction", 10229 TP[Mop(Cast(FTy 5), 10230 LL[bVar"b'25",bVar"b'24", 10231 bVar"b'23",bVar"b'22", 10232 bVar"b'21"]), 10233 Mop(Cast(FTy 5), 10234 LL[bVar"b'20",bVar"b'19", 10235 bVar"b'18",bVar"b'17", 10236 bVar"b'16"]), 10237 Mop(Cast F16, 10238 LL[bVar"b'15",bVar"b'14", 10239 bVar"b'13",bVar"b'12", 10240 bVar"b'11",bVar"b'10", 10241 bVar"b'9",bVar"b'8",bVar"b'7", 10242 bVar"b'6",bVar"b'5",bVar"b'4", 10243 bVar"b'3",bVar"b'2",bVar"b'1", 10244 bVar"b'0"])]))], 10245 Const("ReservedInstruction",CTy"instruction"))), 10246 (Bop(And,Mop(Not,bVar"b'30"), 10247 Bop(And,Mop(Not,bVar"b'29"), 10248 Bop(And,bVar"b'27", 10249 Bop(And,Mop(Not,bVar"b'20"), 10250 Bop(And,Mop(Not,bVar"b'19"), 10251 Bop(And,Mop(Not,bVar"b'18"), 10252 Bop(And, 10253 Mop(Not,bVar"b'17"), 10254 Mop(Not,bVar"b'16")))))))), 10255 Call 10256 ("Branch",CTy"instruction", 10257 Call 10258 ("BGTZ",CTy"Branch", 10259 TP[Mop(Cast(FTy 5), 10260 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10261 bVar"b'22",bVar"b'21"]), 10262 Mop(Cast F16, 10263 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10264 bVar"b'12",bVar"b'11",bVar"b'10", 10265 bVar"b'9",bVar"b'8",bVar"b'7", 10266 bVar"b'6",bVar"b'5",bVar"b'4", 10267 bVar"b'3",bVar"b'2",bVar"b'1", 10268 bVar"b'0"])]))), 10269 (Bop(And,Mop(Not,bVar"b'30"), 10270 Bop(And,bVar"b'29", 10271 Bop(And,bVar"b'27", 10272 Bop(And,Mop(Not,bVar"b'25"), 10273 Bop(And,Mop(Not,bVar"b'24"), 10274 Bop(And,Mop(Not,bVar"b'23"), 10275 Bop(And, 10276 Mop(Not,bVar"b'22"), 10277 Mop(Not,bVar"b'21")))))))), 10278 Call 10279 ("ArithI",CTy"instruction", 10280 Call 10281 ("LUI",CTy"ArithI", 10282 TP[Mop(Cast(FTy 5), 10283 LL[bVar"b'20",bVar"b'19",bVar"b'18", 10284 bVar"b'17",bVar"b'16"]), 10285 Mop(Cast F16, 10286 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10287 bVar"b'12",bVar"b'11",bVar"b'10", 10288 bVar"b'9",bVar"b'8",bVar"b'7", 10289 bVar"b'6",bVar"b'5",bVar"b'4", 10290 bVar"b'3",bVar"b'2",bVar"b'1", 10291 bVar"b'0"])]))), 10292 (Bop(And,bVar"b'30", 10293 Bop(And,Mop(Not,bVar"b'29"), 10294 Bop(And,bVar"b'27", 10295 Bop(And,Mop(Not,bVar"b'20"), 10296 Bop(And,Mop(Not,bVar"b'19"), 10297 Bop(And,Mop(Not,bVar"b'18"), 10298 Bop(And, 10299 Mop(Not,bVar"b'17"), 10300 Mop(Not,bVar"b'16")))))))), 10301 Call 10302 ("Branch",CTy"instruction", 10303 Call 10304 ("BGTZL",CTy"Branch", 10305 TP[Mop(Cast(FTy 5), 10306 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10307 bVar"b'22",bVar"b'21"]), 10308 Mop(Cast F16, 10309 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10310 bVar"b'12",bVar"b'11",bVar"b'10", 10311 bVar"b'9",bVar"b'8",bVar"b'7", 10312 bVar"b'6",bVar"b'5",bVar"b'4", 10313 bVar"b'3",bVar"b'2",bVar"b'1", 10314 bVar"b'0"])]))), 10315 (Bop(And,Mop(Not,bVar"b'30"), 10316 Bop(And,Mop(Not,bVar"b'29"), 10317 Mop(Not,bVar"b'27"))), 10318 Call 10319 ("Branch",CTy"instruction", 10320 Call 10321 ("BNE",CTy"Branch", 10322 TP[Mop(Cast(FTy 5), 10323 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10324 bVar"b'22",bVar"b'21"]), 10325 Mop(Cast(FTy 5), 10326 LL[bVar"b'20",bVar"b'19",bVar"b'18", 10327 bVar"b'17",bVar"b'16"]), 10328 Mop(Cast F16, 10329 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10330 bVar"b'12",bVar"b'11",bVar"b'10", 10331 bVar"b'9",bVar"b'8",bVar"b'7", 10332 bVar"b'6",bVar"b'5",bVar"b'4", 10333 bVar"b'3",bVar"b'2",bVar"b'1", 10334 bVar"b'0"])]))), 10335 (Bop(And,Mop(Not,bVar"b'30"), 10336 Bop(And,bVar"b'29",Mop(Not,bVar"b'27"))), 10337 Call 10338 ("ArithI",CTy"instruction", 10339 Call 10340 ("ORI",CTy"ArithI", 10341 TP[Mop(Cast(FTy 5), 10342 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10343 bVar"b'22",bVar"b'21"]), 10344 Mop(Cast(FTy 5), 10345 LL[bVar"b'20",bVar"b'19",bVar"b'18", 10346 bVar"b'17",bVar"b'16"]), 10347 Mop(Cast F16, 10348 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10349 bVar"b'12",bVar"b'11",bVar"b'10", 10350 bVar"b'9",bVar"b'8",bVar"b'7", 10351 bVar"b'6",bVar"b'5",bVar"b'4", 10352 bVar"b'3",bVar"b'2",bVar"b'1", 10353 bVar"b'0"])]))), 10354 (Bop(And,bVar"b'30", 10355 Bop(And,Mop(Not,bVar"b'29"), 10356 Mop(Not,bVar"b'27"))), 10357 Call 10358 ("Branch",CTy"instruction", 10359 Call 10360 ("BNEL",CTy"Branch", 10361 TP[Mop(Cast(FTy 5), 10362 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10363 bVar"b'22",bVar"b'21"]), 10364 Mop(Cast(FTy 5), 10365 LL[bVar"b'20",bVar"b'19",bVar"b'18", 10366 bVar"b'17",bVar"b'16"]), 10367 Mop(Cast F16, 10368 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10369 bVar"b'12",bVar"b'11",bVar"b'10", 10370 bVar"b'9",bVar"b'8",bVar"b'7", 10371 bVar"b'6",bVar"b'5",bVar"b'4", 10372 bVar"b'3",bVar"b'2",bVar"b'1", 10373 bVar"b'0"])]))), 10374 (Bop(And,bVar"b'30", 10375 Bop(And,bVar"b'29", 10376 Bop(And,bVar"b'27", 10377 Bop(And,Mop(Not,bVar"b'25"), 10378 Bop(And,Mop(Not,bVar"b'24"), 10379 Bop(And,Mop(Not,bVar"b'23"), 10380 Bop(And, 10381 Mop(Not,bVar"b'22"), 10382 Bop(And, 10383 Mop(Not, 10384 bVar"b'21"), 10385 Bop(And, 10386 Mop(Not, 10387 bVar"b'10"), 10388 Bop(And, 10389 Mop(Not, 10390 bVar"b'9"), 10391 Bop(And, 10392 Mop(Not, 10393 bVar"b'8"), 10394 Bop(And, 10395 Mop(Not, 10396 bVar"b'7"), 10397 Bop(And, 10398 Mop(Not, 10399 bVar"b'6"), 10400 Bop(And, 10401 bVar"b'5", 10402 Bop(And, 10403 bVar"b'4", 10404 Bop(And, 10405 bVar"b'3", 10406 Bop(And, 10407 Mop(Not, 10408 bVar"b'2"), 10409 Bop(And, 10410 bVar"b'1", 10411 bVar"b'0")))))))))))))))))), 10412 Call 10413 ("RDHWR",CTy"instruction", 10414 TP[Mop(Cast(FTy 5), 10415 LL[bVar"b'20",bVar"b'19",bVar"b'18", 10416 bVar"b'17",bVar"b'16"]), 10417 Mop(Cast(FTy 5), 10418 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10419 bVar"b'12",bVar"b'11"])]))], 10420 Const("ReservedInstruction",CTy"instruction"))), 10421 (bVar"b'29", 10422 ITB([(Bop(And,Mop(Not,bVar"b'31"), 10423 Bop(And,Mop(Not,bVar"b'30"), 10424 Mop(Not,bVar"b'27"))), 10425 Call 10426 ("ArithI",CTy"instruction", 10427 Call 10428 ("ADDIU",CTy"ArithI", 10429 TP[Mop(Cast(FTy 5), 10430 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10431 bVar"b'22",bVar"b'21"]), 10432 Mop(Cast(FTy 5), 10433 LL[bVar"b'20",bVar"b'19",bVar"b'18", 10434 bVar"b'17",bVar"b'16"]), 10435 Mop(Cast F16, 10436 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10437 bVar"b'12",bVar"b'11",bVar"b'10", 10438 bVar"b'9",bVar"b'8",bVar"b'7", 10439 bVar"b'6",bVar"b'5",bVar"b'4", 10440 bVar"b'3",bVar"b'2",bVar"b'1", 10441 bVar"b'0"])]))), 10442 (Bop(And,Mop(Not,bVar"b'31"), 10443 Bop(And,Mop(Not,bVar"b'30"),bVar"b'27")), 10444 Call 10445 ("ArithI",CTy"instruction", 10446 Call 10447 ("SLTIU",CTy"ArithI", 10448 TP[Mop(Cast(FTy 5), 10449 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10450 bVar"b'22",bVar"b'21"]), 10451 Mop(Cast(FTy 5), 10452 LL[bVar"b'20",bVar"b'19",bVar"b'18", 10453 bVar"b'17",bVar"b'16"]), 10454 Mop(Cast F16, 10455 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10456 bVar"b'12",bVar"b'11",bVar"b'10", 10457 bVar"b'9",bVar"b'8",bVar"b'7", 10458 bVar"b'6",bVar"b'5",bVar"b'4", 10459 bVar"b'3",bVar"b'2",bVar"b'1", 10460 bVar"b'0"])]))), 10461 (Bop(And,Mop(Not,bVar"b'31"), 10462 Bop(And,bVar"b'30",Mop(Not,bVar"b'27"))), 10463 Call 10464 ("ArithI",CTy"instruction", 10465 Call 10466 ("DADDIU",CTy"ArithI", 10467 TP[Mop(Cast(FTy 5), 10468 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10469 bVar"b'22",bVar"b'21"]), 10470 Mop(Cast(FTy 5), 10471 LL[bVar"b'20",bVar"b'19",bVar"b'18", 10472 bVar"b'17",bVar"b'16"]), 10473 Mop(Cast F16, 10474 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10475 bVar"b'12",bVar"b'11",bVar"b'10", 10476 bVar"b'9",bVar"b'8",bVar"b'7", 10477 bVar"b'6",bVar"b'5",bVar"b'4", 10478 bVar"b'3",bVar"b'2",bVar"b'1", 10479 bVar"b'0"])]))), 10480 (Bop(And,Mop(Not,bVar"b'31"), 10481 Bop(And,bVar"b'30",bVar"b'27")), 10482 Call 10483 ("Load",CTy"instruction", 10484 Call 10485 ("LDR",CTy"Load", 10486 TP[Mop(Cast(FTy 5), 10487 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10488 bVar"b'22",bVar"b'21"]), 10489 Mop(Cast(FTy 5), 10490 LL[bVar"b'20",bVar"b'19",bVar"b'18", 10491 bVar"b'17",bVar"b'16"]), 10492 Mop(Cast F16, 10493 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10494 bVar"b'12",bVar"b'11",bVar"b'10", 10495 bVar"b'9",bVar"b'8",bVar"b'7", 10496 bVar"b'6",bVar"b'5",bVar"b'4", 10497 bVar"b'3",bVar"b'2",bVar"b'1", 10498 bVar"b'0"])]))), 10499 (Bop(And,bVar"b'31", 10500 Bop(And,Mop(Not,bVar"b'30"), 10501 Mop(Not,bVar"b'27"))), 10502 Call 10503 ("Store",CTy"instruction", 10504 Call 10505 ("SH",CTy"Store", 10506 TP[Mop(Cast(FTy 5), 10507 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10508 bVar"b'22",bVar"b'21"]), 10509 Mop(Cast(FTy 5), 10510 LL[bVar"b'20",bVar"b'19",bVar"b'18", 10511 bVar"b'17",bVar"b'16"]), 10512 Mop(Cast F16, 10513 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10514 bVar"b'12",bVar"b'11",bVar"b'10", 10515 bVar"b'9",bVar"b'8",bVar"b'7", 10516 bVar"b'6",bVar"b'5",bVar"b'4", 10517 bVar"b'3",bVar"b'2",bVar"b'1", 10518 bVar"b'0"])]))), 10519 (Bop(And,bVar"b'31", 10520 Bop(And,Mop(Not,bVar"b'30"),bVar"b'27")), 10521 Call 10522 ("Store",CTy"instruction", 10523 Call 10524 ("SW",CTy"Store", 10525 TP[Mop(Cast(FTy 5), 10526 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10527 bVar"b'22",bVar"b'21"]), 10528 Mop(Cast(FTy 5), 10529 LL[bVar"b'20",bVar"b'19",bVar"b'18", 10530 bVar"b'17",bVar"b'16"]), 10531 Mop(Cast F16, 10532 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10533 bVar"b'12",bVar"b'11",bVar"b'10", 10534 bVar"b'9",bVar"b'8",bVar"b'7", 10535 bVar"b'6",bVar"b'5",bVar"b'4", 10536 bVar"b'3",bVar"b'2",bVar"b'1", 10537 bVar"b'0"])]))), 10538 (Bop(And,bVar"b'31", 10539 Bop(And,bVar"b'30",Mop(Not,bVar"b'27"))), 10540 Call 10541 ("SWC1Decode",CTy"instruction", 10542 TP[Mop(Cast(FTy 5), 10543 LL[bVar"b'20",bVar"b'19",bVar"b'18", 10544 bVar"b'17",bVar"b'16"]), 10545 Mop(Cast F16, 10546 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10547 bVar"b'12",bVar"b'11",bVar"b'10", 10548 bVar"b'9",bVar"b'8",bVar"b'7", 10549 bVar"b'6",bVar"b'5",bVar"b'4", 10550 bVar"b'3",bVar"b'2",bVar"b'1", 10551 bVar"b'0"]), 10552 Mop(Cast(FTy 5), 10553 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10554 bVar"b'22",bVar"b'21"])]))], 10555 Const("ReservedInstruction",CTy"instruction"))), 10556 (Bop(And,Mop(Not,bVar"b'31"), 10557 Bop(And,Mop(Not,bVar"b'30"), 10558 Bop(And,Mop(Not,bVar"b'27"), 10559 Bop(And,Mop(Not,bVar"b'20"), 10560 Bop(And,Mop(Not,bVar"b'19"), 10561 Bop(And,Mop(Not,bVar"b'18"), 10562 Bop(And,Mop(Not,bVar"b'17"), 10563 Mop(Not,bVar"b'16")))))))), 10564 Call 10565 ("Branch",CTy"instruction", 10566 Call 10567 ("BLTZ",CTy"Branch", 10568 TP[Mop(Cast(FTy 5), 10569 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10570 bVar"b'22",bVar"b'21"]), 10571 Mop(Cast F16, 10572 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10573 bVar"b'12",bVar"b'11",bVar"b'10", 10574 bVar"b'9",bVar"b'8",bVar"b'7", 10575 bVar"b'6",bVar"b'5",bVar"b'4", 10576 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 10577 (Bop(And,Mop(Not,bVar"b'31"), 10578 Bop(And,Mop(Not,bVar"b'30"), 10579 Bop(And,Mop(Not,bVar"b'27"), 10580 Bop(And,Mop(Not,bVar"b'20"), 10581 Bop(And,Mop(Not,bVar"b'19"), 10582 Bop(And,Mop(Not,bVar"b'18"), 10583 Bop(And,Mop(Not,bVar"b'17"), 10584 bVar"b'16"))))))), 10585 Call 10586 ("Branch",CTy"instruction", 10587 Call 10588 ("BGEZ",CTy"Branch", 10589 TP[Mop(Cast(FTy 5), 10590 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10591 bVar"b'22",bVar"b'21"]), 10592 Mop(Cast F16, 10593 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10594 bVar"b'12",bVar"b'11",bVar"b'10", 10595 bVar"b'9",bVar"b'8",bVar"b'7", 10596 bVar"b'6",bVar"b'5",bVar"b'4", 10597 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 10598 (Bop(And,Mop(Not,bVar"b'31"), 10599 Bop(And,Mop(Not,bVar"b'30"), 10600 Bop(And,Mop(Not,bVar"b'27"), 10601 Bop(And,Mop(Not,bVar"b'20"), 10602 Bop(And,Mop(Not,bVar"b'19"), 10603 Bop(And,Mop(Not,bVar"b'18"), 10604 Bop(And,bVar"b'17", 10605 Mop(Not,bVar"b'16")))))))), 10606 Call 10607 ("Branch",CTy"instruction", 10608 Call 10609 ("BLTZL",CTy"Branch", 10610 TP[Mop(Cast(FTy 5), 10611 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10612 bVar"b'22",bVar"b'21"]), 10613 Mop(Cast F16, 10614 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10615 bVar"b'12",bVar"b'11",bVar"b'10", 10616 bVar"b'9",bVar"b'8",bVar"b'7", 10617 bVar"b'6",bVar"b'5",bVar"b'4", 10618 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 10619 (Bop(And,Mop(Not,bVar"b'31"), 10620 Bop(And,Mop(Not,bVar"b'30"), 10621 Bop(And,Mop(Not,bVar"b'27"), 10622 Bop(And,Mop(Not,bVar"b'20"), 10623 Bop(And,Mop(Not,bVar"b'19"), 10624 Bop(And,Mop(Not,bVar"b'18"), 10625 Bop(And,bVar"b'17",bVar"b'16"))))))), 10626 Call 10627 ("Branch",CTy"instruction", 10628 Call 10629 ("BGEZL",CTy"Branch", 10630 TP[Mop(Cast(FTy 5), 10631 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10632 bVar"b'22",bVar"b'21"]), 10633 Mop(Cast F16, 10634 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10635 bVar"b'12",bVar"b'11",bVar"b'10", 10636 bVar"b'9",bVar"b'8",bVar"b'7", 10637 bVar"b'6",bVar"b'5",bVar"b'4", 10638 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 10639 (Bop(And,Mop(Not,bVar"b'31"), 10640 Bop(And,Mop(Not,bVar"b'30"), 10641 Bop(And,Mop(Not,bVar"b'27"), 10642 Bop(And,Mop(Not,bVar"b'20"), 10643 Bop(And,bVar"b'19", 10644 Bop(And,Mop(Not,bVar"b'18"), 10645 Bop(And,Mop(Not,bVar"b'17"), 10646 Mop(Not,bVar"b'16")))))))), 10647 Call 10648 ("Trap",CTy"instruction", 10649 Call 10650 ("TGEI",CTy"Trap", 10651 TP[Mop(Cast(FTy 5), 10652 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10653 bVar"b'22",bVar"b'21"]), 10654 Mop(Cast F16, 10655 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10656 bVar"b'12",bVar"b'11",bVar"b'10", 10657 bVar"b'9",bVar"b'8",bVar"b'7", 10658 bVar"b'6",bVar"b'5",bVar"b'4", 10659 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 10660 (Bop(And,Mop(Not,bVar"b'31"), 10661 Bop(And,Mop(Not,bVar"b'30"), 10662 Bop(And,Mop(Not,bVar"b'27"), 10663 Bop(And,Mop(Not,bVar"b'20"), 10664 Bop(And,bVar"b'19", 10665 Bop(And,Mop(Not,bVar"b'18"), 10666 Bop(And,Mop(Not,bVar"b'17"), 10667 bVar"b'16"))))))), 10668 Call 10669 ("Trap",CTy"instruction", 10670 Call 10671 ("TGEIU",CTy"Trap", 10672 TP[Mop(Cast(FTy 5), 10673 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10674 bVar"b'22",bVar"b'21"]), 10675 Mop(Cast F16, 10676 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10677 bVar"b'12",bVar"b'11",bVar"b'10", 10678 bVar"b'9",bVar"b'8",bVar"b'7", 10679 bVar"b'6",bVar"b'5",bVar"b'4", 10680 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 10681 (Bop(And,Mop(Not,bVar"b'31"), 10682 Bop(And,Mop(Not,bVar"b'30"), 10683 Bop(And,Mop(Not,bVar"b'27"), 10684 Bop(And,Mop(Not,bVar"b'20"), 10685 Bop(And,bVar"b'19", 10686 Bop(And,Mop(Not,bVar"b'18"), 10687 Bop(And,bVar"b'17", 10688 Mop(Not,bVar"b'16")))))))), 10689 Call 10690 ("Trap",CTy"instruction", 10691 Call 10692 ("TLTI",CTy"Trap", 10693 TP[Mop(Cast(FTy 5), 10694 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10695 bVar"b'22",bVar"b'21"]), 10696 Mop(Cast F16, 10697 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10698 bVar"b'12",bVar"b'11",bVar"b'10", 10699 bVar"b'9",bVar"b'8",bVar"b'7", 10700 bVar"b'6",bVar"b'5",bVar"b'4", 10701 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 10702 (Bop(And,Mop(Not,bVar"b'31"), 10703 Bop(And,Mop(Not,bVar"b'30"), 10704 Bop(And,Mop(Not,bVar"b'27"), 10705 Bop(And,Mop(Not,bVar"b'20"), 10706 Bop(And,bVar"b'19", 10707 Bop(And,Mop(Not,bVar"b'18"), 10708 Bop(And,bVar"b'17",bVar"b'16"))))))), 10709 Call 10710 ("Trap",CTy"instruction", 10711 Call 10712 ("TLTIU",CTy"Trap", 10713 TP[Mop(Cast(FTy 5), 10714 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10715 bVar"b'22",bVar"b'21"]), 10716 Mop(Cast F16, 10717 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10718 bVar"b'12",bVar"b'11",bVar"b'10", 10719 bVar"b'9",bVar"b'8",bVar"b'7", 10720 bVar"b'6",bVar"b'5",bVar"b'4", 10721 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 10722 (Bop(And,Mop(Not,bVar"b'31"), 10723 Bop(And,Mop(Not,bVar"b'30"), 10724 Bop(And,Mop(Not,bVar"b'27"), 10725 Bop(And,Mop(Not,bVar"b'20"), 10726 Bop(And,bVar"b'19", 10727 Bop(And,bVar"b'18", 10728 Bop(And,Mop(Not,bVar"b'17"), 10729 Mop(Not,bVar"b'16")))))))), 10730 Call 10731 ("Trap",CTy"instruction", 10732 Call 10733 ("TEQI",CTy"Trap", 10734 TP[Mop(Cast(FTy 5), 10735 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10736 bVar"b'22",bVar"b'21"]), 10737 Mop(Cast F16, 10738 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10739 bVar"b'12",bVar"b'11",bVar"b'10", 10740 bVar"b'9",bVar"b'8",bVar"b'7", 10741 bVar"b'6",bVar"b'5",bVar"b'4", 10742 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 10743 (Bop(And,Mop(Not,bVar"b'31"), 10744 Bop(And,Mop(Not,bVar"b'30"), 10745 Bop(And,Mop(Not,bVar"b'27"), 10746 Bop(And,Mop(Not,bVar"b'20"), 10747 Bop(And,bVar"b'19", 10748 Bop(And,bVar"b'18", 10749 Bop(And,bVar"b'17", 10750 Mop(Not,bVar"b'16")))))))), 10751 Call 10752 ("Trap",CTy"instruction", 10753 Call 10754 ("TNEI",CTy"Trap", 10755 TP[Mop(Cast(FTy 5), 10756 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10757 bVar"b'22",bVar"b'21"]), 10758 Mop(Cast F16, 10759 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10760 bVar"b'12",bVar"b'11",bVar"b'10", 10761 bVar"b'9",bVar"b'8",bVar"b'7", 10762 bVar"b'6",bVar"b'5",bVar"b'4", 10763 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 10764 (Bop(And,Mop(Not,bVar"b'31"), 10765 Bop(And,Mop(Not,bVar"b'30"), 10766 Bop(And,Mop(Not,bVar"b'27"), 10767 Bop(And,bVar"b'25", 10768 Bop(And,bVar"b'24", 10769 Bop(And,bVar"b'23", 10770 Bop(And,bVar"b'22", 10771 Bop(And,bVar"b'21", 10772 Bop(And,bVar"b'20", 10773 Bop(And, 10774 Mop(Not, 10775 bVar"b'19"), 10776 Mop(Not, 10777 bVar"b'18"))))))))))), 10778 Const("Unpredictable",CTy"instruction")), 10779 (Bop(And,Mop(Not,bVar"b'31"), 10780 Bop(And,Mop(Not,bVar"b'30"), 10781 Bop(And,Mop(Not,bVar"b'27"), 10782 Bop(And,bVar"b'20", 10783 Bop(And,Mop(Not,bVar"b'19"), 10784 Bop(And,Mop(Not,bVar"b'18"), 10785 Bop(And,Mop(Not,bVar"b'17"), 10786 Mop(Not,bVar"b'16")))))))), 10787 Call 10788 ("Branch",CTy"instruction", 10789 Call 10790 ("BLTZAL",CTy"Branch", 10791 TP[Mop(Cast(FTy 5), 10792 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10793 bVar"b'22",bVar"b'21"]), 10794 Mop(Cast F16, 10795 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10796 bVar"b'12",bVar"b'11",bVar"b'10", 10797 bVar"b'9",bVar"b'8",bVar"b'7", 10798 bVar"b'6",bVar"b'5",bVar"b'4", 10799 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 10800 (Bop(And,Mop(Not,bVar"b'31"), 10801 Bop(And,Mop(Not,bVar"b'30"), 10802 Bop(And,Mop(Not,bVar"b'27"), 10803 Bop(And,bVar"b'20", 10804 Bop(And,Mop(Not,bVar"b'19"), 10805 Bop(And,Mop(Not,bVar"b'18"), 10806 Bop(And,Mop(Not,bVar"b'17"), 10807 bVar"b'16"))))))), 10808 Call 10809 ("Branch",CTy"instruction", 10810 Call 10811 ("BGEZAL",CTy"Branch", 10812 TP[Mop(Cast(FTy 5), 10813 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10814 bVar"b'22",bVar"b'21"]), 10815 Mop(Cast F16, 10816 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10817 bVar"b'12",bVar"b'11",bVar"b'10", 10818 bVar"b'9",bVar"b'8",bVar"b'7", 10819 bVar"b'6",bVar"b'5",bVar"b'4", 10820 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 10821 (Bop(And,Mop(Not,bVar"b'31"), 10822 Bop(And,Mop(Not,bVar"b'30"), 10823 Bop(And,Mop(Not,bVar"b'27"), 10824 Bop(And,bVar"b'20", 10825 Bop(And,Mop(Not,bVar"b'19"), 10826 Bop(And,Mop(Not,bVar"b'18"), 10827 Bop(And,bVar"b'17", 10828 Mop(Not,bVar"b'16")))))))), 10829 Call 10830 ("Branch",CTy"instruction", 10831 Call 10832 ("BLTZALL",CTy"Branch", 10833 TP[Mop(Cast(FTy 5), 10834 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10835 bVar"b'22",bVar"b'21"]), 10836 Mop(Cast F16, 10837 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10838 bVar"b'12",bVar"b'11",bVar"b'10", 10839 bVar"b'9",bVar"b'8",bVar"b'7", 10840 bVar"b'6",bVar"b'5",bVar"b'4", 10841 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 10842 (Bop(And,Mop(Not,bVar"b'31"), 10843 Bop(And,Mop(Not,bVar"b'30"), 10844 Bop(And,Mop(Not,bVar"b'27"), 10845 Bop(And,bVar"b'20", 10846 Bop(And,Mop(Not,bVar"b'19"), 10847 Bop(And,Mop(Not,bVar"b'18"), 10848 Bop(And,bVar"b'17",bVar"b'16"))))))), 10849 Call 10850 ("Branch",CTy"instruction", 10851 Call 10852 ("BGEZALL",CTy"Branch", 10853 TP[Mop(Cast(FTy 5), 10854 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10855 bVar"b'22",bVar"b'21"]), 10856 Mop(Cast F16, 10857 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10858 bVar"b'12",bVar"b'11",bVar"b'10", 10859 bVar"b'9",bVar"b'8",bVar"b'7", 10860 bVar"b'6",bVar"b'5",bVar"b'4", 10861 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 10862 (Bop(And,Mop(Not,bVar"b'31"), 10863 Bop(And,Mop(Not,bVar"b'30"),bVar"b'27")), 10864 Call 10865 ("Branch",CTy"instruction", 10866 Call 10867 ("JAL",CTy"Branch", 10868 Mop(Cast(FTy 26), 10869 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10870 bVar"b'22",bVar"b'21",bVar"b'20", 10871 bVar"b'19",bVar"b'18",bVar"b'17", 10872 bVar"b'16",bVar"b'15",bVar"b'14", 10873 bVar"b'13",bVar"b'12",bVar"b'11", 10874 bVar"b'10",bVar"b'9",bVar"b'8",bVar"b'7", 10875 bVar"b'6",bVar"b'5",bVar"b'4",bVar"b'3", 10876 bVar"b'2",bVar"b'1",bVar"b'0"])))), 10877 (Bop(And,bVar"b'31", 10878 Bop(And,Mop(Not,bVar"b'30"),Mop(Not,bVar"b'27"))), 10879 Call 10880 ("Load",CTy"instruction", 10881 Call 10882 ("LH",CTy"Load", 10883 TP[Mop(Cast(FTy 5), 10884 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10885 bVar"b'22",bVar"b'21"]), 10886 Mop(Cast(FTy 5), 10887 LL[bVar"b'20",bVar"b'19",bVar"b'18", 10888 bVar"b'17",bVar"b'16"]), 10889 Mop(Cast F16, 10890 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10891 bVar"b'12",bVar"b'11",bVar"b'10", 10892 bVar"b'9",bVar"b'8",bVar"b'7", 10893 bVar"b'6",bVar"b'5",bVar"b'4", 10894 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 10895 (Bop(And,bVar"b'31", 10896 Bop(And,Mop(Not,bVar"b'30"),bVar"b'27")), 10897 Call 10898 ("Load",CTy"instruction", 10899 Call 10900 ("LW",CTy"Load", 10901 TP[Mop(Cast(FTy 5), 10902 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10903 bVar"b'22",bVar"b'21"]), 10904 Mop(Cast(FTy 5), 10905 LL[bVar"b'20",bVar"b'19",bVar"b'18", 10906 bVar"b'17",bVar"b'16"]), 10907 Mop(Cast F16, 10908 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10909 bVar"b'12",bVar"b'11",bVar"b'10", 10910 bVar"b'9",bVar"b'8",bVar"b'7", 10911 bVar"b'6",bVar"b'5",bVar"b'4", 10912 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 10913 (Bop(And,Mop(Not,bVar"b'31"), 10914 Bop(And,bVar"b'30",Mop(Not,bVar"b'27"))), 10915 Call 10916 ("COP1Decode",CTy"instruction", 10917 Mop(Cast(FTy 26), 10918 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 10919 bVar"b'21",bVar"b'20",bVar"b'19",bVar"b'18", 10920 bVar"b'17",bVar"b'16",bVar"b'15",bVar"b'14", 10921 bVar"b'13",bVar"b'12",bVar"b'11",bVar"b'10", 10922 bVar"b'9",bVar"b'8",bVar"b'7",bVar"b'6", 10923 bVar"b'5",bVar"b'4",bVar"b'3",bVar"b'2", 10924 bVar"b'1",bVar"b'0"]))), 10925 (Bop(And,Mop(Not,bVar"b'31"), 10926 Bop(And,bVar"b'30",bVar"b'27")), 10927 Call 10928 ("COP3Decode",CTy"instruction", 10929 Mop(Cast(FTy 26), 10930 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 10931 bVar"b'21",bVar"b'20",bVar"b'19",bVar"b'18", 10932 bVar"b'17",bVar"b'16",bVar"b'15",bVar"b'14", 10933 bVar"b'13",bVar"b'12",bVar"b'11",bVar"b'10", 10934 bVar"b'9",bVar"b'8",bVar"b'7",bVar"b'6", 10935 bVar"b'5",bVar"b'4",bVar"b'3",bVar"b'2", 10936 bVar"b'1",bVar"b'0"]))), 10937 (Bop(And,bVar"b'31", 10938 Bop(And,bVar"b'30",Mop(Not,bVar"b'27"))), 10939 Call 10940 ("LWC1Decode",CTy"instruction", 10941 TP[Mop(Cast(FTy 5), 10942 LL[bVar"b'20",bVar"b'19",bVar"b'18", 10943 bVar"b'17",bVar"b'16"]), 10944 Mop(Cast F16, 10945 LL[bVar"b'15",bVar"b'14",bVar"b'13", 10946 bVar"b'12",bVar"b'11",bVar"b'10", 10947 bVar"b'9",bVar"b'8",bVar"b'7",bVar"b'6", 10948 bVar"b'5",bVar"b'4",bVar"b'3",bVar"b'2", 10949 bVar"b'1",bVar"b'0"]), 10950 Mop(Cast(FTy 5), 10951 LL[bVar"b'25",bVar"b'24",bVar"b'23", 10952 bVar"b'22",bVar"b'21"])]))], 10953 Const("ReservedInstruction",CTy"instruction"))), 10954 (bVar"b'30", 10955 ITB([(bVar"b'29", 10956 ITB([(Bop(And,Mop(Not,bVar"b'31"), 10957 Bop(And,bVar"b'28", 10958 Bop(And,Mop(Not,bVar"b'27"), 10959 Bop(And,Mop(Not,bVar"b'15"), 10960 Bop(And,Mop(Not,bVar"b'14"), 10961 Bop(And,Mop(Not,bVar"b'13"), 10962 Bop(And, 10963 Mop(Not,bVar"b'12"), 10964 Bop(And, 10965 Mop(Not, 10966 bVar"b'11"), 10967 Bop(And, 10968 Mop(Not, 10969 bVar"b'10"), 10970 Bop(And, 10971 Mop(Not, 10972 bVar"b'9"), 10973 Bop(And, 10974 Mop(Not, 10975 bVar"b'8"), 10976 Bop(And, 10977 Mop(Not, 10978 bVar"b'7"), 10979 Bop(And, 10980 Mop(Not, 10981 bVar"b'6"), 10982 Bop(And, 10983 Mop(Not, 10984 bVar"b'5"), 10985 Bop(And, 10986 Mop(Not, 10987 bVar"b'4"), 10988 Bop(And, 10989 Mop(Not, 10990 bVar"b'3"), 10991 Bop(And, 10992 Mop(Not, 10993 bVar"b'2"), 10994 Bop(And, 10995 Mop(Not, 10996 bVar"b'1"), 10997 Mop(Not, 10998 bVar"b'0"))))))))))))))))))), 10999 Call 11000 ("MultDiv",CTy"instruction", 11001 Call 11002 ("MADD",CTy"MultDiv", 11003 TP[Mop(Cast(FTy 5), 11004 LL[bVar"b'25",bVar"b'24",bVar"b'23", 11005 bVar"b'22",bVar"b'21"]), 11006 Mop(Cast(FTy 5), 11007 LL[bVar"b'20",bVar"b'19",bVar"b'18", 11008 bVar"b'17",bVar"b'16"])]))), 11009 (Bop(And,Mop(Not,bVar"b'31"), 11010 Bop(And,bVar"b'28", 11011 Bop(And,Mop(Not,bVar"b'27"), 11012 Bop(And,Mop(Not,bVar"b'15"), 11013 Bop(And,Mop(Not,bVar"b'14"), 11014 Bop(And,Mop(Not,bVar"b'13"), 11015 Bop(And, 11016 Mop(Not,bVar"b'12"), 11017 Bop(And, 11018 Mop(Not, 11019 bVar"b'11"), 11020 Bop(And, 11021 Mop(Not, 11022 bVar"b'10"), 11023 Bop(And, 11024 Mop(Not, 11025 bVar"b'9"), 11026 Bop(And, 11027 Mop(Not, 11028 bVar"b'8"), 11029 Bop(And, 11030 Mop(Not, 11031 bVar"b'7"), 11032 Bop(And, 11033 Mop(Not, 11034 bVar"b'6"), 11035 Bop(And, 11036 Mop(Not, 11037 bVar"b'5"), 11038 Bop(And, 11039 Mop(Not, 11040 bVar"b'4"), 11041 Bop(And, 11042 Mop(Not, 11043 bVar"b'3"), 11044 Bop(And, 11045 Mop(Not, 11046 bVar"b'2"), 11047 Bop(And, 11048 Mop(Not, 11049 bVar"b'1"), 11050 bVar"b'0")))))))))))))))))), 11051 Call 11052 ("MultDiv",CTy"instruction", 11053 Call 11054 ("MADDU",CTy"MultDiv", 11055 TP[Mop(Cast(FTy 5), 11056 LL[bVar"b'25",bVar"b'24",bVar"b'23", 11057 bVar"b'22",bVar"b'21"]), 11058 Mop(Cast(FTy 5), 11059 LL[bVar"b'20",bVar"b'19",bVar"b'18", 11060 bVar"b'17",bVar"b'16"])]))), 11061 (Bop(And,Mop(Not,bVar"b'31"), 11062 Bop(And,bVar"b'28", 11063 Bop(And,Mop(Not,bVar"b'27"), 11064 Bop(And,Mop(Not,bVar"b'15"), 11065 Bop(And,Mop(Not,bVar"b'14"), 11066 Bop(And,Mop(Not,bVar"b'13"), 11067 Bop(And, 11068 Mop(Not,bVar"b'12"), 11069 Bop(And, 11070 Mop(Not, 11071 bVar"b'11"), 11072 Bop(And, 11073 Mop(Not, 11074 bVar"b'10"), 11075 Bop(And, 11076 Mop(Not, 11077 bVar"b'9"), 11078 Bop(And, 11079 Mop(Not, 11080 bVar"b'8"), 11081 Bop(And, 11082 Mop(Not, 11083 bVar"b'7"), 11084 Bop(And, 11085 Mop(Not, 11086 bVar"b'6"), 11087 Bop(And, 11088 Mop(Not, 11089 bVar"b'5"), 11090 Bop(And, 11091 Mop(Not, 11092 bVar"b'4"), 11093 Bop(And, 11094 Mop(Not, 11095 bVar"b'3"), 11096 Bop(And, 11097 bVar"b'2", 11098 Bop(And, 11099 Mop(Not, 11100 bVar"b'1"), 11101 Mop(Not, 11102 bVar"b'0"))))))))))))))))))), 11103 Call 11104 ("MultDiv",CTy"instruction", 11105 Call 11106 ("MSUB",CTy"MultDiv", 11107 TP[Mop(Cast(FTy 5), 11108 LL[bVar"b'25",bVar"b'24",bVar"b'23", 11109 bVar"b'22",bVar"b'21"]), 11110 Mop(Cast(FTy 5), 11111 LL[bVar"b'20",bVar"b'19",bVar"b'18", 11112 bVar"b'17",bVar"b'16"])]))), 11113 (Bop(And,Mop(Not,bVar"b'31"), 11114 Bop(And,bVar"b'28", 11115 Bop(And,Mop(Not,bVar"b'27"), 11116 Bop(And,Mop(Not,bVar"b'15"), 11117 Bop(And,Mop(Not,bVar"b'14"), 11118 Bop(And,Mop(Not,bVar"b'13"), 11119 Bop(And, 11120 Mop(Not,bVar"b'12"), 11121 Bop(And, 11122 Mop(Not, 11123 bVar"b'11"), 11124 Bop(And, 11125 Mop(Not, 11126 bVar"b'10"), 11127 Bop(And, 11128 Mop(Not, 11129 bVar"b'9"), 11130 Bop(And, 11131 Mop(Not, 11132 bVar"b'8"), 11133 Bop(And, 11134 Mop(Not, 11135 bVar"b'7"), 11136 Bop(And, 11137 Mop(Not, 11138 bVar"b'6"), 11139 Bop(And, 11140 Mop(Not, 11141 bVar"b'5"), 11142 Bop(And, 11143 Mop(Not, 11144 bVar"b'4"), 11145 Bop(And, 11146 Mop(Not, 11147 bVar"b'3"), 11148 Bop(And, 11149 bVar"b'2", 11150 Bop(And, 11151 Mop(Not, 11152 bVar"b'1"), 11153 bVar"b'0")))))))))))))))))), 11154 Call 11155 ("MultDiv",CTy"instruction", 11156 Call 11157 ("MSUBU",CTy"MultDiv", 11158 TP[Mop(Cast(FTy 5), 11159 LL[bVar"b'25",bVar"b'24",bVar"b'23", 11160 bVar"b'22",bVar"b'21"]), 11161 Mop(Cast(FTy 5), 11162 LL[bVar"b'20",bVar"b'19",bVar"b'18", 11163 bVar"b'17",bVar"b'16"])]))), 11164 (Bop(And,Mop(Not,bVar"b'31"), 11165 Bop(And,bVar"b'28", 11166 Bop(And,Mop(Not,bVar"b'27"), 11167 Bop(And,Mop(Not,bVar"b'10"), 11168 Bop(And,Mop(Not,bVar"b'9"), 11169 Bop(And,Mop(Not,bVar"b'8"), 11170 Bop(And, 11171 Mop(Not,bVar"b'7"), 11172 Bop(And, 11173 Mop(Not,bVar"b'6"), 11174 Bop(And, 11175 Mop(Not, 11176 bVar"b'5"), 11177 Bop(And, 11178 Mop(Not, 11179 bVar"b'4"), 11180 Bop(And, 11181 Mop(Not, 11182 bVar"b'3"), 11183 Bop(And, 11184 Mop(Not, 11185 bVar"b'2"), 11186 Bop(And, 11187 bVar"b'1", 11188 Mop(Not, 11189 bVar"b'0")))))))))))))), 11190 Call 11191 ("MultDiv",CTy"instruction", 11192 Call 11193 ("MUL",CTy"MultDiv", 11194 TP[Mop(Cast(FTy 5), 11195 LL[bVar"b'25",bVar"b'24",bVar"b'23", 11196 bVar"b'22",bVar"b'21"]), 11197 Mop(Cast(FTy 5), 11198 LL[bVar"b'20",bVar"b'19",bVar"b'18", 11199 bVar"b'17",bVar"b'16"]), 11200 Mop(Cast(FTy 5), 11201 LL[bVar"b'15",bVar"b'14",bVar"b'13", 11202 bVar"b'12",bVar"b'11"])]))), 11203 (Bop(And,Mop(Not,bVar"b'31"), 11204 Bop(And,Mop(Not,bVar"b'28"), 11205 Mop(Not,bVar"b'27"))), 11206 Call 11207 ("ArithI",CTy"instruction", 11208 Call 11209 ("DADDI",CTy"ArithI", 11210 TP[Mop(Cast(FTy 5), 11211 LL[bVar"b'25",bVar"b'24",bVar"b'23", 11212 bVar"b'22",bVar"b'21"]), 11213 Mop(Cast(FTy 5), 11214 LL[bVar"b'20",bVar"b'19",bVar"b'18", 11215 bVar"b'17",bVar"b'16"]), 11216 Mop(Cast F16, 11217 LL[bVar"b'15",bVar"b'14",bVar"b'13", 11218 bVar"b'12",bVar"b'11",bVar"b'10", 11219 bVar"b'9",bVar"b'8",bVar"b'7", 11220 bVar"b'6",bVar"b'5",bVar"b'4", 11221 bVar"b'3",bVar"b'2",bVar"b'1", 11222 bVar"b'0"])]))), 11223 (Bop(And,Mop(Not,bVar"b'31"), 11224 Bop(And,Mop(Not,bVar"b'28"),bVar"b'27")), 11225 Call 11226 ("Load",CTy"instruction", 11227 Call 11228 ("LDL",CTy"Load", 11229 TP[Mop(Cast(FTy 5), 11230 LL[bVar"b'25",bVar"b'24",bVar"b'23", 11231 bVar"b'22",bVar"b'21"]), 11232 Mop(Cast(FTy 5), 11233 LL[bVar"b'20",bVar"b'19",bVar"b'18", 11234 bVar"b'17",bVar"b'16"]), 11235 Mop(Cast F16, 11236 LL[bVar"b'15",bVar"b'14",bVar"b'13", 11237 bVar"b'12",bVar"b'11",bVar"b'10", 11238 bVar"b'9",bVar"b'8",bVar"b'7", 11239 bVar"b'6",bVar"b'5",bVar"b'4", 11240 bVar"b'3",bVar"b'2",bVar"b'1", 11241 bVar"b'0"])]))), 11242 (Bop(And,bVar"b'31", 11243 Bop(And,Mop(Not,bVar"b'28"), 11244 Mop(Not,bVar"b'27"))), 11245 Call 11246 ("Store",CTy"instruction", 11247 Call 11248 ("SC",CTy"Store", 11249 TP[Mop(Cast(FTy 5), 11250 LL[bVar"b'25",bVar"b'24",bVar"b'23", 11251 bVar"b'22",bVar"b'21"]), 11252 Mop(Cast(FTy 5), 11253 LL[bVar"b'20",bVar"b'19",bVar"b'18", 11254 bVar"b'17",bVar"b'16"]), 11255 Mop(Cast F16, 11256 LL[bVar"b'15",bVar"b'14",bVar"b'13", 11257 bVar"b'12",bVar"b'11",bVar"b'10", 11258 bVar"b'9",bVar"b'8",bVar"b'7", 11259 bVar"b'6",bVar"b'5",bVar"b'4", 11260 bVar"b'3",bVar"b'2",bVar"b'1", 11261 bVar"b'0"])]))), 11262 (Bop(And,bVar"b'31", 11263 Bop(And,bVar"b'28",Mop(Not,bVar"b'27"))), 11264 Call 11265 ("Store",CTy"instruction", 11266 Call 11267 ("SCD",CTy"Store", 11268 TP[Mop(Cast(FTy 5), 11269 LL[bVar"b'25",bVar"b'24",bVar"b'23", 11270 bVar"b'22",bVar"b'21"]), 11271 Mop(Cast(FTy 5), 11272 LL[bVar"b'20",bVar"b'19",bVar"b'18", 11273 bVar"b'17",bVar"b'16"]), 11274 Mop(Cast F16, 11275 LL[bVar"b'15",bVar"b'14",bVar"b'13", 11276 bVar"b'12",bVar"b'11",bVar"b'10", 11277 bVar"b'9",bVar"b'8",bVar"b'7", 11278 bVar"b'6",bVar"b'5",bVar"b'4", 11279 bVar"b'3",bVar"b'2",bVar"b'1", 11280 bVar"b'0"])])))], 11281 Const("ReservedInstruction",CTy"instruction"))), 11282 (Bop(And,Mop(Not,bVar"b'31"), 11283 Bop(And,Mop(Not,bVar"b'28"), 11284 Bop(And,Mop(Not,bVar"b'27"), 11285 Bop(And,bVar"b'25", 11286 Bop(And,Mop(Not,bVar"b'24"), 11287 Bop(And,Mop(Not,bVar"b'23"), 11288 Bop(And,Mop(Not,bVar"b'22"), 11289 Bop(And, 11290 Mop(Not,bVar"b'21"), 11291 Bop(And, 11292 Mop(Not,bVar"b'20"), 11293 Bop(And, 11294 Mop(Not, 11295 bVar"b'19"), 11296 Bop(And, 11297 Mop(Not, 11298 bVar"b'18"), 11299 Bop(And, 11300 Mop(Not, 11301 bVar"b'17"), 11302 Bop(And, 11303 Mop(Not, 11304 bVar"b'16"), 11305 Bop(And, 11306 Mop(Not, 11307 bVar"b'15"), 11308 Bop(And, 11309 Mop(Not, 11310 bVar"b'14"), 11311 Bop(And, 11312 Mop(Not, 11313 bVar"b'13"), 11314 Bop(And, 11315 Mop(Not, 11316 bVar"b'12"), 11317 Bop(And, 11318 Mop(Not, 11319 bVar"b'11"), 11320 Bop(And, 11321 Mop(Not, 11322 bVar"b'10"), 11323 Bop(And, 11324 Mop(Not, 11325 bVar"b'9"), 11326 Bop(And, 11327 Mop(Not, 11328 bVar"b'8"), 11329 Bop(And, 11330 Mop(Not, 11331 bVar"b'7"), 11332 Bop(And, 11333 Mop(Not, 11334 bVar"b'6"), 11335 Bop(And, 11336 Mop(Not, 11337 bVar"b'5"), 11338 Bop(And, 11339 Mop(Not, 11340 bVar"b'4"), 11341 Bop(And, 11342 Mop(Not, 11343 bVar"b'3"), 11344 Bop(And, 11345 Mop(Not, 11346 bVar"b'2"), 11347 Bop(And, 11348 Mop(Not, 11349 bVar"b'1"), 11350 bVar"b'0")))))))))))))))))))))))))))), 11351 Const("TLBR",CTy"instruction")), 11352 (Bop(And,Mop(Not,bVar"b'31"), 11353 Bop(And,Mop(Not,bVar"b'28"), 11354 Bop(And,Mop(Not,bVar"b'27"), 11355 Bop(And,bVar"b'25", 11356 Bop(And,Mop(Not,bVar"b'24"), 11357 Bop(And,Mop(Not,bVar"b'23"), 11358 Bop(And,Mop(Not,bVar"b'22"), 11359 Bop(And, 11360 Mop(Not,bVar"b'21"), 11361 Bop(And, 11362 Mop(Not,bVar"b'20"), 11363 Bop(And, 11364 Mop(Not, 11365 bVar"b'19"), 11366 Bop(And, 11367 Mop(Not, 11368 bVar"b'18"), 11369 Bop(And, 11370 Mop(Not, 11371 bVar"b'17"), 11372 Bop(And, 11373 Mop(Not, 11374 bVar"b'16"), 11375 Bop(And, 11376 Mop(Not, 11377 bVar"b'15"), 11378 Bop(And, 11379 Mop(Not, 11380 bVar"b'14"), 11381 Bop(And, 11382 Mop(Not, 11383 bVar"b'13"), 11384 Bop(And, 11385 Mop(Not, 11386 bVar"b'12"), 11387 Bop(And, 11388 Mop(Not, 11389 bVar"b'11"), 11390 Bop(And, 11391 Mop(Not, 11392 bVar"b'10"), 11393 Bop(And, 11394 Mop(Not, 11395 bVar"b'9"), 11396 Bop(And, 11397 Mop(Not, 11398 bVar"b'8"), 11399 Bop(And, 11400 Mop(Not, 11401 bVar"b'7"), 11402 Bop(And, 11403 Mop(Not, 11404 bVar"b'6"), 11405 Bop(And, 11406 Mop(Not, 11407 bVar"b'5"), 11408 Bop(And, 11409 Mop(Not, 11410 bVar"b'4"), 11411 Bop(And, 11412 Mop(Not, 11413 bVar"b'3"), 11414 Bop(And, 11415 Mop(Not, 11416 bVar"b'2"), 11417 Bop(And, 11418 bVar"b'1", 11419 Mop(Not, 11420 bVar"b'0"))))))))))))))))))))))))))))), 11421 Const("TLBWI",CTy"instruction")), 11422 (Bop(And,Mop(Not,bVar"b'31"), 11423 Bop(And,Mop(Not,bVar"b'28"), 11424 Bop(And,Mop(Not,bVar"b'27"), 11425 Bop(And,bVar"b'25", 11426 Bop(And,Mop(Not,bVar"b'24"), 11427 Bop(And,Mop(Not,bVar"b'23"), 11428 Bop(And,Mop(Not,bVar"b'22"), 11429 Bop(And, 11430 Mop(Not,bVar"b'21"), 11431 Bop(And, 11432 Mop(Not,bVar"b'20"), 11433 Bop(And, 11434 Mop(Not, 11435 bVar"b'19"), 11436 Bop(And, 11437 Mop(Not, 11438 bVar"b'18"), 11439 Bop(And, 11440 Mop(Not, 11441 bVar"b'17"), 11442 Bop(And, 11443 Mop(Not, 11444 bVar"b'16"), 11445 Bop(And, 11446 Mop(Not, 11447 bVar"b'15"), 11448 Bop(And, 11449 Mop(Not, 11450 bVar"b'14"), 11451 Bop(And, 11452 Mop(Not, 11453 bVar"b'13"), 11454 Bop(And, 11455 Mop(Not, 11456 bVar"b'12"), 11457 Bop(And, 11458 Mop(Not, 11459 bVar"b'11"), 11460 Bop(And, 11461 Mop(Not, 11462 bVar"b'10"), 11463 Bop(And, 11464 Mop(Not, 11465 bVar"b'9"), 11466 Bop(And, 11467 Mop(Not, 11468 bVar"b'8"), 11469 Bop(And, 11470 Mop(Not, 11471 bVar"b'7"), 11472 Bop(And, 11473 Mop(Not, 11474 bVar"b'6"), 11475 Bop(And, 11476 Mop(Not, 11477 bVar"b'5"), 11478 Bop(And, 11479 Mop(Not, 11480 bVar"b'4"), 11481 Bop(And, 11482 Mop(Not, 11483 bVar"b'3"), 11484 Bop(And, 11485 bVar"b'2", 11486 Bop(And, 11487 bVar"b'1", 11488 Mop(Not, 11489 bVar"b'0"))))))))))))))))))))))))))))), 11490 Const("TLBWR",CTy"instruction")), 11491 (Bop(And,Mop(Not,bVar"b'31"), 11492 Bop(And,Mop(Not,bVar"b'28"), 11493 Bop(And,Mop(Not,bVar"b'27"), 11494 Bop(And,bVar"b'25", 11495 Bop(And,Mop(Not,bVar"b'24"), 11496 Bop(And,Mop(Not,bVar"b'23"), 11497 Bop(And,Mop(Not,bVar"b'22"), 11498 Bop(And, 11499 Mop(Not,bVar"b'21"), 11500 Bop(And, 11501 Mop(Not,bVar"b'20"), 11502 Bop(And, 11503 Mop(Not, 11504 bVar"b'19"), 11505 Bop(And, 11506 Mop(Not, 11507 bVar"b'18"), 11508 Bop(And, 11509 Mop(Not, 11510 bVar"b'17"), 11511 Bop(And, 11512 Mop(Not, 11513 bVar"b'16"), 11514 Bop(And, 11515 Mop(Not, 11516 bVar"b'15"), 11517 Bop(And, 11518 Mop(Not, 11519 bVar"b'14"), 11520 Bop(And, 11521 Mop(Not, 11522 bVar"b'13"), 11523 Bop(And, 11524 Mop(Not, 11525 bVar"b'12"), 11526 Bop(And, 11527 Mop(Not, 11528 bVar"b'11"), 11529 Bop(And, 11530 Mop(Not, 11531 bVar"b'10"), 11532 Bop(And, 11533 Mop(Not, 11534 bVar"b'9"), 11535 Bop(And, 11536 Mop(Not, 11537 bVar"b'8"), 11538 Bop(And, 11539 Mop(Not, 11540 bVar"b'7"), 11541 Bop(And, 11542 Mop(Not, 11543 bVar"b'6"), 11544 Bop(And, 11545 Mop(Not, 11546 bVar"b'5"), 11547 Bop(And, 11548 Mop(Not, 11549 bVar"b'4"), 11550 Bop(And, 11551 bVar"b'3", 11552 Bop(And, 11553 Mop(Not, 11554 bVar"b'2"), 11555 Bop(And, 11556 Mop(Not, 11557 bVar"b'1"), 11558 Mop(Not, 11559 bVar"b'0"))))))))))))))))))))))))))))), 11560 Const("TLBP",CTy"instruction")), 11561 (Bop(And,Mop(Not,bVar"b'31"), 11562 Bop(And,Mop(Not,bVar"b'28"), 11563 Bop(And,Mop(Not,bVar"b'27"), 11564 Bop(And,bVar"b'25", 11565 Bop(And,Mop(Not,bVar"b'24"), 11566 Bop(And,Mop(Not,bVar"b'23"), 11567 Bop(And,Mop(Not,bVar"b'22"), 11568 Bop(And, 11569 Mop(Not,bVar"b'21"), 11570 Bop(And, 11571 Mop(Not,bVar"b'20"), 11572 Bop(And, 11573 Mop(Not, 11574 bVar"b'19"), 11575 Bop(And, 11576 Mop(Not, 11577 bVar"b'18"), 11578 Bop(And, 11579 Mop(Not, 11580 bVar"b'17"), 11581 Bop(And, 11582 Mop(Not, 11583 bVar"b'16"), 11584 Bop(And, 11585 Mop(Not, 11586 bVar"b'15"), 11587 Bop(And, 11588 Mop(Not, 11589 bVar"b'14"), 11590 Bop(And, 11591 Mop(Not, 11592 bVar"b'13"), 11593 Bop(And, 11594 Mop(Not, 11595 bVar"b'12"), 11596 Bop(And, 11597 Mop(Not, 11598 bVar"b'11"), 11599 Bop(And, 11600 Mop(Not, 11601 bVar"b'10"), 11602 Bop(And, 11603 Mop(Not, 11604 bVar"b'9"), 11605 Bop(And, 11606 Mop(Not, 11607 bVar"b'8"), 11608 Bop(And, 11609 Mop(Not, 11610 bVar"b'7"), 11611 Bop(And, 11612 Mop(Not, 11613 bVar"b'6"), 11614 Bop(And, 11615 Mop(Not, 11616 bVar"b'5"), 11617 Bop(And, 11618 bVar"b'4", 11619 Bop(And, 11620 bVar"b'3", 11621 Bop(And, 11622 Mop(Not, 11623 bVar"b'2"), 11624 Bop(And, 11625 Mop(Not, 11626 bVar"b'1"), 11627 Mop(Not, 11628 bVar"b'0"))))))))))))))))))))))))))))), 11629 Const("ERET",CTy"instruction")), 11630 (Bop(And,Mop(Not,bVar"b'31"), 11631 Bop(And,Mop(Not,bVar"b'28"), 11632 Bop(And,Mop(Not,bVar"b'27"), 11633 Bop(And,Mop(Not,bVar"b'25"), 11634 Bop(And,Mop(Not,bVar"b'24"), 11635 Bop(And,Mop(Not,bVar"b'23"), 11636 Bop(And,Mop(Not,bVar"b'22"), 11637 Bop(And, 11638 Mop(Not,bVar"b'21"), 11639 Bop(And, 11640 Mop(Not,bVar"b'10"), 11641 Bop(And, 11642 Mop(Not, 11643 bVar"b'9"), 11644 Bop(And, 11645 Mop(Not, 11646 bVar"b'8"), 11647 Bop(And, 11648 Mop(Not, 11649 bVar"b'7"), 11650 Bop(And, 11651 Mop(Not, 11652 bVar"b'6"), 11653 Bop(And, 11654 Mop(Not, 11655 bVar"b'5"), 11656 Bop(And, 11657 Mop(Not, 11658 bVar"b'4"), 11659 Mop(Not, 11660 bVar"b'3")))))))))))))))), 11661 Call 11662 ("CP",CTy"instruction", 11663 Call 11664 ("MFC0",CTy"CP", 11665 TP[Mop(Cast(FTy 5), 11666 LL[bVar"b'20",bVar"b'19",bVar"b'18", 11667 bVar"b'17",bVar"b'16"]), 11668 Mop(Cast(FTy 5), 11669 LL[bVar"b'15",bVar"b'14",bVar"b'13", 11670 bVar"b'12",bVar"b'11"]), 11671 Mop(Cast(FTy 3), 11672 LL[bVar"b'2",bVar"b'1",bVar"b'0"])]))), 11673 (Bop(And,Mop(Not,bVar"b'31"), 11674 Bop(And,Mop(Not,bVar"b'28"), 11675 Bop(And,Mop(Not,bVar"b'27"), 11676 Bop(And,Mop(Not,bVar"b'25"), 11677 Bop(And,Mop(Not,bVar"b'24"), 11678 Bop(And,Mop(Not,bVar"b'23"), 11679 Bop(And,Mop(Not,bVar"b'22"), 11680 Bop(And,bVar"b'21", 11681 Bop(And, 11682 Mop(Not,bVar"b'10"), 11683 Bop(And, 11684 Mop(Not, 11685 bVar"b'9"), 11686 Bop(And, 11687 Mop(Not, 11688 bVar"b'8"), 11689 Bop(And, 11690 Mop(Not, 11691 bVar"b'7"), 11692 Bop(And, 11693 Mop(Not, 11694 bVar"b'6"), 11695 Bop(And, 11696 Mop(Not, 11697 bVar"b'5"), 11698 Bop(And, 11699 Mop(Not, 11700 bVar"b'4"), 11701 Mop(Not, 11702 bVar"b'3")))))))))))))))), 11703 Call 11704 ("CP",CTy"instruction", 11705 Call 11706 ("DMFC0",CTy"CP", 11707 TP[Mop(Cast(FTy 5), 11708 LL[bVar"b'20",bVar"b'19",bVar"b'18", 11709 bVar"b'17",bVar"b'16"]), 11710 Mop(Cast(FTy 5), 11711 LL[bVar"b'15",bVar"b'14",bVar"b'13", 11712 bVar"b'12",bVar"b'11"]), 11713 Mop(Cast(FTy 3), 11714 LL[bVar"b'2",bVar"b'1",bVar"b'0"])]))), 11715 (Bop(And,Mop(Not,bVar"b'31"), 11716 Bop(And,Mop(Not,bVar"b'28"), 11717 Bop(And,Mop(Not,bVar"b'27"), 11718 Bop(And,Mop(Not,bVar"b'25"), 11719 Bop(And,Mop(Not,bVar"b'24"), 11720 Bop(And,bVar"b'23", 11721 Bop(And,Mop(Not,bVar"b'22"), 11722 Bop(And, 11723 Mop(Not,bVar"b'21"), 11724 Bop(And, 11725 Mop(Not,bVar"b'10"), 11726 Bop(And, 11727 Mop(Not, 11728 bVar"b'9"), 11729 Bop(And, 11730 Mop(Not, 11731 bVar"b'8"), 11732 Bop(And, 11733 Mop(Not, 11734 bVar"b'7"), 11735 Bop(And, 11736 Mop(Not, 11737 bVar"b'6"), 11738 Bop(And, 11739 Mop(Not, 11740 bVar"b'5"), 11741 Bop(And, 11742 Mop(Not, 11743 bVar"b'4"), 11744 Mop(Not, 11745 bVar"b'3")))))))))))))))), 11746 Call 11747 ("CP",CTy"instruction", 11748 Call 11749 ("MTC0",CTy"CP", 11750 TP[Mop(Cast(FTy 5), 11751 LL[bVar"b'20",bVar"b'19",bVar"b'18", 11752 bVar"b'17",bVar"b'16"]), 11753 Mop(Cast(FTy 5), 11754 LL[bVar"b'15",bVar"b'14",bVar"b'13", 11755 bVar"b'12",bVar"b'11"]), 11756 Mop(Cast(FTy 3), 11757 LL[bVar"b'2",bVar"b'1",bVar"b'0"])]))), 11758 (Bop(And,Mop(Not,bVar"b'31"), 11759 Bop(And,Mop(Not,bVar"b'28"), 11760 Bop(And,Mop(Not,bVar"b'27"), 11761 Bop(And,Mop(Not,bVar"b'25"), 11762 Bop(And,Mop(Not,bVar"b'24"), 11763 Bop(And,bVar"b'23", 11764 Bop(And,Mop(Not,bVar"b'22"), 11765 Bop(And,bVar"b'21", 11766 Bop(And, 11767 Mop(Not,bVar"b'10"), 11768 Bop(And, 11769 Mop(Not, 11770 bVar"b'9"), 11771 Bop(And, 11772 Mop(Not, 11773 bVar"b'8"), 11774 Bop(And, 11775 Mop(Not, 11776 bVar"b'7"), 11777 Bop(And, 11778 Mop(Not, 11779 bVar"b'6"), 11780 Bop(And, 11781 Mop(Not, 11782 bVar"b'5"), 11783 Bop(And, 11784 Mop(Not, 11785 bVar"b'4"), 11786 Mop(Not, 11787 bVar"b'3")))))))))))))))), 11788 Call 11789 ("CP",CTy"instruction", 11790 Call 11791 ("DMTC0",CTy"CP", 11792 TP[Mop(Cast(FTy 5), 11793 LL[bVar"b'20",bVar"b'19",bVar"b'18", 11794 bVar"b'17",bVar"b'16"]), 11795 Mop(Cast(FTy 5), 11796 LL[bVar"b'15",bVar"b'14",bVar"b'13", 11797 bVar"b'12",bVar"b'11"]), 11798 Mop(Cast(FTy 3), 11799 LL[bVar"b'2",bVar"b'1",bVar"b'0"])]))), 11800 (Bop(And,Mop(Not,bVar"b'31"), 11801 Bop(And,bVar"b'28", 11802 Bop(And,bVar"b'27", 11803 Bop(And,Mop(Not,bVar"b'20"), 11804 Bop(And,Mop(Not,bVar"b'19"), 11805 Bop(And,Mop(Not,bVar"b'18"), 11806 Bop(And,Mop(Not,bVar"b'17"), 11807 Mop(Not,bVar"b'16")))))))), 11808 Call 11809 ("Branch",CTy"instruction", 11810 Call 11811 ("BLEZL",CTy"Branch", 11812 TP[Mop(Cast(FTy 5), 11813 LL[bVar"b'25",bVar"b'24",bVar"b'23", 11814 bVar"b'22",bVar"b'21"]), 11815 Mop(Cast F16, 11816 LL[bVar"b'15",bVar"b'14",bVar"b'13", 11817 bVar"b'12",bVar"b'11",bVar"b'10", 11818 bVar"b'9",bVar"b'8",bVar"b'7", 11819 bVar"b'6",bVar"b'5",bVar"b'4", 11820 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 11821 (Bop(And,Mop(Not,bVar"b'31"), 11822 Bop(And,bVar"b'28",Mop(Not,bVar"b'27"))), 11823 Call 11824 ("Branch",CTy"instruction", 11825 Call 11826 ("BEQL",CTy"Branch", 11827 TP[Mop(Cast(FTy 5), 11828 LL[bVar"b'25",bVar"b'24",bVar"b'23", 11829 bVar"b'22",bVar"b'21"]), 11830 Mop(Cast(FTy 5), 11831 LL[bVar"b'20",bVar"b'19",bVar"b'18", 11832 bVar"b'17",bVar"b'16"]), 11833 Mop(Cast F16, 11834 LL[bVar"b'15",bVar"b'14",bVar"b'13", 11835 bVar"b'12",bVar"b'11",bVar"b'10", 11836 bVar"b'9",bVar"b'8",bVar"b'7", 11837 bVar"b'6",bVar"b'5",bVar"b'4", 11838 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 11839 (Bop(And,bVar"b'31", 11840 Bop(And,Mop(Not,bVar"b'28"),Mop(Not,bVar"b'27"))), 11841 Call 11842 ("Load",CTy"instruction", 11843 Call 11844 ("LL",CTy"Load", 11845 TP[Mop(Cast(FTy 5), 11846 LL[bVar"b'25",bVar"b'24",bVar"b'23", 11847 bVar"b'22",bVar"b'21"]), 11848 Mop(Cast(FTy 5), 11849 LL[bVar"b'20",bVar"b'19",bVar"b'18", 11850 bVar"b'17",bVar"b'16"]), 11851 Mop(Cast F16, 11852 LL[bVar"b'15",bVar"b'14",bVar"b'13", 11853 bVar"b'12",bVar"b'11",bVar"b'10", 11854 bVar"b'9",bVar"b'8",bVar"b'7", 11855 bVar"b'6",bVar"b'5",bVar"b'4", 11856 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 11857 (Bop(And,bVar"b'31", 11858 Bop(And,bVar"b'28",Mop(Not,bVar"b'27"))), 11859 Call 11860 ("Load",CTy"instruction", 11861 Call 11862 ("LLD",CTy"Load", 11863 TP[Mop(Cast(FTy 5), 11864 LL[bVar"b'25",bVar"b'24",bVar"b'23", 11865 bVar"b'22",bVar"b'21"]), 11866 Mop(Cast(FTy 5), 11867 LL[bVar"b'20",bVar"b'19",bVar"b'18", 11868 bVar"b'17",bVar"b'16"]), 11869 Mop(Cast F16, 11870 LL[bVar"b'15",bVar"b'14",bVar"b'13", 11871 bVar"b'12",bVar"b'11",bVar"b'10", 11872 bVar"b'9",bVar"b'8",bVar"b'7", 11873 bVar"b'6",bVar"b'5",bVar"b'4", 11874 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 11875 (Bop(And,Mop(Not,bVar"b'31"), 11876 Bop(And,Mop(Not,bVar"b'28"), 11877 Bop(And,Mop(Not,bVar"b'27"), 11878 Bop(And,bVar"b'25", 11879 Bop(And,Mop(Not,bVar"b'24"), 11880 Bop(And,Mop(Not,bVar"b'23"), 11881 Bop(And,Mop(Not,bVar"b'22"), 11882 Bop(And, 11883 Mop(Not,bVar"b'21"), 11884 Bop(And, 11885 Mop(Not,bVar"b'20"), 11886 Bop(And, 11887 Mop(Not, 11888 bVar"b'19"), 11889 Bop(And, 11890 Mop(Not, 11891 bVar"b'18"), 11892 Bop(And, 11893 Mop(Not, 11894 bVar"b'17"), 11895 Bop(And, 11896 Mop(Not, 11897 bVar"b'16"), 11898 Bop(And, 11899 Mop(Not, 11900 bVar"b'15"), 11901 Bop(And, 11902 Mop(Not, 11903 bVar"b'14"), 11904 Bop(And, 11905 Mop(Not, 11906 bVar"b'13"), 11907 Bop(And, 11908 Mop(Not, 11909 bVar"b'12"), 11910 Bop(And, 11911 Mop(Not, 11912 bVar"b'11"), 11913 Bop(And, 11914 Mop(Not, 11915 bVar"b'10"), 11916 Bop(And, 11917 Mop(Not, 11918 bVar"b'9"), 11919 Bop(And, 11920 Mop(Not, 11921 bVar"b'8"), 11922 Bop(And, 11923 Mop(Not, 11924 bVar"b'7"), 11925 Bop(And, 11926 Mop(Not, 11927 bVar"b'6"), 11928 Bop(And, 11929 bVar"b'5", 11930 Bop(And, 11931 Mop(Not, 11932 bVar"b'4"), 11933 Bop(And, 11934 Mop(Not, 11935 bVar"b'3"), 11936 Bop(And, 11937 Mop(Not, 11938 bVar"b'2"), 11939 Bop(And, 11940 Mop(Not, 11941 bVar"b'1"), 11942 Mop(Not, 11943 bVar"b'0"))))))))))))))))))))))))))))), 11944 Const("WAIT",CTy"instruction"))], 11945 Const("ReservedInstruction",CTy"instruction"))), 11946 (bVar"b'31", 11947 ITB([(bVar"b'29", 11948 ITB([(Bop(And,Mop(Not,bVar"b'28"),Mop(Not,bVar"b'27")), 11949 Call 11950 ("Store",CTy"instruction", 11951 Call 11952 ("SB",CTy"Store", 11953 TP[Mop(Cast(FTy 5), 11954 LL[bVar"b'25",bVar"b'24",bVar"b'23", 11955 bVar"b'22",bVar"b'21"]), 11956 Mop(Cast(FTy 5), 11957 LL[bVar"b'20",bVar"b'19",bVar"b'18", 11958 bVar"b'17",bVar"b'16"]), 11959 Mop(Cast F16, 11960 LL[bVar"b'15",bVar"b'14",bVar"b'13", 11961 bVar"b'12",bVar"b'11",bVar"b'10", 11962 bVar"b'9",bVar"b'8",bVar"b'7", 11963 bVar"b'6",bVar"b'5",bVar"b'4", 11964 bVar"b'3",bVar"b'2",bVar"b'1", 11965 bVar"b'0"])]))), 11966 (Bop(And,Mop(Not,bVar"b'28"),bVar"b'27"), 11967 Call 11968 ("Store",CTy"instruction", 11969 Call 11970 ("SWL",CTy"Store", 11971 TP[Mop(Cast(FTy 5), 11972 LL[bVar"b'25",bVar"b'24",bVar"b'23", 11973 bVar"b'22",bVar"b'21"]), 11974 Mop(Cast(FTy 5), 11975 LL[bVar"b'20",bVar"b'19",bVar"b'18", 11976 bVar"b'17",bVar"b'16"]), 11977 Mop(Cast F16, 11978 LL[bVar"b'15",bVar"b'14",bVar"b'13", 11979 bVar"b'12",bVar"b'11",bVar"b'10", 11980 bVar"b'9",bVar"b'8",bVar"b'7", 11981 bVar"b'6",bVar"b'5",bVar"b'4", 11982 bVar"b'3",bVar"b'2",bVar"b'1", 11983 bVar"b'0"])]))), 11984 (Bop(And,bVar"b'28",Mop(Not,bVar"b'27")), 11985 Call 11986 ("Store",CTy"instruction", 11987 Call 11988 ("SDL",CTy"Store", 11989 TP[Mop(Cast(FTy 5), 11990 LL[bVar"b'25",bVar"b'24",bVar"b'23", 11991 bVar"b'22",bVar"b'21"]), 11992 Mop(Cast(FTy 5), 11993 LL[bVar"b'20",bVar"b'19",bVar"b'18", 11994 bVar"b'17",bVar"b'16"]), 11995 Mop(Cast F16, 11996 LL[bVar"b'15",bVar"b'14",bVar"b'13", 11997 bVar"b'12",bVar"b'11",bVar"b'10", 11998 bVar"b'9",bVar"b'8",bVar"b'7", 11999 bVar"b'6",bVar"b'5",bVar"b'4", 12000 bVar"b'3",bVar"b'2",bVar"b'1", 12001 bVar"b'0"])]))), 12002 (Bop(And,bVar"b'28",bVar"b'27"), 12003 Call 12004 ("Store",CTy"instruction", 12005 Call 12006 ("SWR",CTy"Store", 12007 TP[Mop(Cast(FTy 5), 12008 LL[bVar"b'25",bVar"b'24",bVar"b'23", 12009 bVar"b'22",bVar"b'21"]), 12010 Mop(Cast(FTy 5), 12011 LL[bVar"b'20",bVar"b'19",bVar"b'18", 12012 bVar"b'17",bVar"b'16"]), 12013 Mop(Cast F16, 12014 LL[bVar"b'15",bVar"b'14",bVar"b'13", 12015 bVar"b'12",bVar"b'11",bVar"b'10", 12016 bVar"b'9",bVar"b'8",bVar"b'7", 12017 bVar"b'6",bVar"b'5",bVar"b'4", 12018 bVar"b'3",bVar"b'2",bVar"b'1", 12019 bVar"b'0"])])))], 12020 Const("ReservedInstruction",CTy"instruction"))), 12021 (Bop(And,Mop(Not,bVar"b'28"),Mop(Not,bVar"b'27")), 12022 Call 12023 ("Load",CTy"instruction", 12024 Call 12025 ("LB",CTy"Load", 12026 TP[Mop(Cast(FTy 5), 12027 LL[bVar"b'25",bVar"b'24",bVar"b'23", 12028 bVar"b'22",bVar"b'21"]), 12029 Mop(Cast(FTy 5), 12030 LL[bVar"b'20",bVar"b'19",bVar"b'18", 12031 bVar"b'17",bVar"b'16"]), 12032 Mop(Cast F16, 12033 LL[bVar"b'15",bVar"b'14",bVar"b'13", 12034 bVar"b'12",bVar"b'11",bVar"b'10", 12035 bVar"b'9",bVar"b'8",bVar"b'7", 12036 bVar"b'6",bVar"b'5",bVar"b'4", 12037 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 12038 (Bop(And,Mop(Not,bVar"b'28"),bVar"b'27"), 12039 Call 12040 ("Load",CTy"instruction", 12041 Call 12042 ("LWL",CTy"Load", 12043 TP[Mop(Cast(FTy 5), 12044 LL[bVar"b'25",bVar"b'24",bVar"b'23", 12045 bVar"b'22",bVar"b'21"]), 12046 Mop(Cast(FTy 5), 12047 LL[bVar"b'20",bVar"b'19",bVar"b'18", 12048 bVar"b'17",bVar"b'16"]), 12049 Mop(Cast F16, 12050 LL[bVar"b'15",bVar"b'14",bVar"b'13", 12051 bVar"b'12",bVar"b'11",bVar"b'10", 12052 bVar"b'9",bVar"b'8",bVar"b'7", 12053 bVar"b'6",bVar"b'5",bVar"b'4", 12054 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 12055 (Bop(And,bVar"b'28",Mop(Not,bVar"b'27")), 12056 Call 12057 ("Load",CTy"instruction", 12058 Call 12059 ("LBU",CTy"Load", 12060 TP[Mop(Cast(FTy 5), 12061 LL[bVar"b'25",bVar"b'24",bVar"b'23", 12062 bVar"b'22",bVar"b'21"]), 12063 Mop(Cast(FTy 5), 12064 LL[bVar"b'20",bVar"b'19",bVar"b'18", 12065 bVar"b'17",bVar"b'16"]), 12066 Mop(Cast F16, 12067 LL[bVar"b'15",bVar"b'14",bVar"b'13", 12068 bVar"b'12",bVar"b'11",bVar"b'10", 12069 bVar"b'9",bVar"b'8",bVar"b'7", 12070 bVar"b'6",bVar"b'5",bVar"b'4", 12071 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 12072 (Bop(And,bVar"b'28",bVar"b'27"), 12073 Call 12074 ("Load",CTy"instruction", 12075 Call 12076 ("LWR",CTy"Load", 12077 TP[Mop(Cast(FTy 5), 12078 LL[bVar"b'25",bVar"b'24",bVar"b'23", 12079 bVar"b'22",bVar"b'21"]), 12080 Mop(Cast(FTy 5), 12081 LL[bVar"b'20",bVar"b'19",bVar"b'18", 12082 bVar"b'17",bVar"b'16"]), 12083 Mop(Cast F16, 12084 LL[bVar"b'15",bVar"b'14",bVar"b'13", 12085 bVar"b'12",bVar"b'11",bVar"b'10", 12086 bVar"b'9",bVar"b'8",bVar"b'7", 12087 bVar"b'6",bVar"b'5",bVar"b'4", 12088 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])])))], 12089 Const("ReservedInstruction",CTy"instruction"))), 12090 (bVar"b'29", 12091 ITB([(Bop(And,Mop(Not,bVar"b'28"),Mop(Not,bVar"b'27")), 12092 Call 12093 ("ArithI",CTy"instruction", 12094 Call 12095 ("ADDI",CTy"ArithI", 12096 TP[Mop(Cast(FTy 5), 12097 LL[bVar"b'25",bVar"b'24",bVar"b'23", 12098 bVar"b'22",bVar"b'21"]), 12099 Mop(Cast(FTy 5), 12100 LL[bVar"b'20",bVar"b'19",bVar"b'18", 12101 bVar"b'17",bVar"b'16"]), 12102 Mop(Cast F16, 12103 LL[bVar"b'15",bVar"b'14",bVar"b'13", 12104 bVar"b'12",bVar"b'11",bVar"b'10", 12105 bVar"b'9",bVar"b'8",bVar"b'7", 12106 bVar"b'6",bVar"b'5",bVar"b'4", 12107 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 12108 (Bop(And,Mop(Not,bVar"b'28"),bVar"b'27"), 12109 Call 12110 ("ArithI",CTy"instruction", 12111 Call 12112 ("SLTI",CTy"ArithI", 12113 TP[Mop(Cast(FTy 5), 12114 LL[bVar"b'25",bVar"b'24",bVar"b'23", 12115 bVar"b'22",bVar"b'21"]), 12116 Mop(Cast(FTy 5), 12117 LL[bVar"b'20",bVar"b'19",bVar"b'18", 12118 bVar"b'17",bVar"b'16"]), 12119 Mop(Cast F16, 12120 LL[bVar"b'15",bVar"b'14",bVar"b'13", 12121 bVar"b'12",bVar"b'11",bVar"b'10", 12122 bVar"b'9",bVar"b'8",bVar"b'7", 12123 bVar"b'6",bVar"b'5",bVar"b'4", 12124 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 12125 (Bop(And,bVar"b'28",Mop(Not,bVar"b'27")), 12126 Call 12127 ("ArithI",CTy"instruction", 12128 Call 12129 ("ANDI",CTy"ArithI", 12130 TP[Mop(Cast(FTy 5), 12131 LL[bVar"b'25",bVar"b'24",bVar"b'23", 12132 bVar"b'22",bVar"b'21"]), 12133 Mop(Cast(FTy 5), 12134 LL[bVar"b'20",bVar"b'19",bVar"b'18", 12135 bVar"b'17",bVar"b'16"]), 12136 Mop(Cast F16, 12137 LL[bVar"b'15",bVar"b'14",bVar"b'13", 12138 bVar"b'12",bVar"b'11",bVar"b'10", 12139 bVar"b'9",bVar"b'8",bVar"b'7", 12140 bVar"b'6",bVar"b'5",bVar"b'4", 12141 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 12142 (Bop(And,bVar"b'28",bVar"b'27"), 12143 Call 12144 ("ArithI",CTy"instruction", 12145 Call 12146 ("XORI",CTy"ArithI", 12147 TP[Mop(Cast(FTy 5), 12148 LL[bVar"b'25",bVar"b'24",bVar"b'23", 12149 bVar"b'22",bVar"b'21"]), 12150 Mop(Cast(FTy 5), 12151 LL[bVar"b'20",bVar"b'19",bVar"b'18", 12152 bVar"b'17",bVar"b'16"]), 12153 Mop(Cast F16, 12154 LL[bVar"b'15",bVar"b'14",bVar"b'13", 12155 bVar"b'12",bVar"b'11",bVar"b'10", 12156 bVar"b'9",bVar"b'8",bVar"b'7", 12157 bVar"b'6",bVar"b'5",bVar"b'4", 12158 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])])))], 12159 Const("ReservedInstruction",CTy"instruction"))), 12160 (Bop(And,Mop(Not,bVar"b'28"), 12161 Bop(And,Mop(Not,bVar"b'27"), 12162 Bop(And,Mop(Not,bVar"b'10"), 12163 Bop(And,Mop(Not,bVar"b'9"), 12164 Bop(And,Mop(Not,bVar"b'8"), 12165 Bop(And,Mop(Not,bVar"b'7"), 12166 Bop(And,Mop(Not,bVar"b'6"), 12167 Bop(And,Mop(Not,bVar"b'5"), 12168 Bop(And,Mop(Not,bVar"b'4"), 12169 Bop(And, 12170 Mop(Not,bVar"b'3"), 12171 Bop(And, 12172 Mop(Not,bVar"b'2"), 12173 Bop(And, 12174 Mop(Not, 12175 bVar"b'1"), 12176 bVar"b'0")))))))))))), 12177 Call 12178 ("MOVCIDecode",CTy"instruction", 12179 TP[Mop(Cast(FTy 5), 12180 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 12181 bVar"b'21"]), 12182 Mop(Cast(FTy 5), 12183 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 12184 bVar"b'16"]), 12185 Mop(Cast(FTy 5), 12186 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 12187 bVar"b'11"])])), 12188 (Bop(And,Mop(Not,bVar"b'28"), 12189 Bop(And,Mop(Not,bVar"b'27"), 12190 Bop(And,Mop(Not,bVar"b'25"), 12191 Bop(And,Mop(Not,bVar"b'24"), 12192 Bop(And,Mop(Not,bVar"b'23"), 12193 Bop(And,Mop(Not,bVar"b'22"), 12194 Bop(And,Mop(Not,bVar"b'21"), 12195 Bop(And,Mop(Not,bVar"b'5"), 12196 Bop(And,Mop(Not,bVar"b'4"), 12197 Bop(And, 12198 Mop(Not,bVar"b'3"), 12199 Bop(And, 12200 Mop(Not,bVar"b'2"), 12201 Bop(And, 12202 Mop(Not, 12203 bVar"b'1"), 12204 Mop(Not, 12205 bVar"b'0"))))))))))))), 12206 Call 12207 ("Shift",CTy"instruction", 12208 Call 12209 ("SLL",CTy"Shift", 12210 TP[Mop(Cast(FTy 5), 12211 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 12212 bVar"b'16"]), 12213 Mop(Cast(FTy 5), 12214 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 12215 bVar"b'11"]), 12216 Mop(Cast(FTy 5), 12217 LL[bVar"b'10",bVar"b'9",bVar"b'8",bVar"b'7", 12218 bVar"b'6"])]))), 12219 (Bop(And,Mop(Not,bVar"b'28"), 12220 Bop(And,Mop(Not,bVar"b'27"), 12221 Bop(And,Mop(Not,bVar"b'25"), 12222 Bop(And,Mop(Not,bVar"b'24"), 12223 Bop(And,Mop(Not,bVar"b'23"), 12224 Bop(And,Mop(Not,bVar"b'22"), 12225 Bop(And,Mop(Not,bVar"b'21"), 12226 Bop(And,Mop(Not,bVar"b'5"), 12227 Bop(And,Mop(Not,bVar"b'4"), 12228 Bop(And, 12229 Mop(Not,bVar"b'3"), 12230 Bop(And, 12231 Mop(Not,bVar"b'2"), 12232 Bop(And, 12233 bVar"b'1", 12234 Mop(Not, 12235 bVar"b'0"))))))))))))), 12236 Call 12237 ("Shift",CTy"instruction", 12238 Call 12239 ("SRL",CTy"Shift", 12240 TP[Mop(Cast(FTy 5), 12241 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 12242 bVar"b'16"]), 12243 Mop(Cast(FTy 5), 12244 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 12245 bVar"b'11"]), 12246 Mop(Cast(FTy 5), 12247 LL[bVar"b'10",bVar"b'9",bVar"b'8",bVar"b'7", 12248 bVar"b'6"])]))), 12249 (Bop(And,Mop(Not,bVar"b'28"), 12250 Bop(And,Mop(Not,bVar"b'27"), 12251 Bop(And,Mop(Not,bVar"b'25"), 12252 Bop(And,Mop(Not,bVar"b'24"), 12253 Bop(And,Mop(Not,bVar"b'23"), 12254 Bop(And,Mop(Not,bVar"b'22"), 12255 Bop(And,Mop(Not,bVar"b'21"), 12256 Bop(And,Mop(Not,bVar"b'5"), 12257 Bop(And,Mop(Not,bVar"b'4"), 12258 Bop(And, 12259 Mop(Not,bVar"b'3"), 12260 Bop(And, 12261 Mop(Not,bVar"b'2"), 12262 Bop(And, 12263 bVar"b'1", 12264 bVar"b'0")))))))))))), 12265 Call 12266 ("Shift",CTy"instruction", 12267 Call 12268 ("SRA",CTy"Shift", 12269 TP[Mop(Cast(FTy 5), 12270 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 12271 bVar"b'16"]), 12272 Mop(Cast(FTy 5), 12273 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 12274 bVar"b'11"]), 12275 Mop(Cast(FTy 5), 12276 LL[bVar"b'10",bVar"b'9",bVar"b'8",bVar"b'7", 12277 bVar"b'6"])]))), 12278 (Bop(And,Mop(Not,bVar"b'28"), 12279 Bop(And,Mop(Not,bVar"b'27"), 12280 Bop(And,Mop(Not,bVar"b'10"), 12281 Bop(And,Mop(Not,bVar"b'9"), 12282 Bop(And,Mop(Not,bVar"b'8"), 12283 Bop(And,Mop(Not,bVar"b'7"), 12284 Bop(And,Mop(Not,bVar"b'6"), 12285 Bop(And,Mop(Not,bVar"b'5"), 12286 Bop(And,Mop(Not,bVar"b'4"), 12287 Bop(And, 12288 Mop(Not,bVar"b'3"), 12289 Bop(And,bVar"b'2", 12290 Bop(And, 12291 Mop(Not, 12292 bVar"b'1"), 12293 Mop(Not, 12294 bVar"b'0"))))))))))))), 12295 Call 12296 ("Shift",CTy"instruction", 12297 Call 12298 ("SLLV",CTy"Shift", 12299 TP[Mop(Cast(FTy 5), 12300 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 12301 bVar"b'21"]), 12302 Mop(Cast(FTy 5), 12303 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 12304 bVar"b'16"]), 12305 Mop(Cast(FTy 5), 12306 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 12307 bVar"b'11"])]))), 12308 (Bop(And,Mop(Not,bVar"b'28"), 12309 Bop(And,Mop(Not,bVar"b'27"), 12310 Bop(And,Mop(Not,bVar"b'10"), 12311 Bop(And,Mop(Not,bVar"b'9"), 12312 Bop(And,Mop(Not,bVar"b'8"), 12313 Bop(And,Mop(Not,bVar"b'7"), 12314 Bop(And,Mop(Not,bVar"b'6"), 12315 Bop(And,Mop(Not,bVar"b'5"), 12316 Bop(And,Mop(Not,bVar"b'4"), 12317 Bop(And, 12318 Mop(Not,bVar"b'3"), 12319 Bop(And,bVar"b'2", 12320 Bop(And, 12321 bVar"b'1", 12322 Mop(Not, 12323 bVar"b'0"))))))))))))), 12324 Call 12325 ("Shift",CTy"instruction", 12326 Call 12327 ("SRLV",CTy"Shift", 12328 TP[Mop(Cast(FTy 5), 12329 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 12330 bVar"b'21"]), 12331 Mop(Cast(FTy 5), 12332 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 12333 bVar"b'16"]), 12334 Mop(Cast(FTy 5), 12335 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 12336 bVar"b'11"])]))), 12337 (Bop(And,Mop(Not,bVar"b'28"), 12338 Bop(And,Mop(Not,bVar"b'27"), 12339 Bop(And,Mop(Not,bVar"b'10"), 12340 Bop(And,Mop(Not,bVar"b'9"), 12341 Bop(And,Mop(Not,bVar"b'8"), 12342 Bop(And,Mop(Not,bVar"b'7"), 12343 Bop(And,Mop(Not,bVar"b'6"), 12344 Bop(And,Mop(Not,bVar"b'5"), 12345 Bop(And,Mop(Not,bVar"b'4"), 12346 Bop(And, 12347 Mop(Not,bVar"b'3"), 12348 Bop(And,bVar"b'2", 12349 Bop(And, 12350 bVar"b'1", 12351 bVar"b'0")))))))))))), 12352 Call 12353 ("Shift",CTy"instruction", 12354 Call 12355 ("SRAV",CTy"Shift", 12356 TP[Mop(Cast(FTy 5), 12357 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 12358 bVar"b'21"]), 12359 Mop(Cast(FTy 5), 12360 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 12361 bVar"b'16"]), 12362 Mop(Cast(FTy 5), 12363 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 12364 bVar"b'11"])]))), 12365 (Bop(And,Mop(Not,bVar"b'28"), 12366 Bop(And,Mop(Not,bVar"b'27"), 12367 Bop(And,Mop(Not,bVar"b'20"), 12368 Bop(And,Mop(Not,bVar"b'19"), 12369 Bop(And,Mop(Not,bVar"b'18"), 12370 Bop(And,Mop(Not,bVar"b'17"), 12371 Bop(And,Mop(Not,bVar"b'16"), 12372 Bop(And,Mop(Not,bVar"b'15"), 12373 Bop(And,Mop(Not,bVar"b'14"), 12374 Bop(And, 12375 Mop(Not,bVar"b'13"), 12376 Bop(And, 12377 Mop(Not, 12378 bVar"b'12"), 12379 Bop(And, 12380 Mop(Not, 12381 bVar"b'11"), 12382 Bop(And, 12383 Mop(Not, 12384 bVar"b'5"), 12385 Bop(And, 12386 Mop(Not, 12387 bVar"b'4"), 12388 Bop(And, 12389 bVar"b'3", 12390 Bop(And, 12391 Mop(Not, 12392 bVar"b'2"), 12393 Bop(And, 12394 Mop(Not, 12395 bVar"b'1"), 12396 Mop(Not, 12397 bVar"b'0")))))))))))))))))), 12398 Call 12399 ("Branch",CTy"instruction", 12400 Call 12401 ("JR",CTy"Branch", 12402 Mop(Cast(FTy 5), 12403 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 12404 bVar"b'21"])))), 12405 (Bop(And,Mop(Not,bVar"b'28"), 12406 Bop(And,Mop(Not,bVar"b'27"), 12407 Bop(And,Mop(Not,bVar"b'20"), 12408 Bop(And,Mop(Not,bVar"b'19"), 12409 Bop(And,Mop(Not,bVar"b'18"), 12410 Bop(And,Mop(Not,bVar"b'17"), 12411 Bop(And,Mop(Not,bVar"b'16"), 12412 Bop(And,Mop(Not,bVar"b'5"), 12413 Bop(And,Mop(Not,bVar"b'4"), 12414 Bop(And,bVar"b'3", 12415 Bop(And, 12416 Mop(Not,bVar"b'2"), 12417 Bop(And, 12418 Mop(Not, 12419 bVar"b'1"), 12420 bVar"b'0")))))))))))), 12421 Call 12422 ("Branch",CTy"instruction", 12423 Call 12424 ("JALR",CTy"Branch", 12425 TP[Mop(Cast(FTy 5), 12426 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 12427 bVar"b'21"]), 12428 Mop(Cast(FTy 5), 12429 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 12430 bVar"b'11"])]))), 12431 (Bop(And,Mop(Not,bVar"b'28"), 12432 Bop(And,Mop(Not,bVar"b'27"), 12433 Bop(And,Mop(Not,bVar"b'10"), 12434 Bop(And,Mop(Not,bVar"b'9"), 12435 Bop(And,Mop(Not,bVar"b'8"), 12436 Bop(And,Mop(Not,bVar"b'7"), 12437 Bop(And,Mop(Not,bVar"b'6"), 12438 Bop(And,Mop(Not,bVar"b'5"), 12439 Bop(And,Mop(Not,bVar"b'4"), 12440 Bop(And,bVar"b'3", 12441 Bop(And, 12442 Mop(Not,bVar"b'2"), 12443 Bop(And, 12444 bVar"b'1", 12445 Mop(Not, 12446 bVar"b'0"))))))))))))), 12447 Call 12448 ("ArithR",CTy"instruction", 12449 Call 12450 ("MOVZ",CTy"ArithR", 12451 TP[Mop(Cast(FTy 5), 12452 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 12453 bVar"b'21"]), 12454 Mop(Cast(FTy 5), 12455 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 12456 bVar"b'16"]), 12457 Mop(Cast(FTy 5), 12458 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 12459 bVar"b'11"])]))), 12460 (Bop(And,Mop(Not,bVar"b'28"), 12461 Bop(And,Mop(Not,bVar"b'27"), 12462 Bop(And,Mop(Not,bVar"b'10"), 12463 Bop(And,Mop(Not,bVar"b'9"), 12464 Bop(And,Mop(Not,bVar"b'8"), 12465 Bop(And,Mop(Not,bVar"b'7"), 12466 Bop(And,Mop(Not,bVar"b'6"), 12467 Bop(And,Mop(Not,bVar"b'5"), 12468 Bop(And,Mop(Not,bVar"b'4"), 12469 Bop(And,bVar"b'3", 12470 Bop(And, 12471 Mop(Not,bVar"b'2"), 12472 Bop(And, 12473 bVar"b'1", 12474 bVar"b'0")))))))))))), 12475 Call 12476 ("ArithR",CTy"instruction", 12477 Call 12478 ("MOVN",CTy"ArithR", 12479 TP[Mop(Cast(FTy 5), 12480 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 12481 bVar"b'21"]), 12482 Mop(Cast(FTy 5), 12483 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 12484 bVar"b'16"]), 12485 Mop(Cast(FTy 5), 12486 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 12487 bVar"b'11"])]))), 12488 (Bop(And,Mop(Not,bVar"b'28"), 12489 Bop(And,Mop(Not,bVar"b'27"), 12490 Bop(And,Mop(Not,bVar"b'25"), 12491 Bop(And,Mop(Not,bVar"b'24"), 12492 Bop(And,Mop(Not,bVar"b'23"), 12493 Bop(And,Mop(Not,bVar"b'22"), 12494 Bop(And,Mop(Not,bVar"b'21"), 12495 Bop(And,Mop(Not,bVar"b'5"), 12496 Bop(And,Mop(Not,bVar"b'4"), 12497 Bop(And,bVar"b'3", 12498 Bop(And,bVar"b'2", 12499 Bop(And, 12500 Mop(Not, 12501 bVar"b'1"), 12502 Mop(Not, 12503 bVar"b'0"))))))))))))), 12504 Const("SYSCALL",CTy"instruction")), 12505 (Bop(And,Mop(Not,bVar"b'28"), 12506 Bop(And,Mop(Not,bVar"b'27"), 12507 Bop(And,Mop(Not,bVar"b'25"), 12508 Bop(And,Mop(Not,bVar"b'24"), 12509 Bop(And,Mop(Not,bVar"b'23"), 12510 Bop(And,Mop(Not,bVar"b'22"), 12511 Bop(And,Mop(Not,bVar"b'21"), 12512 Bop(And,Mop(Not,bVar"b'5"), 12513 Bop(And,Mop(Not,bVar"b'4"), 12514 Bop(And,bVar"b'3", 12515 Bop(And,bVar"b'2", 12516 Bop(And, 12517 Mop(Not, 12518 bVar"b'1"), 12519 bVar"b'0")))))))))))), 12520 Const("BREAK",CTy"instruction")), 12521 (Bop(And,Mop(Not,bVar"b'28"), 12522 Bop(And,Mop(Not,bVar"b'27"), 12523 Bop(And,Mop(Not,bVar"b'25"), 12524 Bop(And,Mop(Not,bVar"b'24"), 12525 Bop(And,Mop(Not,bVar"b'23"), 12526 Bop(And,Mop(Not,bVar"b'22"), 12527 Bop(And,Mop(Not,bVar"b'21"), 12528 Bop(And,Mop(Not,bVar"b'20"), 12529 Bop(And,Mop(Not,bVar"b'19"), 12530 Bop(And, 12531 Mop(Not,bVar"b'18"), 12532 Bop(And, 12533 Mop(Not, 12534 bVar"b'17"), 12535 Bop(And, 12536 Mop(Not, 12537 bVar"b'16"), 12538 Bop(And, 12539 Mop(Not, 12540 bVar"b'15"), 12541 Bop(And, 12542 Mop(Not, 12543 bVar"b'14"), 12544 Bop(And, 12545 Mop(Not, 12546 bVar"b'13"), 12547 Bop(And, 12548 Mop(Not, 12549 bVar"b'12"), 12550 Bop(And, 12551 Mop(Not, 12552 bVar"b'11"), 12553 Bop(And, 12554 Mop(Not, 12555 bVar"b'5"), 12556 Bop(And, 12557 Mop(Not, 12558 bVar"b'4"), 12559 Bop(And, 12560 bVar"b'3", 12561 Bop(And, 12562 bVar"b'2", 12563 Bop(And, 12564 bVar"b'1", 12565 bVar"b'0")))))))))))))))))))))), 12566 Call 12567 ("SYNC",CTy"instruction", 12568 Mop(Cast(FTy 5), 12569 LL[bVar"b'10",bVar"b'9",bVar"b'8",bVar"b'7",bVar"b'6"]))), 12570 (Bop(And,Mop(Not,bVar"b'28"), 12571 Bop(And,Mop(Not,bVar"b'27"), 12572 Bop(And,Mop(Not,bVar"b'25"), 12573 Bop(And,Mop(Not,bVar"b'24"), 12574 Bop(And,Mop(Not,bVar"b'23"), 12575 Bop(And,Mop(Not,bVar"b'22"), 12576 Bop(And,Mop(Not,bVar"b'21"), 12577 Bop(And,Mop(Not,bVar"b'20"), 12578 Bop(And,Mop(Not,bVar"b'19"), 12579 Bop(And, 12580 Mop(Not,bVar"b'18"), 12581 Bop(And, 12582 Mop(Not, 12583 bVar"b'17"), 12584 Bop(And, 12585 Mop(Not, 12586 bVar"b'16"), 12587 Bop(And, 12588 Mop(Not, 12589 bVar"b'10"), 12590 Bop(And, 12591 Mop(Not, 12592 bVar"b'9"), 12593 Bop(And, 12594 Mop(Not, 12595 bVar"b'8"), 12596 Bop(And, 12597 Mop(Not, 12598 bVar"b'7"), 12599 Bop(And, 12600 Mop(Not, 12601 bVar"b'6"), 12602 Bop(And, 12603 Mop(Not, 12604 bVar"b'5"), 12605 Bop(And, 12606 bVar"b'4", 12607 Bop(And, 12608 Mop(Not, 12609 bVar"b'3"), 12610 Bop(And, 12611 Mop(Not, 12612 bVar"b'2"), 12613 Bop(And, 12614 Mop(Not, 12615 bVar"b'1"), 12616 Mop(Not, 12617 bVar"b'0"))))))))))))))))))))))), 12618 Call 12619 ("MultDiv",CTy"instruction", 12620 Call 12621 ("MFHI",CTy"MultDiv", 12622 Mop(Cast(FTy 5), 12623 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 12624 bVar"b'11"])))), 12625 (Bop(And,Mop(Not,bVar"b'28"), 12626 Bop(And,Mop(Not,bVar"b'27"), 12627 Bop(And,Mop(Not,bVar"b'20"), 12628 Bop(And,Mop(Not,bVar"b'19"), 12629 Bop(And,Mop(Not,bVar"b'18"), 12630 Bop(And,Mop(Not,bVar"b'17"), 12631 Bop(And,Mop(Not,bVar"b'16"), 12632 Bop(And,Mop(Not,bVar"b'15"), 12633 Bop(And,Mop(Not,bVar"b'14"), 12634 Bop(And, 12635 Mop(Not,bVar"b'13"), 12636 Bop(And, 12637 Mop(Not, 12638 bVar"b'12"), 12639 Bop(And, 12640 Mop(Not, 12641 bVar"b'11"), 12642 Bop(And, 12643 Mop(Not, 12644 bVar"b'10"), 12645 Bop(And, 12646 Mop(Not, 12647 bVar"b'9"), 12648 Bop(And, 12649 Mop(Not, 12650 bVar"b'8"), 12651 Bop(And, 12652 Mop(Not, 12653 bVar"b'7"), 12654 Bop(And, 12655 Mop(Not, 12656 bVar"b'6"), 12657 Bop(And, 12658 Mop(Not, 12659 bVar"b'5"), 12660 Bop(And, 12661 bVar"b'4", 12662 Bop(And, 12663 Mop(Not, 12664 bVar"b'3"), 12665 Bop(And, 12666 Mop(Not, 12667 bVar"b'2"), 12668 Bop(And, 12669 Mop(Not, 12670 bVar"b'1"), 12671 bVar"b'0")))))))))))))))))))))), 12672 Call 12673 ("MultDiv",CTy"instruction", 12674 Call 12675 ("MTHI",CTy"MultDiv", 12676 Mop(Cast(FTy 5), 12677 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 12678 bVar"b'21"])))), 12679 (Bop(And,Mop(Not,bVar"b'28"), 12680 Bop(And,Mop(Not,bVar"b'27"), 12681 Bop(And,Mop(Not,bVar"b'25"), 12682 Bop(And,Mop(Not,bVar"b'24"), 12683 Bop(And,Mop(Not,bVar"b'23"), 12684 Bop(And,Mop(Not,bVar"b'22"), 12685 Bop(And,Mop(Not,bVar"b'21"), 12686 Bop(And,Mop(Not,bVar"b'20"), 12687 Bop(And,Mop(Not,bVar"b'19"), 12688 Bop(And, 12689 Mop(Not,bVar"b'18"), 12690 Bop(And, 12691 Mop(Not, 12692 bVar"b'17"), 12693 Bop(And, 12694 Mop(Not, 12695 bVar"b'16"), 12696 Bop(And, 12697 Mop(Not, 12698 bVar"b'10"), 12699 Bop(And, 12700 Mop(Not, 12701 bVar"b'9"), 12702 Bop(And, 12703 Mop(Not, 12704 bVar"b'8"), 12705 Bop(And, 12706 Mop(Not, 12707 bVar"b'7"), 12708 Bop(And, 12709 Mop(Not, 12710 bVar"b'6"), 12711 Bop(And, 12712 Mop(Not, 12713 bVar"b'5"), 12714 Bop(And, 12715 bVar"b'4", 12716 Bop(And, 12717 Mop(Not, 12718 bVar"b'3"), 12719 Bop(And, 12720 Mop(Not, 12721 bVar"b'2"), 12722 Bop(And, 12723 bVar"b'1", 12724 Mop(Not, 12725 bVar"b'0"))))))))))))))))))))))), 12726 Call 12727 ("MultDiv",CTy"instruction", 12728 Call 12729 ("MFLO",CTy"MultDiv", 12730 Mop(Cast(FTy 5), 12731 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 12732 bVar"b'11"])))), 12733 (Bop(And,Mop(Not,bVar"b'28"), 12734 Bop(And,Mop(Not,bVar"b'27"), 12735 Bop(And,Mop(Not,bVar"b'20"), 12736 Bop(And,Mop(Not,bVar"b'19"), 12737 Bop(And,Mop(Not,bVar"b'18"), 12738 Bop(And,Mop(Not,bVar"b'17"), 12739 Bop(And,Mop(Not,bVar"b'16"), 12740 Bop(And,Mop(Not,bVar"b'15"), 12741 Bop(And,Mop(Not,bVar"b'14"), 12742 Bop(And, 12743 Mop(Not,bVar"b'13"), 12744 Bop(And, 12745 Mop(Not, 12746 bVar"b'12"), 12747 Bop(And, 12748 Mop(Not, 12749 bVar"b'11"), 12750 Bop(And, 12751 Mop(Not, 12752 bVar"b'10"), 12753 Bop(And, 12754 Mop(Not, 12755 bVar"b'9"), 12756 Bop(And, 12757 Mop(Not, 12758 bVar"b'8"), 12759 Bop(And, 12760 Mop(Not, 12761 bVar"b'7"), 12762 Bop(And, 12763 Mop(Not, 12764 bVar"b'6"), 12765 Bop(And, 12766 Mop(Not, 12767 bVar"b'5"), 12768 Bop(And, 12769 bVar"b'4", 12770 Bop(And, 12771 Mop(Not, 12772 bVar"b'3"), 12773 Bop(And, 12774 Mop(Not, 12775 bVar"b'2"), 12776 Bop(And, 12777 bVar"b'1", 12778 bVar"b'0")))))))))))))))))))))), 12779 Call 12780 ("MultDiv",CTy"instruction", 12781 Call 12782 ("MTLO",CTy"MultDiv", 12783 Mop(Cast(FTy 5), 12784 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 12785 bVar"b'21"])))), 12786 (Bop(And,Mop(Not,bVar"b'28"), 12787 Bop(And,Mop(Not,bVar"b'27"), 12788 Bop(And,Mop(Not,bVar"b'10"), 12789 Bop(And,Mop(Not,bVar"b'9"), 12790 Bop(And,Mop(Not,bVar"b'8"), 12791 Bop(And,Mop(Not,bVar"b'7"), 12792 Bop(And,Mop(Not,bVar"b'6"), 12793 Bop(And,Mop(Not,bVar"b'5"), 12794 Bop(And,bVar"b'4", 12795 Bop(And, 12796 Mop(Not,bVar"b'3"), 12797 Bop(And,bVar"b'2", 12798 Bop(And, 12799 Mop(Not, 12800 bVar"b'1"), 12801 Mop(Not, 12802 bVar"b'0"))))))))))))), 12803 Call 12804 ("Shift",CTy"instruction", 12805 Call 12806 ("DSLLV",CTy"Shift", 12807 TP[Mop(Cast(FTy 5), 12808 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 12809 bVar"b'21"]), 12810 Mop(Cast(FTy 5), 12811 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 12812 bVar"b'16"]), 12813 Mop(Cast(FTy 5), 12814 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 12815 bVar"b'11"])]))), 12816 (Bop(And,Mop(Not,bVar"b'28"), 12817 Bop(And,Mop(Not,bVar"b'27"), 12818 Bop(And,Mop(Not,bVar"b'10"), 12819 Bop(And,Mop(Not,bVar"b'9"), 12820 Bop(And,Mop(Not,bVar"b'8"), 12821 Bop(And,Mop(Not,bVar"b'7"), 12822 Bop(And,Mop(Not,bVar"b'6"), 12823 Bop(And,Mop(Not,bVar"b'5"), 12824 Bop(And,bVar"b'4", 12825 Bop(And, 12826 Mop(Not,bVar"b'3"), 12827 Bop(And,bVar"b'2", 12828 Bop(And, 12829 bVar"b'1", 12830 Mop(Not, 12831 bVar"b'0"))))))))))))), 12832 Call 12833 ("Shift",CTy"instruction", 12834 Call 12835 ("DSRLV",CTy"Shift", 12836 TP[Mop(Cast(FTy 5), 12837 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 12838 bVar"b'21"]), 12839 Mop(Cast(FTy 5), 12840 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 12841 bVar"b'16"]), 12842 Mop(Cast(FTy 5), 12843 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 12844 bVar"b'11"])]))), 12845 (Bop(And,Mop(Not,bVar"b'28"), 12846 Bop(And,Mop(Not,bVar"b'27"), 12847 Bop(And,Mop(Not,bVar"b'10"), 12848 Bop(And,Mop(Not,bVar"b'9"), 12849 Bop(And,Mop(Not,bVar"b'8"), 12850 Bop(And,Mop(Not,bVar"b'7"), 12851 Bop(And,Mop(Not,bVar"b'6"), 12852 Bop(And,Mop(Not,bVar"b'5"), 12853 Bop(And,bVar"b'4", 12854 Bop(And, 12855 Mop(Not,bVar"b'3"), 12856 Bop(And,bVar"b'2", 12857 Bop(And, 12858 bVar"b'1", 12859 bVar"b'0")))))))))))), 12860 Call 12861 ("Shift",CTy"instruction", 12862 Call 12863 ("DSRAV",CTy"Shift", 12864 TP[Mop(Cast(FTy 5), 12865 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 12866 bVar"b'21"]), 12867 Mop(Cast(FTy 5), 12868 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 12869 bVar"b'16"]), 12870 Mop(Cast(FTy 5), 12871 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 12872 bVar"b'11"])]))), 12873 (Bop(And,Mop(Not,bVar"b'28"), 12874 Bop(And,Mop(Not,bVar"b'27"), 12875 Bop(And,Mop(Not,bVar"b'15"), 12876 Bop(And,Mop(Not,bVar"b'14"), 12877 Bop(And,Mop(Not,bVar"b'13"), 12878 Bop(And,Mop(Not,bVar"b'12"), 12879 Bop(And,Mop(Not,bVar"b'11"), 12880 Bop(And,Mop(Not,bVar"b'10"), 12881 Bop(And,Mop(Not,bVar"b'9"), 12882 Bop(And, 12883 Mop(Not,bVar"b'8"), 12884 Bop(And, 12885 Mop(Not,bVar"b'7"), 12886 Bop(And, 12887 Mop(Not, 12888 bVar"b'6"), 12889 Bop(And, 12890 Mop(Not, 12891 bVar"b'5"), 12892 Bop(And, 12893 bVar"b'4", 12894 Bop(And, 12895 bVar"b'3", 12896 Bop(And, 12897 Mop(Not, 12898 bVar"b'2"), 12899 Bop(And, 12900 Mop(Not, 12901 bVar"b'1"), 12902 Mop(Not, 12903 bVar"b'0")))))))))))))))))), 12904 Call 12905 ("MultDiv",CTy"instruction", 12906 Call 12907 ("MULT",CTy"MultDiv", 12908 TP[Mop(Cast(FTy 5), 12909 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 12910 bVar"b'21"]), 12911 Mop(Cast(FTy 5), 12912 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 12913 bVar"b'16"])]))), 12914 (Bop(And,Mop(Not,bVar"b'28"), 12915 Bop(And,Mop(Not,bVar"b'27"), 12916 Bop(And,Mop(Not,bVar"b'15"), 12917 Bop(And,Mop(Not,bVar"b'14"), 12918 Bop(And,Mop(Not,bVar"b'13"), 12919 Bop(And,Mop(Not,bVar"b'12"), 12920 Bop(And,Mop(Not,bVar"b'11"), 12921 Bop(And,Mop(Not,bVar"b'10"), 12922 Bop(And,Mop(Not,bVar"b'9"), 12923 Bop(And, 12924 Mop(Not,bVar"b'8"), 12925 Bop(And, 12926 Mop(Not,bVar"b'7"), 12927 Bop(And, 12928 Mop(Not, 12929 bVar"b'6"), 12930 Bop(And, 12931 Mop(Not, 12932 bVar"b'5"), 12933 Bop(And, 12934 bVar"b'4", 12935 Bop(And, 12936 bVar"b'3", 12937 Bop(And, 12938 Mop(Not, 12939 bVar"b'2"), 12940 Bop(And, 12941 Mop(Not, 12942 bVar"b'1"), 12943 bVar"b'0"))))))))))))))))), 12944 Call 12945 ("MultDiv",CTy"instruction", 12946 Call 12947 ("MULTU",CTy"MultDiv", 12948 TP[Mop(Cast(FTy 5), 12949 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 12950 bVar"b'21"]), 12951 Mop(Cast(FTy 5), 12952 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 12953 bVar"b'16"])]))), 12954 (Bop(And,Mop(Not,bVar"b'28"), 12955 Bop(And,Mop(Not,bVar"b'27"), 12956 Bop(And,Mop(Not,bVar"b'15"), 12957 Bop(And,Mop(Not,bVar"b'14"), 12958 Bop(And,Mop(Not,bVar"b'13"), 12959 Bop(And,Mop(Not,bVar"b'12"), 12960 Bop(And,Mop(Not,bVar"b'11"), 12961 Bop(And,Mop(Not,bVar"b'10"), 12962 Bop(And,Mop(Not,bVar"b'9"), 12963 Bop(And, 12964 Mop(Not,bVar"b'8"), 12965 Bop(And, 12966 Mop(Not,bVar"b'7"), 12967 Bop(And, 12968 Mop(Not, 12969 bVar"b'6"), 12970 Bop(And, 12971 Mop(Not, 12972 bVar"b'5"), 12973 Bop(And, 12974 bVar"b'4", 12975 Bop(And, 12976 bVar"b'3", 12977 Bop(And, 12978 Mop(Not, 12979 bVar"b'2"), 12980 Bop(And, 12981 bVar"b'1", 12982 Mop(Not, 12983 bVar"b'0")))))))))))))))))), 12984 Call 12985 ("MultDiv",CTy"instruction", 12986 Call 12987 ("DIV",CTy"MultDiv", 12988 TP[Mop(Cast(FTy 5), 12989 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 12990 bVar"b'21"]), 12991 Mop(Cast(FTy 5), 12992 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 12993 bVar"b'16"])]))), 12994 (Bop(And,Mop(Not,bVar"b'28"), 12995 Bop(And,Mop(Not,bVar"b'27"), 12996 Bop(And,Mop(Not,bVar"b'15"), 12997 Bop(And,Mop(Not,bVar"b'14"), 12998 Bop(And,Mop(Not,bVar"b'13"), 12999 Bop(And,Mop(Not,bVar"b'12"), 13000 Bop(And,Mop(Not,bVar"b'11"), 13001 Bop(And,Mop(Not,bVar"b'10"), 13002 Bop(And,Mop(Not,bVar"b'9"), 13003 Bop(And, 13004 Mop(Not,bVar"b'8"), 13005 Bop(And, 13006 Mop(Not,bVar"b'7"), 13007 Bop(And, 13008 Mop(Not, 13009 bVar"b'6"), 13010 Bop(And, 13011 Mop(Not, 13012 bVar"b'5"), 13013 Bop(And, 13014 bVar"b'4", 13015 Bop(And, 13016 bVar"b'3", 13017 Bop(And, 13018 Mop(Not, 13019 bVar"b'2"), 13020 Bop(And, 13021 bVar"b'1", 13022 bVar"b'0"))))))))))))))))), 13023 Call 13024 ("MultDiv",CTy"instruction", 13025 Call 13026 ("DIVU",CTy"MultDiv", 13027 TP[Mop(Cast(FTy 5), 13028 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13029 bVar"b'21"]), 13030 Mop(Cast(FTy 5), 13031 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13032 bVar"b'16"])]))), 13033 (Bop(And,Mop(Not,bVar"b'28"), 13034 Bop(And,Mop(Not,bVar"b'27"), 13035 Bop(And,Mop(Not,bVar"b'15"), 13036 Bop(And,Mop(Not,bVar"b'14"), 13037 Bop(And,Mop(Not,bVar"b'13"), 13038 Bop(And,Mop(Not,bVar"b'12"), 13039 Bop(And,Mop(Not,bVar"b'11"), 13040 Bop(And,Mop(Not,bVar"b'10"), 13041 Bop(And,Mop(Not,bVar"b'9"), 13042 Bop(And, 13043 Mop(Not,bVar"b'8"), 13044 Bop(And, 13045 Mop(Not,bVar"b'7"), 13046 Bop(And, 13047 Mop(Not, 13048 bVar"b'6"), 13049 Bop(And, 13050 Mop(Not, 13051 bVar"b'5"), 13052 Bop(And, 13053 bVar"b'4", 13054 Bop(And, 13055 bVar"b'3", 13056 Bop(And, 13057 bVar"b'2", 13058 Bop(And, 13059 Mop(Not, 13060 bVar"b'1"), 13061 Mop(Not, 13062 bVar"b'0")))))))))))))))))), 13063 Call 13064 ("MultDiv",CTy"instruction", 13065 Call 13066 ("DMULT",CTy"MultDiv", 13067 TP[Mop(Cast(FTy 5), 13068 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13069 bVar"b'21"]), 13070 Mop(Cast(FTy 5), 13071 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13072 bVar"b'16"])]))), 13073 (Bop(And,Mop(Not,bVar"b'28"), 13074 Bop(And,Mop(Not,bVar"b'27"), 13075 Bop(And,Mop(Not,bVar"b'15"), 13076 Bop(And,Mop(Not,bVar"b'14"), 13077 Bop(And,Mop(Not,bVar"b'13"), 13078 Bop(And,Mop(Not,bVar"b'12"), 13079 Bop(And,Mop(Not,bVar"b'11"), 13080 Bop(And,Mop(Not,bVar"b'10"), 13081 Bop(And,Mop(Not,bVar"b'9"), 13082 Bop(And, 13083 Mop(Not,bVar"b'8"), 13084 Bop(And, 13085 Mop(Not,bVar"b'7"), 13086 Bop(And, 13087 Mop(Not, 13088 bVar"b'6"), 13089 Bop(And, 13090 Mop(Not, 13091 bVar"b'5"), 13092 Bop(And, 13093 bVar"b'4", 13094 Bop(And, 13095 bVar"b'3", 13096 Bop(And, 13097 bVar"b'2", 13098 Bop(And, 13099 Mop(Not, 13100 bVar"b'1"), 13101 bVar"b'0"))))))))))))))))), 13102 Call 13103 ("MultDiv",CTy"instruction", 13104 Call 13105 ("DMULTU",CTy"MultDiv", 13106 TP[Mop(Cast(FTy 5), 13107 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13108 bVar"b'21"]), 13109 Mop(Cast(FTy 5), 13110 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13111 bVar"b'16"])]))), 13112 (Bop(And,Mop(Not,bVar"b'28"), 13113 Bop(And,Mop(Not,bVar"b'27"), 13114 Bop(And,Mop(Not,bVar"b'15"), 13115 Bop(And,Mop(Not,bVar"b'14"), 13116 Bop(And,Mop(Not,bVar"b'13"), 13117 Bop(And,Mop(Not,bVar"b'12"), 13118 Bop(And,Mop(Not,bVar"b'11"), 13119 Bop(And,Mop(Not,bVar"b'10"), 13120 Bop(And,Mop(Not,bVar"b'9"), 13121 Bop(And, 13122 Mop(Not,bVar"b'8"), 13123 Bop(And, 13124 Mop(Not,bVar"b'7"), 13125 Bop(And, 13126 Mop(Not, 13127 bVar"b'6"), 13128 Bop(And, 13129 Mop(Not, 13130 bVar"b'5"), 13131 Bop(And, 13132 bVar"b'4", 13133 Bop(And, 13134 bVar"b'3", 13135 Bop(And, 13136 bVar"b'2", 13137 Bop(And, 13138 bVar"b'1", 13139 Mop(Not, 13140 bVar"b'0")))))))))))))))))), 13141 Call 13142 ("MultDiv",CTy"instruction", 13143 Call 13144 ("DDIV",CTy"MultDiv", 13145 TP[Mop(Cast(FTy 5), 13146 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13147 bVar"b'21"]), 13148 Mop(Cast(FTy 5), 13149 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13150 bVar"b'16"])]))), 13151 (Bop(And,Mop(Not,bVar"b'28"), 13152 Bop(And,Mop(Not,bVar"b'27"), 13153 Bop(And,Mop(Not,bVar"b'15"), 13154 Bop(And,Mop(Not,bVar"b'14"), 13155 Bop(And,Mop(Not,bVar"b'13"), 13156 Bop(And,Mop(Not,bVar"b'12"), 13157 Bop(And,Mop(Not,bVar"b'11"), 13158 Bop(And,Mop(Not,bVar"b'10"), 13159 Bop(And,Mop(Not,bVar"b'9"), 13160 Bop(And, 13161 Mop(Not,bVar"b'8"), 13162 Bop(And, 13163 Mop(Not,bVar"b'7"), 13164 Bop(And, 13165 Mop(Not, 13166 bVar"b'6"), 13167 Bop(And, 13168 Mop(Not, 13169 bVar"b'5"), 13170 Bop(And, 13171 bVar"b'4", 13172 Bop(And, 13173 bVar"b'3", 13174 Bop(And, 13175 bVar"b'2", 13176 Bop(And, 13177 bVar"b'1", 13178 bVar"b'0"))))))))))))))))), 13179 Call 13180 ("MultDiv",CTy"instruction", 13181 Call 13182 ("DDIVU",CTy"MultDiv", 13183 TP[Mop(Cast(FTy 5), 13184 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13185 bVar"b'21"]), 13186 Mop(Cast(FTy 5), 13187 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13188 bVar"b'16"])]))), 13189 (Bop(And,Mop(Not,bVar"b'28"), 13190 Bop(And,Mop(Not,bVar"b'27"), 13191 Bop(And,Mop(Not,bVar"b'10"), 13192 Bop(And,Mop(Not,bVar"b'9"), 13193 Bop(And,Mop(Not,bVar"b'8"), 13194 Bop(And,Mop(Not,bVar"b'7"), 13195 Bop(And,Mop(Not,bVar"b'6"), 13196 Bop(And,bVar"b'5", 13197 Bop(And,Mop(Not,bVar"b'4"), 13198 Bop(And, 13199 Mop(Not,bVar"b'3"), 13200 Bop(And, 13201 Mop(Not,bVar"b'2"), 13202 Bop(And, 13203 Mop(Not, 13204 bVar"b'1"), 13205 Mop(Not, 13206 bVar"b'0"))))))))))))), 13207 Call 13208 ("ArithR",CTy"instruction", 13209 Call 13210 ("ADD",CTy"ArithR", 13211 TP[Mop(Cast(FTy 5), 13212 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13213 bVar"b'21"]), 13214 Mop(Cast(FTy 5), 13215 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13216 bVar"b'16"]), 13217 Mop(Cast(FTy 5), 13218 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 13219 bVar"b'11"])]))), 13220 (Bop(And,Mop(Not,bVar"b'28"), 13221 Bop(And,Mop(Not,bVar"b'27"), 13222 Bop(And,Mop(Not,bVar"b'10"), 13223 Bop(And,Mop(Not,bVar"b'9"), 13224 Bop(And,Mop(Not,bVar"b'8"), 13225 Bop(And,Mop(Not,bVar"b'7"), 13226 Bop(And,Mop(Not,bVar"b'6"), 13227 Bop(And,bVar"b'5", 13228 Bop(And,Mop(Not,bVar"b'4"), 13229 Bop(And, 13230 Mop(Not,bVar"b'3"), 13231 Bop(And, 13232 Mop(Not,bVar"b'2"), 13233 Bop(And, 13234 Mop(Not, 13235 bVar"b'1"), 13236 bVar"b'0")))))))))))), 13237 Call 13238 ("ArithR",CTy"instruction", 13239 Call 13240 ("ADDU",CTy"ArithR", 13241 TP[Mop(Cast(FTy 5), 13242 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13243 bVar"b'21"]), 13244 Mop(Cast(FTy 5), 13245 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13246 bVar"b'16"]), 13247 Mop(Cast(FTy 5), 13248 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 13249 bVar"b'11"])]))), 13250 (Bop(And,Mop(Not,bVar"b'28"), 13251 Bop(And,Mop(Not,bVar"b'27"), 13252 Bop(And,Mop(Not,bVar"b'10"), 13253 Bop(And,Mop(Not,bVar"b'9"), 13254 Bop(And,Mop(Not,bVar"b'8"), 13255 Bop(And,Mop(Not,bVar"b'7"), 13256 Bop(And,Mop(Not,bVar"b'6"), 13257 Bop(And,bVar"b'5", 13258 Bop(And,Mop(Not,bVar"b'4"), 13259 Bop(And, 13260 Mop(Not,bVar"b'3"), 13261 Bop(And, 13262 Mop(Not,bVar"b'2"), 13263 Bop(And, 13264 bVar"b'1", 13265 Mop(Not, 13266 bVar"b'0"))))))))))))), 13267 Call 13268 ("ArithR",CTy"instruction", 13269 Call 13270 ("SUB",CTy"ArithR", 13271 TP[Mop(Cast(FTy 5), 13272 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13273 bVar"b'21"]), 13274 Mop(Cast(FTy 5), 13275 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13276 bVar"b'16"]), 13277 Mop(Cast(FTy 5), 13278 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 13279 bVar"b'11"])]))), 13280 (Bop(And,Mop(Not,bVar"b'28"), 13281 Bop(And,Mop(Not,bVar"b'27"), 13282 Bop(And,Mop(Not,bVar"b'10"), 13283 Bop(And,Mop(Not,bVar"b'9"), 13284 Bop(And,Mop(Not,bVar"b'8"), 13285 Bop(And,Mop(Not,bVar"b'7"), 13286 Bop(And,Mop(Not,bVar"b'6"), 13287 Bop(And,bVar"b'5", 13288 Bop(And,Mop(Not,bVar"b'4"), 13289 Bop(And, 13290 Mop(Not,bVar"b'3"), 13291 Bop(And, 13292 Mop(Not,bVar"b'2"), 13293 Bop(And, 13294 bVar"b'1", 13295 bVar"b'0")))))))))))), 13296 Call 13297 ("ArithR",CTy"instruction", 13298 Call 13299 ("SUBU",CTy"ArithR", 13300 TP[Mop(Cast(FTy 5), 13301 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13302 bVar"b'21"]), 13303 Mop(Cast(FTy 5), 13304 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13305 bVar"b'16"]), 13306 Mop(Cast(FTy 5), 13307 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 13308 bVar"b'11"])]))), 13309 (Bop(And,Mop(Not,bVar"b'28"), 13310 Bop(And,Mop(Not,bVar"b'27"), 13311 Bop(And,Mop(Not,bVar"b'10"), 13312 Bop(And,Mop(Not,bVar"b'9"), 13313 Bop(And,Mop(Not,bVar"b'8"), 13314 Bop(And,Mop(Not,bVar"b'7"), 13315 Bop(And,Mop(Not,bVar"b'6"), 13316 Bop(And,bVar"b'5", 13317 Bop(And,Mop(Not,bVar"b'4"), 13318 Bop(And, 13319 Mop(Not,bVar"b'3"), 13320 Bop(And,bVar"b'2", 13321 Bop(And, 13322 Mop(Not, 13323 bVar"b'1"), 13324 Mop(Not, 13325 bVar"b'0"))))))))))))), 13326 Call 13327 ("ArithR",CTy"instruction", 13328 Call 13329 ("AND",CTy"ArithR", 13330 TP[Mop(Cast(FTy 5), 13331 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13332 bVar"b'21"]), 13333 Mop(Cast(FTy 5), 13334 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13335 bVar"b'16"]), 13336 Mop(Cast(FTy 5), 13337 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 13338 bVar"b'11"])]))), 13339 (Bop(And,Mop(Not,bVar"b'28"), 13340 Bop(And,Mop(Not,bVar"b'27"), 13341 Bop(And,Mop(Not,bVar"b'10"), 13342 Bop(And,Mop(Not,bVar"b'9"), 13343 Bop(And,Mop(Not,bVar"b'8"), 13344 Bop(And,Mop(Not,bVar"b'7"), 13345 Bop(And,Mop(Not,bVar"b'6"), 13346 Bop(And,bVar"b'5", 13347 Bop(And,Mop(Not,bVar"b'4"), 13348 Bop(And, 13349 Mop(Not,bVar"b'3"), 13350 Bop(And,bVar"b'2", 13351 Bop(And, 13352 Mop(Not, 13353 bVar"b'1"), 13354 bVar"b'0")))))))))))), 13355 Call 13356 ("ArithR",CTy"instruction", 13357 Call 13358 ("OR",CTy"ArithR", 13359 TP[Mop(Cast(FTy 5), 13360 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13361 bVar"b'21"]), 13362 Mop(Cast(FTy 5), 13363 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13364 bVar"b'16"]), 13365 Mop(Cast(FTy 5), 13366 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 13367 bVar"b'11"])]))), 13368 (Bop(And,Mop(Not,bVar"b'28"), 13369 Bop(And,Mop(Not,bVar"b'27"), 13370 Bop(And,Mop(Not,bVar"b'10"), 13371 Bop(And,Mop(Not,bVar"b'9"), 13372 Bop(And,Mop(Not,bVar"b'8"), 13373 Bop(And,Mop(Not,bVar"b'7"), 13374 Bop(And,Mop(Not,bVar"b'6"), 13375 Bop(And,bVar"b'5", 13376 Bop(And,Mop(Not,bVar"b'4"), 13377 Bop(And, 13378 Mop(Not,bVar"b'3"), 13379 Bop(And,bVar"b'2", 13380 Bop(And, 13381 bVar"b'1", 13382 Mop(Not, 13383 bVar"b'0"))))))))))))), 13384 Call 13385 ("ArithR",CTy"instruction", 13386 Call 13387 ("XOR",CTy"ArithR", 13388 TP[Mop(Cast(FTy 5), 13389 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13390 bVar"b'21"]), 13391 Mop(Cast(FTy 5), 13392 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13393 bVar"b'16"]), 13394 Mop(Cast(FTy 5), 13395 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 13396 bVar"b'11"])]))), 13397 (Bop(And,Mop(Not,bVar"b'28"), 13398 Bop(And,Mop(Not,bVar"b'27"), 13399 Bop(And,Mop(Not,bVar"b'10"), 13400 Bop(And,Mop(Not,bVar"b'9"), 13401 Bop(And,Mop(Not,bVar"b'8"), 13402 Bop(And,Mop(Not,bVar"b'7"), 13403 Bop(And,Mop(Not,bVar"b'6"), 13404 Bop(And,bVar"b'5", 13405 Bop(And,Mop(Not,bVar"b'4"), 13406 Bop(And, 13407 Mop(Not,bVar"b'3"), 13408 Bop(And,bVar"b'2", 13409 Bop(And, 13410 bVar"b'1", 13411 bVar"b'0")))))))))))), 13412 Call 13413 ("ArithR",CTy"instruction", 13414 Call 13415 ("NOR",CTy"ArithR", 13416 TP[Mop(Cast(FTy 5), 13417 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13418 bVar"b'21"]), 13419 Mop(Cast(FTy 5), 13420 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13421 bVar"b'16"]), 13422 Mop(Cast(FTy 5), 13423 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 13424 bVar"b'11"])]))), 13425 (Bop(And,Mop(Not,bVar"b'28"), 13426 Bop(And,Mop(Not,bVar"b'27"), 13427 Bop(And,Mop(Not,bVar"b'10"), 13428 Bop(And,Mop(Not,bVar"b'9"), 13429 Bop(And,Mop(Not,bVar"b'8"), 13430 Bop(And,Mop(Not,bVar"b'7"), 13431 Bop(And,Mop(Not,bVar"b'6"), 13432 Bop(And,bVar"b'5", 13433 Bop(And,Mop(Not,bVar"b'4"), 13434 Bop(And,bVar"b'3", 13435 Bop(And, 13436 Mop(Not,bVar"b'2"), 13437 Bop(And, 13438 bVar"b'1", 13439 Mop(Not, 13440 bVar"b'0"))))))))))))), 13441 Call 13442 ("ArithR",CTy"instruction", 13443 Call 13444 ("SLT",CTy"ArithR", 13445 TP[Mop(Cast(FTy 5), 13446 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13447 bVar"b'21"]), 13448 Mop(Cast(FTy 5), 13449 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13450 bVar"b'16"]), 13451 Mop(Cast(FTy 5), 13452 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 13453 bVar"b'11"])]))), 13454 (Bop(And,Mop(Not,bVar"b'28"), 13455 Bop(And,Mop(Not,bVar"b'27"), 13456 Bop(And,Mop(Not,bVar"b'10"), 13457 Bop(And,Mop(Not,bVar"b'9"), 13458 Bop(And,Mop(Not,bVar"b'8"), 13459 Bop(And,Mop(Not,bVar"b'7"), 13460 Bop(And,Mop(Not,bVar"b'6"), 13461 Bop(And,bVar"b'5", 13462 Bop(And,Mop(Not,bVar"b'4"), 13463 Bop(And,bVar"b'3", 13464 Bop(And, 13465 Mop(Not,bVar"b'2"), 13466 Bop(And, 13467 bVar"b'1", 13468 bVar"b'0")))))))))))), 13469 Call 13470 ("ArithR",CTy"instruction", 13471 Call 13472 ("SLTU",CTy"ArithR", 13473 TP[Mop(Cast(FTy 5), 13474 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13475 bVar"b'21"]), 13476 Mop(Cast(FTy 5), 13477 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13478 bVar"b'16"]), 13479 Mop(Cast(FTy 5), 13480 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 13481 bVar"b'11"])]))), 13482 (Bop(And,Mop(Not,bVar"b'28"), 13483 Bop(And,Mop(Not,bVar"b'27"), 13484 Bop(And,Mop(Not,bVar"b'10"), 13485 Bop(And,Mop(Not,bVar"b'9"), 13486 Bop(And,Mop(Not,bVar"b'8"), 13487 Bop(And,Mop(Not,bVar"b'7"), 13488 Bop(And,Mop(Not,bVar"b'6"), 13489 Bop(And,bVar"b'5", 13490 Bop(And,Mop(Not,bVar"b'4"), 13491 Bop(And,bVar"b'3", 13492 Bop(And,bVar"b'2", 13493 Bop(And, 13494 Mop(Not, 13495 bVar"b'1"), 13496 Mop(Not, 13497 bVar"b'0"))))))))))))), 13498 Call 13499 ("ArithR",CTy"instruction", 13500 Call 13501 ("DADD",CTy"ArithR", 13502 TP[Mop(Cast(FTy 5), 13503 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13504 bVar"b'21"]), 13505 Mop(Cast(FTy 5), 13506 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13507 bVar"b'16"]), 13508 Mop(Cast(FTy 5), 13509 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 13510 bVar"b'11"])]))), 13511 (Bop(And,Mop(Not,bVar"b'28"), 13512 Bop(And,Mop(Not,bVar"b'27"), 13513 Bop(And,Mop(Not,bVar"b'10"), 13514 Bop(And,Mop(Not,bVar"b'9"), 13515 Bop(And,Mop(Not,bVar"b'8"), 13516 Bop(And,Mop(Not,bVar"b'7"), 13517 Bop(And,Mop(Not,bVar"b'6"), 13518 Bop(And,bVar"b'5", 13519 Bop(And,Mop(Not,bVar"b'4"), 13520 Bop(And,bVar"b'3", 13521 Bop(And,bVar"b'2", 13522 Bop(And, 13523 Mop(Not, 13524 bVar"b'1"), 13525 bVar"b'0")))))))))))), 13526 Call 13527 ("ArithR",CTy"instruction", 13528 Call 13529 ("DADDU",CTy"ArithR", 13530 TP[Mop(Cast(FTy 5), 13531 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13532 bVar"b'21"]), 13533 Mop(Cast(FTy 5), 13534 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13535 bVar"b'16"]), 13536 Mop(Cast(FTy 5), 13537 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 13538 bVar"b'11"])]))), 13539 (Bop(And,Mop(Not,bVar"b'28"), 13540 Bop(And,Mop(Not,bVar"b'27"), 13541 Bop(And,Mop(Not,bVar"b'10"), 13542 Bop(And,Mop(Not,bVar"b'9"), 13543 Bop(And,Mop(Not,bVar"b'8"), 13544 Bop(And,Mop(Not,bVar"b'7"), 13545 Bop(And,Mop(Not,bVar"b'6"), 13546 Bop(And,bVar"b'5", 13547 Bop(And,Mop(Not,bVar"b'4"), 13548 Bop(And,bVar"b'3", 13549 Bop(And,bVar"b'2", 13550 Bop(And, 13551 bVar"b'1", 13552 Mop(Not, 13553 bVar"b'0"))))))))))))), 13554 Call 13555 ("ArithR",CTy"instruction", 13556 Call 13557 ("DSUB",CTy"ArithR", 13558 TP[Mop(Cast(FTy 5), 13559 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13560 bVar"b'21"]), 13561 Mop(Cast(FTy 5), 13562 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13563 bVar"b'16"]), 13564 Mop(Cast(FTy 5), 13565 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 13566 bVar"b'11"])]))), 13567 (Bop(And,Mop(Not,bVar"b'28"), 13568 Bop(And,Mop(Not,bVar"b'27"), 13569 Bop(And,Mop(Not,bVar"b'10"), 13570 Bop(And,Mop(Not,bVar"b'9"), 13571 Bop(And,Mop(Not,bVar"b'8"), 13572 Bop(And,Mop(Not,bVar"b'7"), 13573 Bop(And,Mop(Not,bVar"b'6"), 13574 Bop(And,bVar"b'5", 13575 Bop(And,Mop(Not,bVar"b'4"), 13576 Bop(And,bVar"b'3", 13577 Bop(And,bVar"b'2", 13578 Bop(And, 13579 bVar"b'1", 13580 bVar"b'0")))))))))))), 13581 Call 13582 ("ArithR",CTy"instruction", 13583 Call 13584 ("DSUBU",CTy"ArithR", 13585 TP[Mop(Cast(FTy 5), 13586 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13587 bVar"b'21"]), 13588 Mop(Cast(FTy 5), 13589 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13590 bVar"b'16"]), 13591 Mop(Cast(FTy 5), 13592 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 13593 bVar"b'11"])]))), 13594 (Bop(And,Mop(Not,bVar"b'28"), 13595 Bop(And,Mop(Not,bVar"b'27"), 13596 Bop(And,bVar"b'5", 13597 Bop(And,bVar"b'4", 13598 Bop(And,Mop(Not,bVar"b'3"), 13599 Bop(And,Mop(Not,bVar"b'2"), 13600 Bop(And,Mop(Not,bVar"b'1"), 13601 Mop(Not,bVar"b'0")))))))), 13602 Call 13603 ("Trap",CTy"instruction", 13604 Call 13605 ("TGE",CTy"Trap", 13606 TP[Mop(Cast(FTy 5), 13607 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13608 bVar"b'21"]), 13609 Mop(Cast(FTy 5), 13610 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13611 bVar"b'16"])]))), 13612 (Bop(And,Mop(Not,bVar"b'28"), 13613 Bop(And,Mop(Not,bVar"b'27"), 13614 Bop(And,bVar"b'5", 13615 Bop(And,bVar"b'4", 13616 Bop(And,Mop(Not,bVar"b'3"), 13617 Bop(And,Mop(Not,bVar"b'2"), 13618 Bop(And,Mop(Not,bVar"b'1"),bVar"b'0"))))))), 13619 Call 13620 ("Trap",CTy"instruction", 13621 Call 13622 ("TGEU",CTy"Trap", 13623 TP[Mop(Cast(FTy 5), 13624 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13625 bVar"b'21"]), 13626 Mop(Cast(FTy 5), 13627 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13628 bVar"b'16"])]))), 13629 (Bop(And,Mop(Not,bVar"b'28"), 13630 Bop(And,Mop(Not,bVar"b'27"), 13631 Bop(And,bVar"b'5", 13632 Bop(And,bVar"b'4", 13633 Bop(And,Mop(Not,bVar"b'3"), 13634 Bop(And,Mop(Not,bVar"b'2"), 13635 Bop(And,bVar"b'1",Mop(Not,bVar"b'0")))))))), 13636 Call 13637 ("Trap",CTy"instruction", 13638 Call 13639 ("TLT",CTy"Trap", 13640 TP[Mop(Cast(FTy 5), 13641 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13642 bVar"b'21"]), 13643 Mop(Cast(FTy 5), 13644 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13645 bVar"b'16"])]))), 13646 (Bop(And,Mop(Not,bVar"b'28"), 13647 Bop(And,Mop(Not,bVar"b'27"), 13648 Bop(And,bVar"b'5", 13649 Bop(And,bVar"b'4", 13650 Bop(And,Mop(Not,bVar"b'3"), 13651 Bop(And,Mop(Not,bVar"b'2"), 13652 Bop(And,bVar"b'1",bVar"b'0"))))))), 13653 Call 13654 ("Trap",CTy"instruction", 13655 Call 13656 ("TLTU",CTy"Trap", 13657 TP[Mop(Cast(FTy 5), 13658 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13659 bVar"b'21"]), 13660 Mop(Cast(FTy 5), 13661 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13662 bVar"b'16"])]))), 13663 (Bop(And,Mop(Not,bVar"b'28"), 13664 Bop(And,Mop(Not,bVar"b'27"), 13665 Bop(And,bVar"b'5", 13666 Bop(And,bVar"b'4", 13667 Bop(And,Mop(Not,bVar"b'3"), 13668 Bop(And,bVar"b'2", 13669 Bop(And,Mop(Not,bVar"b'1"), 13670 Mop(Not,bVar"b'0")))))))), 13671 Call 13672 ("Trap",CTy"instruction", 13673 Call 13674 ("TEQ",CTy"Trap", 13675 TP[Mop(Cast(FTy 5), 13676 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13677 bVar"b'21"]), 13678 Mop(Cast(FTy 5), 13679 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13680 bVar"b'16"])]))), 13681 (Bop(And,Mop(Not,bVar"b'28"), 13682 Bop(And,Mop(Not,bVar"b'27"), 13683 Bop(And,bVar"b'5", 13684 Bop(And,bVar"b'4", 13685 Bop(And,Mop(Not,bVar"b'3"), 13686 Bop(And,bVar"b'2", 13687 Bop(And,bVar"b'1",Mop(Not,bVar"b'0")))))))), 13688 Call 13689 ("Trap",CTy"instruction", 13690 Call 13691 ("TNE",CTy"Trap", 13692 TP[Mop(Cast(FTy 5), 13693 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13694 bVar"b'21"]), 13695 Mop(Cast(FTy 5), 13696 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13697 bVar"b'16"])]))), 13698 (Bop(And,Mop(Not,bVar"b'28"), 13699 Bop(And,Mop(Not,bVar"b'27"), 13700 Bop(And,Mop(Not,bVar"b'25"), 13701 Bop(And,Mop(Not,bVar"b'24"), 13702 Bop(And,Mop(Not,bVar"b'23"), 13703 Bop(And,Mop(Not,bVar"b'22"), 13704 Bop(And,Mop(Not,bVar"b'21"), 13705 Bop(And,bVar"b'5", 13706 Bop(And,bVar"b'4", 13707 Bop(And,bVar"b'3", 13708 Bop(And, 13709 Mop(Not,bVar"b'2"), 13710 Bop(And, 13711 Mop(Not, 13712 bVar"b'1"), 13713 Mop(Not, 13714 bVar"b'0"))))))))))))), 13715 Call 13716 ("Shift",CTy"instruction", 13717 Call 13718 ("DSLL",CTy"Shift", 13719 TP[Mop(Cast(FTy 5), 13720 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13721 bVar"b'16"]), 13722 Mop(Cast(FTy 5), 13723 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 13724 bVar"b'11"]), 13725 Mop(Cast(FTy 5), 13726 LL[bVar"b'10",bVar"b'9",bVar"b'8",bVar"b'7", 13727 bVar"b'6"])]))), 13728 (Bop(And,Mop(Not,bVar"b'28"), 13729 Bop(And,Mop(Not,bVar"b'27"), 13730 Bop(And,Mop(Not,bVar"b'25"), 13731 Bop(And,Mop(Not,bVar"b'24"), 13732 Bop(And,Mop(Not,bVar"b'23"), 13733 Bop(And,Mop(Not,bVar"b'22"), 13734 Bop(And,Mop(Not,bVar"b'21"), 13735 Bop(And,bVar"b'5", 13736 Bop(And,bVar"b'4", 13737 Bop(And,bVar"b'3", 13738 Bop(And, 13739 Mop(Not,bVar"b'2"), 13740 Bop(And, 13741 bVar"b'1", 13742 Mop(Not, 13743 bVar"b'0"))))))))))))), 13744 Call 13745 ("Shift",CTy"instruction", 13746 Call 13747 ("DSRL",CTy"Shift", 13748 TP[Mop(Cast(FTy 5), 13749 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13750 bVar"b'16"]), 13751 Mop(Cast(FTy 5), 13752 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 13753 bVar"b'11"]), 13754 Mop(Cast(FTy 5), 13755 LL[bVar"b'10",bVar"b'9",bVar"b'8",bVar"b'7", 13756 bVar"b'6"])]))), 13757 (Bop(And,Mop(Not,bVar"b'28"), 13758 Bop(And,Mop(Not,bVar"b'27"), 13759 Bop(And,Mop(Not,bVar"b'25"), 13760 Bop(And,Mop(Not,bVar"b'24"), 13761 Bop(And,Mop(Not,bVar"b'23"), 13762 Bop(And,Mop(Not,bVar"b'22"), 13763 Bop(And,Mop(Not,bVar"b'21"), 13764 Bop(And,bVar"b'5", 13765 Bop(And,bVar"b'4", 13766 Bop(And,bVar"b'3", 13767 Bop(And, 13768 Mop(Not,bVar"b'2"), 13769 Bop(And, 13770 bVar"b'1", 13771 bVar"b'0")))))))))))), 13772 Call 13773 ("Shift",CTy"instruction", 13774 Call 13775 ("DSRA",CTy"Shift", 13776 TP[Mop(Cast(FTy 5), 13777 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13778 bVar"b'16"]), 13779 Mop(Cast(FTy 5), 13780 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 13781 bVar"b'11"]), 13782 Mop(Cast(FTy 5), 13783 LL[bVar"b'10",bVar"b'9",bVar"b'8",bVar"b'7", 13784 bVar"b'6"])]))), 13785 (Bop(And,Mop(Not,bVar"b'28"), 13786 Bop(And,Mop(Not,bVar"b'27"), 13787 Bop(And,Mop(Not,bVar"b'25"), 13788 Bop(And,Mop(Not,bVar"b'24"), 13789 Bop(And,Mop(Not,bVar"b'23"), 13790 Bop(And,Mop(Not,bVar"b'22"), 13791 Bop(And,Mop(Not,bVar"b'21"), 13792 Bop(And,bVar"b'5", 13793 Bop(And,bVar"b'4", 13794 Bop(And,bVar"b'3", 13795 Bop(And,bVar"b'2", 13796 Bop(And, 13797 Mop(Not, 13798 bVar"b'1"), 13799 Mop(Not, 13800 bVar"b'0"))))))))))))), 13801 Call 13802 ("Shift",CTy"instruction", 13803 Call 13804 ("DSLL32",CTy"Shift", 13805 TP[Mop(Cast(FTy 5), 13806 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13807 bVar"b'16"]), 13808 Mop(Cast(FTy 5), 13809 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 13810 bVar"b'11"]), 13811 Mop(Cast(FTy 5), 13812 LL[bVar"b'10",bVar"b'9",bVar"b'8",bVar"b'7", 13813 bVar"b'6"])]))), 13814 (Bop(And,Mop(Not,bVar"b'28"), 13815 Bop(And,Mop(Not,bVar"b'27"), 13816 Bop(And,Mop(Not,bVar"b'25"), 13817 Bop(And,Mop(Not,bVar"b'24"), 13818 Bop(And,Mop(Not,bVar"b'23"), 13819 Bop(And,Mop(Not,bVar"b'22"), 13820 Bop(And,Mop(Not,bVar"b'21"), 13821 Bop(And,bVar"b'5", 13822 Bop(And,bVar"b'4", 13823 Bop(And,bVar"b'3", 13824 Bop(And,bVar"b'2", 13825 Bop(And, 13826 bVar"b'1", 13827 Mop(Not, 13828 bVar"b'0"))))))))))))), 13829 Call 13830 ("Shift",CTy"instruction", 13831 Call 13832 ("DSRL32",CTy"Shift", 13833 TP[Mop(Cast(FTy 5), 13834 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13835 bVar"b'16"]), 13836 Mop(Cast(FTy 5), 13837 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 13838 bVar"b'11"]), 13839 Mop(Cast(FTy 5), 13840 LL[bVar"b'10",bVar"b'9",bVar"b'8",bVar"b'7", 13841 bVar"b'6"])]))), 13842 (Bop(And,Mop(Not,bVar"b'28"), 13843 Bop(And,Mop(Not,bVar"b'27"), 13844 Bop(And,Mop(Not,bVar"b'25"), 13845 Bop(And,Mop(Not,bVar"b'24"), 13846 Bop(And,Mop(Not,bVar"b'23"), 13847 Bop(And,Mop(Not,bVar"b'22"), 13848 Bop(And,Mop(Not,bVar"b'21"), 13849 Bop(And,bVar"b'5", 13850 Bop(And,bVar"b'4", 13851 Bop(And,bVar"b'3", 13852 Bop(And,bVar"b'2", 13853 Bop(And, 13854 bVar"b'1", 13855 bVar"b'0")))))))))))), 13856 Call 13857 ("Shift",CTy"instruction", 13858 Call 13859 ("DSRA32",CTy"Shift", 13860 TP[Mop(Cast(FTy 5), 13861 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13862 bVar"b'16"]), 13863 Mop(Cast(FTy 5), 13864 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 13865 bVar"b'11"]), 13866 Mop(Cast(FTy 5), 13867 LL[bVar"b'10",bVar"b'9",bVar"b'8",bVar"b'7", 13868 bVar"b'6"])]))), 13869 (Bop(And,Mop(Not,bVar"b'28"),bVar"b'27"), 13870 Call 13871 ("Branch",CTy"instruction", 13872 Call 13873 ("J",CTy"Branch", 13874 Mop(Cast(FTy 26), 13875 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13876 bVar"b'21",bVar"b'20",bVar"b'19",bVar"b'18", 13877 bVar"b'17",bVar"b'16",bVar"b'15",bVar"b'14", 13878 bVar"b'13",bVar"b'12",bVar"b'11",bVar"b'10", 13879 bVar"b'9",bVar"b'8",bVar"b'7",bVar"b'6", 13880 bVar"b'5",bVar"b'4",bVar"b'3",bVar"b'2", 13881 bVar"b'1",bVar"b'0"])))), 13882 (Bop(And,bVar"b'28", 13883 Bop(And,bVar"b'27", 13884 Bop(And,Mop(Not,bVar"b'20"), 13885 Bop(And,Mop(Not,bVar"b'19"), 13886 Bop(And,Mop(Not,bVar"b'18"), 13887 Bop(And,Mop(Not,bVar"b'17"), 13888 Mop(Not,bVar"b'16"))))))), 13889 Call 13890 ("Branch",CTy"instruction", 13891 Call 13892 ("BLEZ",CTy"Branch", 13893 TP[Mop(Cast(FTy 5), 13894 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13895 bVar"b'21"]), 13896 Mop(Cast F16, 13897 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 13898 bVar"b'11",bVar"b'10",bVar"b'9",bVar"b'8", 13899 bVar"b'7",bVar"b'6",bVar"b'5",bVar"b'4", 13900 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])]))), 13901 (Bop(And,bVar"b'28",Mop(Not,bVar"b'27")), 13902 Call 13903 ("Branch",CTy"instruction", 13904 Call 13905 ("BEQ",CTy"Branch", 13906 TP[Mop(Cast(FTy 5), 13907 LL[bVar"b'25",bVar"b'24",bVar"b'23",bVar"b'22", 13908 bVar"b'21"]), 13909 Mop(Cast(FTy 5), 13910 LL[bVar"b'20",bVar"b'19",bVar"b'18",bVar"b'17", 13911 bVar"b'16"]), 13912 Mop(Cast F16, 13913 LL[bVar"b'15",bVar"b'14",bVar"b'13",bVar"b'12", 13914 bVar"b'11",bVar"b'10",bVar"b'9",bVar"b'8", 13915 bVar"b'7",bVar"b'6",bVar"b'5",bVar"b'4", 13916 bVar"b'3",bVar"b'2",bVar"b'1",bVar"b'0"])])))], 13917 Const("ReservedInstruction",CTy"instruction")))) 13918; 13919val Next_def = Def 13920 ("Next",qVar"state", 13921 Let(TP[Var("v",OTy F32),qVar"s"], 13922 Apply(Const("Fetch",ATy(qTy,PTy(OTy F32,qTy))),qVar"state"), 13923 Let(qVar"s", 13924 CS(Var("v",OTy F32), 13925 [(Mop(Some,Var("w",F32)), 13926 Apply 13927 (Call 13928 ("Run",ATy(qTy,qTy), 13929 Call("Decode",CTy"instruction",Var("w",F32))), 13930 qVar"s")),(LO F32,qVar"s")]), 13931 Let(qVar"s", 13932 Rupd 13933 ("exceptionSignalled", 13934 TP[CS(TP[Dest("BranchDelay",OTy(OTy F64),qVar"s"), 13935 Dest("BranchTo",OTy(PTy(bTy,F64)),qVar"s")], 13936 [(TP[LO(OTy F64),LO(PTy(bTy,F64))], 13937 Rupd 13938 ("PC", 13939 TP[qVar"s", 13940 Bop(Add,Dest("PC",F64,qVar"s"),LW(4,64))])), 13941 (TP[LO(OTy F64),Mop(Some,TP[LT,Var("addr",F64)])], 13942 Rupd 13943 ("PC", 13944 TP[Rupd 13945 ("BranchTo", 13946 TP[Rupd 13947 ("BranchDelay", 13948 TP[qVar"s",Mop(Some,LO F64)]), 13949 LO(PTy(bTy,F64))]),Var("addr",F64)])), 13950 (TP[LO(OTy F64),Mop(Some,TP[LF,Var("addr",F64)])], 13951 Let(qVar"s", 13952 Rupd 13953 ("BranchTo", 13954 TP[Rupd 13955 ("BranchDelay", 13956 TP[qVar"s", 13957 Mop(Some, 13958 Mop(Some,Var("addr",F64)))]), 13959 LO(PTy(bTy,F64))]), 13960 Rupd 13961 ("PC", 13962 TP[qVar"s", 13963 Bop(Add,Dest("PC",F64,qVar"s"), 13964 LW(4,64))]))), 13965 (TP[Mop(Some,LO F64),LO(PTy(bTy,F64))], 13966 Let(qVar"s", 13967 Rupd("BranchDelay",TP[qVar"s",LO(OTy F64)]), 13968 Rupd 13969 ("PC", 13970 TP[qVar"s", 13971 Bop(Add,Dest("PC",F64,qVar"s"), 13972 LW(4,64))]))), 13973 (TP[Mop(Some,Mop(Some,Var("addr",F64))), 13974 LO(PTy(bTy,F64))], 13975 Rupd 13976 ("PC", 13977 TP[Rupd 13978 ("BranchDelay",TP[qVar"s",LO(OTy F64)]), 13979 Var("addr",F64)])), 13980 (AVar(PTy(OTy(OTy F64),OTy(PTy(bTy,F64)))), 13981 Mop(Snd, 13982 Apply 13983 (Call 13984 ("raise'exception", 13985 ATy(qTy,PTy(uTy,qTy)), 13986 Call 13987 ("UNPREDICTABLE",CTy"exception", 13988 LS"Branch follows branch")),qVar"s")))]), 13989 LF]), 13990 Rupd 13991 ("CP0", 13992 TP[qVar"s", 13993 Rupd 13994 ("Count", 13995 TP[Dest("CP0",CTy"CP0",qVar"s"), 13996 Bop(Add, 13997 Dest 13998 ("Count",F32,Dest("CP0",CTy"CP0",qVar"s")), 13999 LW(1,32))])]))))) 14000; 14001val COP1Encode_def = Def 14002 ("COP1Encode",Var("j",CTy"COP1"), 14003 CS(Var("j",CTy"COP1"), 14004 [(Call("MFC1",CTy"COP1",TP[Var("rt",FTy 5),Var("fs",FTy 5)]), 14005 CC[LW(544,11),Var("rt",FTy 5),Var("fs",FTy 5),LW(0,11)]), 14006 (Call("DMFC1",CTy"COP1",TP[Var("rt",FTy 5),Var("fs",FTy 5)]), 14007 CC[LW(545,11),Var("rt",FTy 5),Var("fs",FTy 5),LW(0,11)]), 14008 (Call("CFC1",CTy"COP1",TP[Var("rt",FTy 5),Var("fs",FTy 5)]), 14009 CC[LW(546,11),Var("rt",FTy 5),Var("fs",FTy 5),LW(0,11)]), 14010 (Call("MTC1",CTy"COP1",TP[Var("rt",FTy 5),Var("fs",FTy 5)]), 14011 CC[LW(548,11),Var("rt",FTy 5),Var("fs",FTy 5),LW(0,11)]), 14012 (Call("DMTC1",CTy"COP1",TP[Var("rt",FTy 5),Var("fs",FTy 5)]), 14013 CC[LW(549,11),Var("rt",FTy 5),Var("fs",FTy 5),LW(0,11)]), 14014 (Call("CTC1",CTy"COP1",TP[Var("rt",FTy 5),Var("fs",FTy 5)]), 14015 CC[LW(550,11),Var("rt",FTy 5),Var("fs",FTy 5),LW(0,11)]), 14016 (Call("BC1F",CTy"COP1",TP[Var("i",F16),Var("cc",FTy 3)]), 14017 CC[LW(552,11),Var("cc",FTy 3),LW(0,2),Var("i",F16)]), 14018 (Call("BC1T",CTy"COP1",TP[Var("i",F16),Var("cc",FTy 3)]), 14019 CC[LW(552,11),Var("cc",FTy 3),LW(1,2),Var("i",F16)]), 14020 (Call("BC1FL",CTy"COP1",TP[Var("i",F16),Var("cc",FTy 3)]), 14021 CC[LW(552,11),Var("cc",FTy 3),LW(2,2),Var("i",F16)]), 14022 (Call("BC1TL",CTy"COP1",TP[Var("i",F16),Var("cc",FTy 3)]), 14023 CC[LW(552,11),Var("cc",FTy 3),LW(3,2),Var("i",F16)]), 14024 (Call 14025 ("ADD_S",CTy"COP1", 14026 TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("ft",FTy 5)]), 14027 CC[LW(560,11),Var("ft",FTy 5),Var("fs",FTy 5),Var("fd",FTy 5), 14028 LW(0,6)]), 14029 (Call 14030 ("SUB_S",CTy"COP1", 14031 TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("ft",FTy 5)]), 14032 CC[LW(560,11),Var("ft",FTy 5),Var("fs",FTy 5),Var("fd",FTy 5), 14033 LW(1,6)]), 14034 (Call 14035 ("MUL_S",CTy"COP1", 14036 TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("ft",FTy 5)]), 14037 CC[LW(560,11),Var("ft",FTy 5),Var("fs",FTy 5),Var("fd",FTy 5), 14038 LW(2,6)]), 14039 (Call 14040 ("DIV_S",CTy"COP1", 14041 TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("ft",FTy 5)]), 14042 CC[LW(560,11),Var("ft",FTy 5),Var("fs",FTy 5),Var("fd",FTy 5), 14043 LW(3,6)]), 14044 (Call("SQRT_S",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14045 CC[LW(17920,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(4,6)]), 14046 (Call("ABS_S",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14047 CC[LW(17920,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(5,6)]), 14048 (Call("MOV_S",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14049 CC[LW(17920,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(6,6)]), 14050 (Call("NEG_S",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14051 CC[LW(17920,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(7,6)]), 14052 (Call("ROUND_L_S",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14053 CC[LW(17920,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(8,6)]), 14054 (Call("TRUNC_L_S",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14055 CC[LW(17920,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(9,6)]), 14056 (Call("CEIL_L_S",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14057 CC[LW(17920,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(10,6)]), 14058 (Call("FLOOR_L_S",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14059 CC[LW(17920,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(11,6)]), 14060 (Call("ROUND_W_S",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14061 CC[LW(17920,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(12,6)]), 14062 (Call("TRUNC_W_S",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14063 CC[LW(17920,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(13,6)]), 14064 (Call("CEIL_W_S",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14065 CC[LW(17920,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(14,6)]), 14066 (Call("FLOOR_W_S",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14067 CC[LW(17920,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(15,6)]), 14068 (Call 14069 ("MOVF_S",CTy"COP1", 14070 TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("cc",FTy 3)]), 14071 CC[LW(560,11),Var("cc",FTy 3),LW(0,2),Var("fs",FTy 5), 14072 Var("fd",FTy 5),LW(17,6)]), 14073 (Call 14074 ("MOVT_S",CTy"COP1", 14075 TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("cc",FTy 3)]), 14076 CC[LW(560,11),Var("cc",FTy 3),LW(1,2),Var("fs",FTy 5), 14077 Var("fd",FTy 5),LW(17,6)]), 14078 (Call 14079 ("MOVZ_S",CTy"COP1", 14080 TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("rt",FTy 5)]), 14081 CC[LW(560,11),Var("rt",FTy 5),Var("fs",FTy 5),Var("fd",FTy 5), 14082 LW(18,6)]), 14083 (Call 14084 ("MOVN_S",CTy"COP1", 14085 TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("rt",FTy 5)]), 14086 CC[LW(560,11),Var("rt",FTy 5),Var("fs",FTy 5),Var("fd",FTy 5), 14087 LW(19,6)]), 14088 (Call 14089 ("C_cond_S",CTy"COP1", 14090 TP[Var("fs",FTy 5),Var("ft",FTy 5),Var("cnd",FTy 3), 14091 Var("cc",FTy 3)]), 14092 CC[LW(560,11),Var("ft",FTy 5),Var("fs",FTy 5),Var("cc",FTy 3), 14093 LW(6,5),Var("cnd",FTy 3)]), 14094 (Call 14095 ("ADD_D",CTy"COP1", 14096 TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("ft",FTy 5)]), 14097 CC[LW(561,11),Var("ft",FTy 5),Var("fs",FTy 5),Var("fd",FTy 5), 14098 LW(0,6)]), 14099 (Call 14100 ("SUB_D",CTy"COP1", 14101 TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("ft",FTy 5)]), 14102 CC[LW(561,11),Var("ft",FTy 5),Var("fs",FTy 5),Var("fd",FTy 5), 14103 LW(1,6)]), 14104 (Call 14105 ("MUL_D",CTy"COP1", 14106 TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("ft",FTy 5)]), 14107 CC[LW(561,11),Var("ft",FTy 5),Var("fs",FTy 5),Var("fd",FTy 5), 14108 LW(2,6)]), 14109 (Call 14110 ("DIV_D",CTy"COP1", 14111 TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("ft",FTy 5)]), 14112 CC[LW(561,11),Var("ft",FTy 5),Var("fs",FTy 5),Var("fd",FTy 5), 14113 LW(3,6)]), 14114 (Call("SQRT_D",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14115 CC[LW(17952,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(4,6)]), 14116 (Call("ABS_D",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14117 CC[LW(17952,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(5,6)]), 14118 (Call("MOV_D",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14119 CC[LW(17952,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(6,6)]), 14120 (Call("NEG_D",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14121 CC[LW(17952,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(7,6)]), 14122 (Call("ROUND_L_D",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14123 CC[LW(17952,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(8,6)]), 14124 (Call("TRUNC_L_D",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14125 CC[LW(17952,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(9,6)]), 14126 (Call("CEIL_L_D",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14127 CC[LW(17952,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(10,6)]), 14128 (Call("FLOOR_L_D",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14129 CC[LW(17952,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(11,6)]), 14130 (Call("ROUND_W_D",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14131 CC[LW(17952,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(12,6)]), 14132 (Call("TRUNC_W_D",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14133 CC[LW(17952,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(13,6)]), 14134 (Call("CEIL_W_D",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14135 CC[LW(17952,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(14,6)]), 14136 (Call("FLOOR_W_D",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14137 CC[LW(17952,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(15,6)]), 14138 (Call 14139 ("MOVF_D",CTy"COP1", 14140 TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("cc",FTy 3)]), 14141 CC[LW(561,11),Var("cc",FTy 3),LW(0,2),Var("fs",FTy 5), 14142 Var("fd",FTy 5),LW(17,6)]), 14143 (Call 14144 ("MOVT_D",CTy"COP1", 14145 TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("cc",FTy 3)]), 14146 CC[LW(561,11),Var("cc",FTy 3),LW(1,2),Var("fs",FTy 5), 14147 Var("fd",FTy 5),LW(17,6)]), 14148 (Call 14149 ("MOVZ_D",CTy"COP1", 14150 TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("rt",FTy 5)]), 14151 CC[LW(561,11),Var("rt",FTy 5),Var("fs",FTy 5),Var("fd",FTy 5), 14152 LW(18,6)]), 14153 (Call 14154 ("MOVN_D",CTy"COP1", 14155 TP[Var("fd",FTy 5),Var("fs",FTy 5),Var("rt",FTy 5)]), 14156 CC[LW(561,11),Var("rt",FTy 5),Var("fs",FTy 5),Var("fd",FTy 5), 14157 LW(19,6)]), 14158 (Call 14159 ("C_cond_D",CTy"COP1", 14160 TP[Var("fs",FTy 5),Var("ft",FTy 5),Var("cnd",FTy 3), 14161 Var("cc",FTy 3)]), 14162 CC[LW(561,11),Var("ft",FTy 5),Var("fs",FTy 5),Var("cc",FTy 3), 14163 LW(6,5),Var("cnd",FTy 3)]), 14164 (Call("CVT_S_D",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14165 CC[LW(17952,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(32,6)]), 14166 (Call("CVT_S_W",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14167 CC[LW(18048,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(32,6)]), 14168 (Call("CVT_S_L",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14169 CC[LW(18080,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(32,6)]), 14170 (Call("CVT_D_S",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14171 CC[LW(17920,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(33,6)]), 14172 (Call("CVT_D_W",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14173 CC[LW(18048,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(33,6)]), 14174 (Call("CVT_D_L",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14175 CC[LW(18080,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(33,6)]), 14176 (Call("CVT_W_S",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14177 CC[LW(17920,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(36,6)]), 14178 (Call("CVT_W_D",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14179 CC[LW(17952,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(36,6)]), 14180 (Call("CVT_L_S",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14181 CC[LW(17920,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(37,6)]), 14182 (Call("CVT_L_D",CTy"COP1",TP[Var("fd",FTy 5),Var("fs",FTy 5)]), 14183 CC[LW(17952,16),Var("fs",FTy 5),Var("fd",FTy 5),LW(37,6)]), 14184 (Call 14185 ("LDC1",CTy"COP1", 14186 TP[Var("base",FTy 5),Var("offset",F16),Var("ft",FTy 5)]), 14187 CC[LW(53,6),Var("base",FTy 5),Var("ft",FTy 5),Var("offset",F16)]), 14188 (Call 14189 ("LWC1",CTy"COP1", 14190 TP[Var("base",FTy 5),Var("offset",F16),Var("ft",FTy 5)]), 14191 CC[LW(49,6),Var("base",FTy 5),Var("ft",FTy 5),Var("offset",F16)]), 14192 (Call 14193 ("SDC1",CTy"COP1", 14194 TP[Var("base",FTy 5),Var("offset",F16),Var("ft",FTy 5)]), 14195 CC[LW(61,6),Var("base",FTy 5),Var("ft",FTy 5),Var("offset",F16)]), 14196 (Call 14197 ("SWC1",CTy"COP1", 14198 TP[Var("base",FTy 5),Var("offset",F16),Var("ft",FTy 5)]), 14199 CC[LW(57,6),Var("base",FTy 5),Var("ft",FTy 5),Var("offset",F16)]), 14200 (Call 14201 ("LWXC1",CTy"COP1", 14202 TP[Var("fd",FTy 5),Var("index",FTy 5),Var("base",FTy 5)]), 14203 CC[LW(19,6),Var("base",FTy 5),Var("index",FTy 5),LW(0,5), 14204 Var("fd",FTy 5),LW(0,6)]), 14205 (Call 14206 ("LDXC1",CTy"COP1", 14207 TP[Var("fd",FTy 5),Var("index",FTy 5),Var("base",FTy 5)]), 14208 CC[LW(19,6),Var("base",FTy 5),Var("index",FTy 5),LW(0,5), 14209 Var("fd",FTy 5),LW(1,6)]), 14210 (Call 14211 ("SWXC1",CTy"COP1", 14212 TP[Var("fs",FTy 5),Var("index",FTy 5),Var("base",FTy 5)]), 14213 CC[LW(19,6),Var("base",FTy 5),Var("index",FTy 5),Var("fs",FTy 5), 14214 LW(8,11)]), 14215 (Call 14216 ("SDXC1",CTy"COP1", 14217 TP[Var("fs",FTy 5),Var("index",FTy 5),Var("base",FTy 5)]), 14218 CC[LW(19,6),Var("base",FTy 5),Var("index",FTy 5),Var("fs",FTy 5), 14219 LW(9,11)]), 14220 (Call 14221 ("MADD_S",CTy"COP1", 14222 TP[Var("fd",FTy 5),Var("fr",FTy 5),Var("fs",FTy 5), 14223 Var("ft",FTy 5)]), 14224 CC[LW(19,6),Var("fr",FTy 5),Var("ft",FTy 5),Var("fs",FTy 5), 14225 Var("fd",FTy 5),LW(32,6)]), 14226 (Call 14227 ("MADD_D",CTy"COP1", 14228 TP[Var("fd",FTy 5),Var("fr",FTy 5),Var("fs",FTy 5), 14229 Var("ft",FTy 5)]), 14230 CC[LW(19,6),Var("fr",FTy 5),Var("ft",FTy 5),Var("fs",FTy 5), 14231 Var("fd",FTy 5),LW(33,6)]), 14232 (Call 14233 ("MSUB_S",CTy"COP1", 14234 TP[Var("fd",FTy 5),Var("fr",FTy 5),Var("fs",FTy 5), 14235 Var("ft",FTy 5)]), 14236 CC[LW(19,6),Var("fr",FTy 5),Var("ft",FTy 5),Var("fs",FTy 5), 14237 Var("fd",FTy 5),LW(40,6)]), 14238 (Call 14239 ("MSUB_D",CTy"COP1", 14240 TP[Var("fd",FTy 5),Var("fr",FTy 5),Var("fs",FTy 5), 14241 Var("ft",FTy 5)]), 14242 CC[LW(19,6),Var("fr",FTy 5),Var("ft",FTy 5),Var("fs",FTy 5), 14243 Var("fd",FTy 5),LW(41,6)]), 14244 (Call 14245 ("MOVF",CTy"COP1", 14246 TP[Var("rd",FTy 5),Var("rs",FTy 5),Var("cc",FTy 3)]), 14247 CC[LW(0,6),Var("rs",FTy 5),Var("cc",FTy 3),LW(0,2), 14248 Var("rd",FTy 5),LW(1,11)]), 14249 (Call 14250 ("MOVT",CTy"COP1", 14251 TP[Var("rd",FTy 5),Var("rs",FTy 5),Var("cc",FTy 3)]), 14252 CC[LW(0,6),Var("rs",FTy 5),Var("cc",FTy 3),LW(1,2), 14253 Var("rd",FTy 5),LW(1,11)]), 14254 (Const("UnknownFPInstruction",CTy"COP1"),LX F32)])) 14255; 14256val form1_def = Def 14257 ("form1", 14258 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),Var("imm5",FTy 5), 14259 Var("function",FTy 6)], 14260 CC[LW(0,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5), 14261 Var("imm5",FTy 5),Var("function",FTy 6)]) 14262; 14263val form2_def = Def 14264 ("form2",TP[Var("rs",FTy 5),Var("function",FTy 5),Var("imm",F16)], 14265 CC[LW(1,6),Var("rs",FTy 5),Var("function",FTy 5),Var("imm",F16)]) 14266; 14267val form3_def = Def 14268 ("form3", 14269 TP[Var("function",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5), 14270 Var("sel",FTy 3)], 14271 CC[LW(16,6),Var("function",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5), 14272 LW(0,8),Var("sel",FTy 3)]) 14273; 14274val form4_def = Def 14275 ("form4", 14276 TP[Var("function",FTy 6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)], 14277 CC[Var("function",FTy 6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)]) 14278; 14279val form5_def = Def 14280 ("form5", 14281 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5), 14282 Var("function",FTy 6)], 14283 CC[LW(28,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14284 Var("function",FTy 6)]) 14285; 14286val form6_def = Def 14287 ("form6",TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("function",FTy 6)], 14288 CC[LW(31,6),LW(0,5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14289 Var("function",FTy 6)]) 14290; 14291val Encode_def = Def 14292 ("Encode",Var("i",CTy"instruction"), 14293 CS(Var("i",CTy"instruction"), 14294 [(Call 14295 ("Shift",CTy"instruction", 14296 Call 14297 ("SLL",CTy"Shift", 14298 TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("imm5",FTy 5)])), 14299 Call 14300 ("form1",F32, 14301 TP[LW(0,5),Var("rt",FTy 5),Var("rd",FTy 5),Var("imm5",FTy 5), 14302 LW(0,6)])), 14303 (Call 14304 ("Shift",CTy"instruction", 14305 Call 14306 ("SRL",CTy"Shift", 14307 TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("imm5",FTy 5)])), 14308 Call 14309 ("form1",F32, 14310 TP[LW(0,5),Var("rt",FTy 5),Var("rd",FTy 5),Var("imm5",FTy 5), 14311 LW(2,6)])), 14312 (Call 14313 ("Shift",CTy"instruction", 14314 Call 14315 ("SRA",CTy"Shift", 14316 TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("imm5",FTy 5)])), 14317 Call 14318 ("form1",F32, 14319 TP[LW(0,5),Var("rt",FTy 5),Var("rd",FTy 5),Var("imm5",FTy 5), 14320 LW(3,6)])), 14321 (Call 14322 ("Shift",CTy"instruction", 14323 Call 14324 ("SLLV",CTy"Shift", 14325 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)])), 14326 Call 14327 ("form1",F32, 14328 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14329 LW(4,6)])), 14330 (Call 14331 ("Shift",CTy"instruction", 14332 Call 14333 ("SRLV",CTy"Shift", 14334 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)])), 14335 Call 14336 ("form1",F32, 14337 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14338 LW(6,6)])), 14339 (Call 14340 ("Shift",CTy"instruction", 14341 Call 14342 ("SRAV",CTy"Shift", 14343 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)])), 14344 Call 14345 ("form1",F32, 14346 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14347 LW(7,6)])), 14348 (Call 14349 ("Branch",CTy"instruction", 14350 Call("JR",CTy"Branch",Var("rs",FTy 5))), 14351 Call 14352 ("form1",F32,TP[Var("rs",FTy 5),LW(0,5),LW(0,5),LW(0,5),LW(8,6)])), 14353 (Call 14354 ("Branch",CTy"instruction", 14355 Call("JALR",CTy"Branch",TP[Var("rs",FTy 5),Var("rd",FTy 5)])), 14356 Call 14357 ("form1",F32, 14358 TP[Var("rs",FTy 5),LW(0,5),Var("rd",FTy 5),LW(0,5),LW(9,6)])), 14359 (Call 14360 ("MultDiv",CTy"instruction", 14361 Call("MFHI",CTy"MultDiv",Var("rd",FTy 5))), 14362 Call 14363 ("form1",F32, 14364 TP[LW(0,5),LW(0,5),Var("rd",FTy 5),LW(0,5),LW(16,6)])), 14365 (Call 14366 ("MultDiv",CTy"instruction", 14367 Call("MTHI",CTy"MultDiv",Var("rs",FTy 5))), 14368 Call 14369 ("form1",F32, 14370 TP[Var("rs",FTy 5),LW(0,5),LW(0,5),LW(0,5),LW(17,6)])), 14371 (Call 14372 ("MultDiv",CTy"instruction", 14373 Call("MFLO",CTy"MultDiv",Var("rd",FTy 5))), 14374 Call 14375 ("form1",F32, 14376 TP[LW(0,5),LW(0,5),Var("rd",FTy 5),LW(0,5),LW(18,6)])), 14377 (Call 14378 ("MultDiv",CTy"instruction", 14379 Call("MTLO",CTy"MultDiv",Var("rs",FTy 5))), 14380 Call 14381 ("form1",F32, 14382 TP[Var("rs",FTy 5),LW(0,5),LW(0,5),LW(0,5),LW(19,6)])), 14383 (Call 14384 ("Shift",CTy"instruction", 14385 Call 14386 ("DSLLV",CTy"Shift", 14387 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)])), 14388 Call 14389 ("form1",F32, 14390 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14391 LW(20,6)])), 14392 (Call 14393 ("Shift",CTy"instruction", 14394 Call 14395 ("DSRLV",CTy"Shift", 14396 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)])), 14397 Call 14398 ("form1",F32, 14399 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14400 LW(22,6)])), 14401 (Call 14402 ("Shift",CTy"instruction", 14403 Call 14404 ("DSRAV",CTy"Shift", 14405 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)])), 14406 Call 14407 ("form1",F32, 14408 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14409 LW(23,6)])), 14410 (Call 14411 ("MultDiv",CTy"instruction", 14412 Call("MADD",CTy"MultDiv",TP[Var("rs",FTy 5),Var("rt",FTy 5)])), 14413 Call 14414 ("form5",F32,TP[Var("rs",FTy 5),Var("rt",FTy 5),LW(0,5),LW(0,6)])), 14415 (Call 14416 ("MultDiv",CTy"instruction", 14417 Call("MADDU",CTy"MultDiv",TP[Var("rs",FTy 5),Var("rt",FTy 5)])), 14418 Call 14419 ("form5",F32,TP[Var("rs",FTy 5),Var("rt",FTy 5),LW(0,5),LW(1,6)])), 14420 (Call 14421 ("MultDiv",CTy"instruction", 14422 Call("MSUB",CTy"MultDiv",TP[Var("rs",FTy 5),Var("rt",FTy 5)])), 14423 Call 14424 ("form5",F32,TP[Var("rs",FTy 5),Var("rt",FTy 5),LW(0,5),LW(4,6)])), 14425 (Call 14426 ("MultDiv",CTy"instruction", 14427 Call("MSUBU",CTy"MultDiv",TP[Var("rs",FTy 5),Var("rt",FTy 5)])), 14428 Call 14429 ("form5",F32,TP[Var("rs",FTy 5),Var("rt",FTy 5),LW(0,5),LW(5,6)])), 14430 (Call 14431 ("MultDiv",CTy"instruction", 14432 Call 14433 ("MUL",CTy"MultDiv", 14434 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)])), 14435 Call 14436 ("form5",F32, 14437 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(2,6)])), 14438 (Call 14439 ("MultDiv",CTy"instruction", 14440 Call("MULT",CTy"MultDiv",TP[Var("rs",FTy 5),Var("rt",FTy 5)])), 14441 Call 14442 ("form1",F32, 14443 TP[Var("rs",FTy 5),Var("rt",FTy 5),LW(0,5),LW(0,5),LW(24,6)])), 14444 (Call 14445 ("MultDiv",CTy"instruction", 14446 Call("MULTU",CTy"MultDiv",TP[Var("rs",FTy 5),Var("rt",FTy 5)])), 14447 Call 14448 ("form1",F32, 14449 TP[Var("rs",FTy 5),Var("rt",FTy 5),LW(0,5),LW(0,5),LW(25,6)])), 14450 (Call 14451 ("MultDiv",CTy"instruction", 14452 Call("DIV",CTy"MultDiv",TP[Var("rs",FTy 5),Var("rt",FTy 5)])), 14453 Call 14454 ("form1",F32, 14455 TP[Var("rs",FTy 5),Var("rt",FTy 5),LW(0,5),LW(0,5),LW(26,6)])), 14456 (Call 14457 ("MultDiv",CTy"instruction", 14458 Call("DIVU",CTy"MultDiv",TP[Var("rs",FTy 5),Var("rt",FTy 5)])), 14459 Call 14460 ("form1",F32, 14461 TP[Var("rs",FTy 5),Var("rt",FTy 5),LW(0,5),LW(0,5),LW(27,6)])), 14462 (Call 14463 ("MultDiv",CTy"instruction", 14464 Call("DMULT",CTy"MultDiv",TP[Var("rs",FTy 5),Var("rt",FTy 5)])), 14465 Call 14466 ("form1",F32, 14467 TP[Var("rs",FTy 5),Var("rt",FTy 5),LW(0,5),LW(0,5),LW(28,6)])), 14468 (Call 14469 ("MultDiv",CTy"instruction", 14470 Call("DMULTU",CTy"MultDiv",TP[Var("rs",FTy 5),Var("rt",FTy 5)])), 14471 Call 14472 ("form1",F32, 14473 TP[Var("rs",FTy 5),Var("rt",FTy 5),LW(0,5),LW(0,5),LW(29,6)])), 14474 (Call 14475 ("MultDiv",CTy"instruction", 14476 Call("DDIV",CTy"MultDiv",TP[Var("rs",FTy 5),Var("rt",FTy 5)])), 14477 Call 14478 ("form1",F32, 14479 TP[Var("rs",FTy 5),Var("rt",FTy 5),LW(0,5),LW(0,5),LW(30,6)])), 14480 (Call 14481 ("MultDiv",CTy"instruction", 14482 Call("DDIVU",CTy"MultDiv",TP[Var("rs",FTy 5),Var("rt",FTy 5)])), 14483 Call 14484 ("form1",F32, 14485 TP[Var("rs",FTy 5),Var("rt",FTy 5),LW(0,5),LW(0,5),LW(31,6)])), 14486 (Call 14487 ("ArithR",CTy"instruction", 14488 Call 14489 ("MOVZ",CTy"ArithR", 14490 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)])), 14491 Call 14492 ("form1",F32, 14493 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14494 LW(10,6)])), 14495 (Call 14496 ("ArithR",CTy"instruction", 14497 Call 14498 ("MOVN",CTy"ArithR", 14499 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)])), 14500 Call 14501 ("form1",F32, 14502 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14503 LW(11,6)])), 14504 (Call 14505 ("ArithR",CTy"instruction", 14506 Call 14507 ("ADD",CTy"ArithR", 14508 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)])), 14509 Call 14510 ("form1",F32, 14511 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14512 LW(32,6)])), 14513 (Call 14514 ("ArithR",CTy"instruction", 14515 Call 14516 ("ADDU",CTy"ArithR", 14517 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)])), 14518 Call 14519 ("form1",F32, 14520 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14521 LW(33,6)])), 14522 (Call 14523 ("ArithR",CTy"instruction", 14524 Call 14525 ("SUB",CTy"ArithR", 14526 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)])), 14527 Call 14528 ("form1",F32, 14529 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14530 LW(34,6)])), 14531 (Call 14532 ("ArithR",CTy"instruction", 14533 Call 14534 ("SUBU",CTy"ArithR", 14535 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)])), 14536 Call 14537 ("form1",F32, 14538 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14539 LW(35,6)])), 14540 (Call 14541 ("ArithR",CTy"instruction", 14542 Call 14543 ("AND",CTy"ArithR", 14544 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)])), 14545 Call 14546 ("form1",F32, 14547 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14548 LW(36,6)])), 14549 (Call 14550 ("ArithR",CTy"instruction", 14551 Call 14552 ("OR",CTy"ArithR", 14553 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)])), 14554 Call 14555 ("form1",F32, 14556 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14557 LW(37,6)])), 14558 (Call 14559 ("ArithR",CTy"instruction", 14560 Call 14561 ("XOR",CTy"ArithR", 14562 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)])), 14563 Call 14564 ("form1",F32, 14565 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14566 LW(38,6)])), 14567 (Call 14568 ("ArithR",CTy"instruction", 14569 Call 14570 ("NOR",CTy"ArithR", 14571 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)])), 14572 Call 14573 ("form1",F32, 14574 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14575 LW(39,6)])), 14576 (Call 14577 ("ArithR",CTy"instruction", 14578 Call 14579 ("SLT",CTy"ArithR", 14580 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)])), 14581 Call 14582 ("form1",F32, 14583 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14584 LW(42,6)])), 14585 (Call 14586 ("ArithR",CTy"instruction", 14587 Call 14588 ("SLTU",CTy"ArithR", 14589 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)])), 14590 Call 14591 ("form1",F32, 14592 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14593 LW(43,6)])), 14594 (Call 14595 ("ArithR",CTy"instruction", 14596 Call 14597 ("DADD",CTy"ArithR", 14598 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)])), 14599 Call 14600 ("form1",F32, 14601 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14602 LW(44,6)])), 14603 (Call 14604 ("ArithR",CTy"instruction", 14605 Call 14606 ("DADDU",CTy"ArithR", 14607 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)])), 14608 Call 14609 ("form1",F32, 14610 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14611 LW(45,6)])), 14612 (Call 14613 ("ArithR",CTy"instruction", 14614 Call 14615 ("DSUB",CTy"ArithR", 14616 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)])), 14617 Call 14618 ("form1",F32, 14619 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14620 LW(46,6)])), 14621 (Call 14622 ("ArithR",CTy"instruction", 14623 Call 14624 ("DSUBU",CTy"ArithR", 14625 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5)])), 14626 Call 14627 ("form1",F32, 14628 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("rd",FTy 5),LW(0,5), 14629 LW(47,6)])), 14630 (Call 14631 ("Trap",CTy"instruction", 14632 Call("TGE",CTy"Trap",TP[Var("rs",FTy 5),Var("rt",FTy 5)])), 14633 Call 14634 ("form1",F32, 14635 TP[Var("rs",FTy 5),Var("rt",FTy 5),LW(0,5),LW(0,5),LW(48,6)])), 14636 (Call 14637 ("Trap",CTy"instruction", 14638 Call("TGEU",CTy"Trap",TP[Var("rs",FTy 5),Var("rt",FTy 5)])), 14639 Call 14640 ("form1",F32, 14641 TP[Var("rs",FTy 5),Var("rt",FTy 5),LW(0,5),LW(0,5),LW(49,6)])), 14642 (Call 14643 ("Trap",CTy"instruction", 14644 Call("TLT",CTy"Trap",TP[Var("rs",FTy 5),Var("rt",FTy 5)])), 14645 Call 14646 ("form1",F32, 14647 TP[Var("rs",FTy 5),Var("rt",FTy 5),LW(0,5),LW(0,5),LW(50,6)])), 14648 (Call 14649 ("Trap",CTy"instruction", 14650 Call("TLTU",CTy"Trap",TP[Var("rs",FTy 5),Var("rt",FTy 5)])), 14651 Call 14652 ("form1",F32, 14653 TP[Var("rs",FTy 5),Var("rt",FTy 5),LW(0,5),LW(0,5),LW(51,6)])), 14654 (Call 14655 ("Trap",CTy"instruction", 14656 Call("TEQ",CTy"Trap",TP[Var("rs",FTy 5),Var("rt",FTy 5)])), 14657 Call 14658 ("form1",F32, 14659 TP[Var("rs",FTy 5),Var("rt",FTy 5),LW(0,5),LW(0,5),LW(52,6)])), 14660 (Call 14661 ("Trap",CTy"instruction", 14662 Call("TNE",CTy"Trap",TP[Var("rs",FTy 5),Var("rt",FTy 5)])), 14663 Call 14664 ("form1",F32, 14665 TP[Var("rs",FTy 5),Var("rt",FTy 5),LW(0,5),LW(0,5),LW(54,6)])), 14666 (Call 14667 ("Shift",CTy"instruction", 14668 Call 14669 ("DSLL",CTy"Shift", 14670 TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("imm5",FTy 5)])), 14671 Call 14672 ("form1",F32, 14673 TP[LW(0,5),Var("rt",FTy 5),Var("rd",FTy 5),Var("imm5",FTy 5), 14674 LW(56,6)])), 14675 (Call 14676 ("Shift",CTy"instruction", 14677 Call 14678 ("DSRL",CTy"Shift", 14679 TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("imm5",FTy 5)])), 14680 Call 14681 ("form1",F32, 14682 TP[LW(0,5),Var("rt",FTy 5),Var("rd",FTy 5),Var("imm5",FTy 5), 14683 LW(58,6)])), 14684 (Call 14685 ("Shift",CTy"instruction", 14686 Call 14687 ("DSRA",CTy"Shift", 14688 TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("imm5",FTy 5)])), 14689 Call 14690 ("form1",F32, 14691 TP[LW(0,5),Var("rt",FTy 5),Var("rd",FTy 5),Var("imm5",FTy 5), 14692 LW(59,6)])), 14693 (Call 14694 ("Shift",CTy"instruction", 14695 Call 14696 ("DSLL32",CTy"Shift", 14697 TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("imm5",FTy 5)])), 14698 Call 14699 ("form1",F32, 14700 TP[LW(0,5),Var("rt",FTy 5),Var("rd",FTy 5),Var("imm5",FTy 5), 14701 LW(60,6)])), 14702 (Call 14703 ("Shift",CTy"instruction", 14704 Call 14705 ("DSRL32",CTy"Shift", 14706 TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("imm5",FTy 5)])), 14707 Call 14708 ("form1",F32, 14709 TP[LW(0,5),Var("rt",FTy 5),Var("rd",FTy 5),Var("imm5",FTy 5), 14710 LW(62,6)])), 14711 (Call 14712 ("Shift",CTy"instruction", 14713 Call 14714 ("DSRA32",CTy"Shift", 14715 TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("imm5",FTy 5)])), 14716 Call 14717 ("form1",F32, 14718 TP[LW(0,5),Var("rt",FTy 5),Var("rd",FTy 5),Var("imm5",FTy 5), 14719 LW(63,6)])), 14720 (Call 14721 ("Branch",CTy"instruction", 14722 Call("BLTZ",CTy"Branch",TP[Var("rs",FTy 5),Var("imm",F16)])), 14723 Call("form2",F32,TP[Var("rs",FTy 5),LW(0,5),Var("imm",F16)])), 14724 (Call 14725 ("Branch",CTy"instruction", 14726 Call("BGEZ",CTy"Branch",TP[Var("rs",FTy 5),Var("imm",F16)])), 14727 Call("form2",F32,TP[Var("rs",FTy 5),LW(1,5),Var("imm",F16)])), 14728 (Call 14729 ("Branch",CTy"instruction", 14730 Call("BLTZL",CTy"Branch",TP[Var("rs",FTy 5),Var("imm",F16)])), 14731 Call("form2",F32,TP[Var("rs",FTy 5),LW(2,5),Var("imm",F16)])), 14732 (Call 14733 ("Branch",CTy"instruction", 14734 Call("BGEZL",CTy"Branch",TP[Var("rs",FTy 5),Var("imm",F16)])), 14735 Call("form2",F32,TP[Var("rs",FTy 5),LW(3,5),Var("imm",F16)])), 14736 (Call 14737 ("Trap",CTy"instruction", 14738 Call("TGEI",CTy"Trap",TP[Var("rs",FTy 5),Var("imm",F16)])), 14739 Call("form2",F32,TP[Var("rs",FTy 5),LW(8,5),Var("imm",F16)])), 14740 (Call 14741 ("Trap",CTy"instruction", 14742 Call("TGEIU",CTy"Trap",TP[Var("rs",FTy 5),Var("imm",F16)])), 14743 Call("form2",F32,TP[Var("rs",FTy 5),LW(9,5),Var("imm",F16)])), 14744 (Call 14745 ("Trap",CTy"instruction", 14746 Call("TLTI",CTy"Trap",TP[Var("rs",FTy 5),Var("imm",F16)])), 14747 Call("form2",F32,TP[Var("rs",FTy 5),LW(10,5),Var("imm",F16)])), 14748 (Call 14749 ("Trap",CTy"instruction", 14750 Call("TLTIU",CTy"Trap",TP[Var("rs",FTy 5),Var("imm",F16)])), 14751 Call("form2",F32,TP[Var("rs",FTy 5),LW(11,5),Var("imm",F16)])), 14752 (Call 14753 ("Trap",CTy"instruction", 14754 Call("TEQI",CTy"Trap",TP[Var("rs",FTy 5),Var("imm",F16)])), 14755 Call("form2",F32,TP[Var("rs",FTy 5),LW(12,5),Var("imm",F16)])), 14756 (Call 14757 ("Trap",CTy"instruction", 14758 Call("TNEI",CTy"Trap",TP[Var("rs",FTy 5),Var("imm",F16)])), 14759 Call("form2",F32,TP[Var("rs",FTy 5),LW(14,5),Var("imm",F16)])), 14760 (Call 14761 ("Branch",CTy"instruction", 14762 Call("BLTZAL",CTy"Branch",TP[Var("rs",FTy 5),Var("imm",F16)])), 14763 Call("form2",F32,TP[Var("rs",FTy 5),LW(16,5),Var("imm",F16)])), 14764 (Call 14765 ("Branch",CTy"instruction", 14766 Call("BGEZAL",CTy"Branch",TP[Var("rs",FTy 5),Var("imm",F16)])), 14767 Call("form2",F32,TP[Var("rs",FTy 5),LW(17,5),Var("imm",F16)])), 14768 (Call 14769 ("Branch",CTy"instruction", 14770 Call("BLTZALL",CTy"Branch",TP[Var("rs",FTy 5),Var("imm",F16)])), 14771 Call("form2",F32,TP[Var("rs",FTy 5),LW(18,5),Var("imm",F16)])), 14772 (Call 14773 ("Branch",CTy"instruction", 14774 Call("BGEZALL",CTy"Branch",TP[Var("rs",FTy 5),Var("imm",F16)])), 14775 Call("form2",F32,TP[Var("rs",FTy 5),LW(19,5),Var("imm",F16)])), 14776 (Call 14777 ("Branch",CTy"instruction", 14778 Call("J",CTy"Branch",Var("imm",FTy 26))), 14779 CC[LW(2,6),Var("imm",FTy 26)]), 14780 (Call 14781 ("Branch",CTy"instruction", 14782 Call("JAL",CTy"Branch",Var("imm",FTy 26))), 14783 CC[LW(3,6),Var("imm",FTy 26)]), 14784 (Call 14785 ("CP",CTy"instruction", 14786 Call 14787 ("MFC0",CTy"CP", 14788 TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("sel",FTy 3)])), 14789 Call 14790 ("form3",F32, 14791 TP[LW(0,5),Var("rt",FTy 5),Var("rd",FTy 5),Var("sel",FTy 3)])), 14792 (Call 14793 ("CP",CTy"instruction", 14794 Call 14795 ("DMFC0",CTy"CP", 14796 TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("sel",FTy 3)])), 14797 Call 14798 ("form3",F32, 14799 TP[LW(1,5),Var("rt",FTy 5),Var("rd",FTy 5),Var("sel",FTy 3)])), 14800 (Call 14801 ("CP",CTy"instruction", 14802 Call 14803 ("MTC0",CTy"CP", 14804 TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("sel",FTy 3)])), 14805 Call 14806 ("form3",F32, 14807 TP[LW(4,5),Var("rt",FTy 5),Var("rd",FTy 5),Var("sel",FTy 3)])), 14808 (Call 14809 ("CP",CTy"instruction", 14810 Call 14811 ("DMTC0",CTy"CP", 14812 TP[Var("rt",FTy 5),Var("rd",FTy 5),Var("sel",FTy 3)])), 14813 Call 14814 ("form3",F32, 14815 TP[LW(5,5),Var("rt",FTy 5),Var("rd",FTy 5),Var("sel",FTy 3)])), 14816 (Call 14817 ("Branch",CTy"instruction", 14818 Call 14819 ("BEQ",CTy"Branch", 14820 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14821 Call 14822 ("form4",F32, 14823 TP[LW(4,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14824 (Call 14825 ("Branch",CTy"instruction", 14826 Call 14827 ("BNE",CTy"Branch", 14828 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14829 Call 14830 ("form4",F32, 14831 TP[LW(5,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14832 (Call 14833 ("Branch",CTy"instruction", 14834 Call("BLEZ",CTy"Branch",TP[Var("rs",FTy 5),Var("imm",F16)])), 14835 Call 14836 ("form4",F32,TP[LW(6,6),Var("rs",FTy 5),LW(0,5),Var("imm",F16)])), 14837 (Call 14838 ("Branch",CTy"instruction", 14839 Call("BGTZ",CTy"Branch",TP[Var("rs",FTy 5),Var("imm",F16)])), 14840 Call 14841 ("form4",F32,TP[LW(7,6),Var("rs",FTy 5),LW(0,5),Var("imm",F16)])), 14842 (Call 14843 ("ArithI",CTy"instruction", 14844 Call 14845 ("ADDI",CTy"ArithI", 14846 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14847 Call 14848 ("form4",F32, 14849 TP[LW(8,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14850 (Call 14851 ("ArithI",CTy"instruction", 14852 Call 14853 ("ADDIU",CTy"ArithI", 14854 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14855 Call 14856 ("form4",F32, 14857 TP[LW(9,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14858 (Call 14859 ("ArithI",CTy"instruction", 14860 Call 14861 ("SLTI",CTy"ArithI", 14862 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14863 Call 14864 ("form4",F32, 14865 TP[LW(10,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14866 (Call 14867 ("ArithI",CTy"instruction", 14868 Call 14869 ("SLTIU",CTy"ArithI", 14870 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14871 Call 14872 ("form4",F32, 14873 TP[LW(11,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14874 (Call 14875 ("ArithI",CTy"instruction", 14876 Call 14877 ("ANDI",CTy"ArithI", 14878 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14879 Call 14880 ("form4",F32, 14881 TP[LW(12,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14882 (Call 14883 ("ArithI",CTy"instruction", 14884 Call 14885 ("ORI",CTy"ArithI", 14886 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14887 Call 14888 ("form4",F32, 14889 TP[LW(13,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14890 (Call 14891 ("ArithI",CTy"instruction", 14892 Call 14893 ("XORI",CTy"ArithI", 14894 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14895 Call 14896 ("form4",F32, 14897 TP[LW(14,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14898 (Call 14899 ("ArithI",CTy"instruction", 14900 Call("LUI",CTy"ArithI",TP[Var("rt",FTy 5),Var("imm",F16)])), 14901 Call 14902 ("form4",F32,TP[LW(15,6),LW(0,5),Var("rt",FTy 5),Var("imm",F16)])), 14903 (Call 14904 ("Branch",CTy"instruction", 14905 Call 14906 ("BEQL",CTy"Branch", 14907 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14908 Call 14909 ("form4",F32, 14910 TP[LW(20,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14911 (Call 14912 ("Branch",CTy"instruction", 14913 Call 14914 ("BNEL",CTy"Branch", 14915 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14916 Call 14917 ("form4",F32, 14918 TP[LW(21,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14919 (Call 14920 ("Branch",CTy"instruction", 14921 Call("BLEZL",CTy"Branch",TP[Var("rs",FTy 5),Var("imm",F16)])), 14922 Call 14923 ("form4",F32,TP[LW(22,6),Var("rs",FTy 5),LW(0,5),Var("imm",F16)])), 14924 (Call 14925 ("Branch",CTy"instruction", 14926 Call("BGTZL",CTy"Branch",TP[Var("rs",FTy 5),Var("imm",F16)])), 14927 Call 14928 ("form4",F32,TP[LW(23,6),Var("rs",FTy 5),LW(0,5),Var("imm",F16)])), 14929 (Call 14930 ("ArithI",CTy"instruction", 14931 Call 14932 ("DADDI",CTy"ArithI", 14933 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14934 Call 14935 ("form4",F32, 14936 TP[LW(24,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14937 (Call 14938 ("ArithI",CTy"instruction", 14939 Call 14940 ("DADDIU",CTy"ArithI", 14941 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14942 Call 14943 ("form4",F32, 14944 TP[LW(25,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14945 (Call 14946 ("Load",CTy"instruction", 14947 Call 14948 ("LDL",CTy"Load", 14949 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14950 Call 14951 ("form4",F32, 14952 TP[LW(26,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14953 (Call 14954 ("Load",CTy"instruction", 14955 Call 14956 ("LDR",CTy"Load", 14957 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14958 Call 14959 ("form4",F32, 14960 TP[LW(27,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14961 (Call 14962 ("Load",CTy"instruction", 14963 Call 14964 ("LB",CTy"Load", 14965 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14966 Call 14967 ("form4",F32, 14968 TP[LW(32,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14969 (Call 14970 ("Load",CTy"instruction", 14971 Call 14972 ("LH",CTy"Load", 14973 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14974 Call 14975 ("form4",F32, 14976 TP[LW(33,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14977 (Call 14978 ("Load",CTy"instruction", 14979 Call 14980 ("LWL",CTy"Load", 14981 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14982 Call 14983 ("form4",F32, 14984 TP[LW(34,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14985 (Call 14986 ("Load",CTy"instruction", 14987 Call 14988 ("LW",CTy"Load", 14989 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14990 Call 14991 ("form4",F32, 14992 TP[LW(35,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14993 (Call 14994 ("Load",CTy"instruction", 14995 Call 14996 ("LBU",CTy"Load", 14997 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 14998 Call 14999 ("form4",F32, 15000 TP[LW(36,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15001 (Call 15002 ("Load",CTy"instruction", 15003 Call 15004 ("LHU",CTy"Load", 15005 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15006 Call 15007 ("form4",F32, 15008 TP[LW(37,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15009 (Call 15010 ("Load",CTy"instruction", 15011 Call 15012 ("LWR",CTy"Load", 15013 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15014 Call 15015 ("form4",F32, 15016 TP[LW(38,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15017 (Call 15018 ("Load",CTy"instruction", 15019 Call 15020 ("LWU",CTy"Load", 15021 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15022 Call 15023 ("form4",F32, 15024 TP[LW(39,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15025 (Call 15026 ("Store",CTy"instruction", 15027 Call 15028 ("SB",CTy"Store", 15029 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15030 Call 15031 ("form4",F32, 15032 TP[LW(40,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15033 (Call 15034 ("Store",CTy"instruction", 15035 Call 15036 ("SH",CTy"Store", 15037 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15038 Call 15039 ("form4",F32, 15040 TP[LW(41,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15041 (Call 15042 ("Store",CTy"instruction", 15043 Call 15044 ("SWL",CTy"Store", 15045 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15046 Call 15047 ("form4",F32, 15048 TP[LW(42,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15049 (Call 15050 ("Store",CTy"instruction", 15051 Call 15052 ("SW",CTy"Store", 15053 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15054 Call 15055 ("form4",F32, 15056 TP[LW(43,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15057 (Call 15058 ("Store",CTy"instruction", 15059 Call 15060 ("SDL",CTy"Store", 15061 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15062 Call 15063 ("form4",F32, 15064 TP[LW(44,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15065 (Call 15066 ("Store",CTy"instruction", 15067 Call 15068 ("SDR",CTy"Store", 15069 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15070 Call 15071 ("form4",F32, 15072 TP[LW(45,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15073 (Call 15074 ("Store",CTy"instruction", 15075 Call 15076 ("SWR",CTy"Store", 15077 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15078 Call 15079 ("form4",F32, 15080 TP[LW(46,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15081 (Call 15082 ("Load",CTy"instruction", 15083 Call 15084 ("LL",CTy"Load", 15085 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15086 Call 15087 ("form4",F32, 15088 TP[LW(48,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15089 (Call 15090 ("Load",CTy"instruction", 15091 Call 15092 ("LLD",CTy"Load", 15093 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15094 Call 15095 ("form4",F32, 15096 TP[LW(52,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15097 (Call 15098 ("Load",CTy"instruction", 15099 Call 15100 ("LD",CTy"Load", 15101 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15102 Call 15103 ("form4",F32, 15104 TP[LW(55,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15105 (Call 15106 ("Store",CTy"instruction", 15107 Call 15108 ("SC",CTy"Store", 15109 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15110 Call 15111 ("form4",F32, 15112 TP[LW(56,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15113 (Call 15114 ("Store",CTy"instruction", 15115 Call 15116 ("SCD",CTy"Store", 15117 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15118 Call 15119 ("form4",F32, 15120 TP[LW(60,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15121 (Call 15122 ("Store",CTy"instruction", 15123 Call 15124 ("SD",CTy"Store", 15125 TP[Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15126 Call 15127 ("form4",F32, 15128 TP[LW(63,6),Var("rs",FTy 5),Var("rt",FTy 5),Var("imm",F16)])), 15129 (Call 15130 ("CACHE",CTy"instruction", 15131 TP[Var("rs",FTy 5),Var("opn",FTy 5),Var("imm",F16)]), 15132 Call 15133 ("form4",F32, 15134 TP[LW(47,6),Var("rs",FTy 5),Var("opn",FTy 5),Var("imm",F16)])), 15135 (Const("SYSCALL",CTy"instruction"),Mop(Cast F32,LW(12,6))), 15136 (Const("BREAK",CTy"instruction"),Mop(Cast F32,LW(13,6))), 15137 (Call("SYNC",CTy"instruction",Var("imm5",FTy 5)), 15138 Mop(Cast F32,CC[Var("imm5",FTy 5),LW(15,6)])), 15139 (Const("TLBR",CTy"instruction"),LW(1107296257,32)), 15140 (Const("TLBWI",CTy"instruction"),LW(1107296258,32)), 15141 (Const("TLBWR",CTy"instruction"),LW(1107296262,32)), 15142 (Const("TLBP",CTy"instruction"),LW(1107296264,32)), 15143 (Const("ERET",CTy"instruction"),LW(1107296280,32)), 15144 (Call("RDHWR",CTy"instruction",TP[Var("rt",FTy 5),Var("rd",FTy 5)]), 15145 Call("form6",F32,TP[Var("rt",FTy 5),Var("rd",FTy 5),LW(59,6)])), 15146 (Const("WAIT",CTy"instruction"),LW(1107296288,32)), 15147 (Const("Unpredictable",CTy"instruction"),LW(133169152,32)), 15148 (Call("COP1",CTy"instruction",Var("j",CTy"COP1")), 15149 Call("COP1Encode",F32,Var("j",CTy"COP1"))), 15150 (Const("ReservedInstruction",CTy"instruction"),LW(0,32))])) 15151 15152val () = Import.finish 0