summaryrefslogtreecommitdiff
path: root/cheri
diff options
context:
space:
mode:
Diffstat (limited to 'cheri')
-rw-r--r--cheri/.gitignore5
-rw-r--r--cheri/Holmakefile11
-rw-r--r--cheri/LOOKING_FOR_SOMETHING.txt1
-rw-r--r--cheri/Makefile137
-rw-r--r--cheri/ROOT4
-rw-r--r--cheri/cheri_insts.sail1353
-rw-r--r--cheri/cheri_prelude_128.sail331
-rw-r--r--cheri/cheri_prelude_256.sail229
-rw-r--r--cheri/cheri_prelude_common.sail534
-rw-r--r--cheri/cheri_types.sail55
-rw-r--r--cheri/sail_latex/commands.tex2667
-rw-r--r--cheri/sail_latex/sailAccessLevel.tex1
-rw-r--r--cheri/sail_latex/sailAccessLevelofnum.tex1
-rw-r--r--cheri/sail_latex/sailBitStr.tex1
-rw-r--r--cheri/sail_latex/sailCPtrCmpOp.tex10
-rw-r--r--cheri/sail_latex/sailCPtrCmpOpofnum.tex1
-rw-r--r--cheri/sail_latex/sailCapCauseReg.tex1
-rw-r--r--cheri/sail_latex/sailCapEx.tex25
-rw-r--r--cheri/sail_latex/sailCapExCode.tex1
-rw-r--r--cheri/sail_latex/sailCapExofnum.tex1
-rw-r--r--cheri/sail_latex/sailCapLen.tex1
-rw-r--r--cheri/sail_latex/sailCapReg.tex1
-rw-r--r--cheri/sail_latex/sailCapStruct.tex22
-rw-r--r--cheri/sail_latex/sailCauseReg.tex1
-rw-r--r--cheri/sail_latex/sailClearRegSet.tex6
-rw-r--r--cheri/sail_latex/sailClearRegSetofnum.tex1
-rw-r--r--cheri/sail_latex/sailComparison.tex10
-rw-r--r--cheri/sail_latex/sailComparisonofnum.tex1
-rw-r--r--cheri/sail_latex/sailContextReg.tex1
-rw-r--r--cheri/sail_latex/sailERETHook.tex1
-rw-r--r--cheri/sail_latex/sailException.tex5
-rw-r--r--cheri/sail_latex/sailExceptionCode.tex1
-rw-r--r--cheri/sail_latex/sailExceptionofnum.tex1
-rw-r--r--cheri/sail_latex/sailMAX.tex1
-rw-r--r--cheri/sail_latex/sailMEMea.tex2
-rw-r--r--cheri/sail_latex/sailMEMeaconditional.tex2
-rw-r--r--cheri/sail_latex/sailMEMr.tex2
-rw-r--r--cheri/sail_latex/sailMEMrreserve.tex2
-rw-r--r--cheri/sail_latex/sailMEMrreservewrapper.tex1
-rw-r--r--cheri/sail_latex/sailMEMrtag.tex1
-rw-r--r--cheri/sail_latex/sailMEMrtagged.tex1
-rw-r--r--cheri/sail_latex/sailMEMrtaggedreserve.tex1
-rw-r--r--cheri/sail_latex/sailMEMrwrapper.tex1
-rw-r--r--cheri/sail_latex/sailMEMsync.tex2
-rw-r--r--cheri/sail_latex/sailMEMval.tex2
-rw-r--r--cheri/sail_latex/sailMEMvalconditional.tex2
-rw-r--r--cheri/sail_latex/sailMEMwconditionalwrapper.tex1
-rw-r--r--cheri/sail_latex/sailMEMwtag.tex1
-rw-r--r--cheri/sail_latex/sailMEMwtagged.tex1
-rw-r--r--cheri/sail_latex/sailMEMwtaggedconditional.tex1
-rw-r--r--cheri/sail_latex/sailMEMwwrapper.tex1
-rw-r--r--cheri/sail_latex/sailMIPSread.tex1
-rw-r--r--cheri/sail_latex/sailMIPSwrite.tex1
-rw-r--r--cheri/sail_latex/sailMemAccessType.tex1
-rw-r--r--cheri/sail_latex/sailMemAccessTypeofnum.tex1
-rw-r--r--cheri/sail_latex/sailMkCapCauseReg.tex1
-rw-r--r--cheri/sail_latex/sailMkCauseReg.tex1
-rw-r--r--cheri/sail_latex/sailMkContextReg.tex1
-rw-r--r--cheri/sail_latex/sailMkStatusReg.tex1
-rw-r--r--cheri/sail_latex/sailMkTLBEntry.tex1
-rw-r--r--cheri/sail_latex/sailMkTLBEntryHiReg.tex1
-rw-r--r--cheri/sail_latex/sailMkTLBEntryLoReg.tex1
-rw-r--r--cheri/sail_latex/sailMkXContextReg.tex1
-rw-r--r--cheri/sail_latex/sailNotWordVal.tex1
-rw-r--r--cheri/sail_latex/sailReadRAM.tex2
-rw-r--r--cheri/sail_latex/sailSignalException.tex1
-rw-r--r--cheri/sail_latex/sailSignalExceptionBadAddr.tex1
-rw-r--r--cheri/sail_latex/sailSignalExceptionMIPS.tex1
-rw-r--r--cheri/sail_latex/sailSignalExceptionTLB.tex1
-rw-r--r--cheri/sail_latex/sailStatusReg.tex1
-rw-r--r--cheri/sail_latex/sailTLBEntry.tex1
-rw-r--r--cheri/sail_latex/sailTLBEntryHiReg.tex1
-rw-r--r--cheri/sail_latex/sailTLBEntryLoReg.tex1
-rw-r--r--cheri/sail_latex/sailTLBIndexT.tex1
-rw-r--r--cheri/sail_latex/sailTLBTranslate.tex1
-rw-r--r--cheri/sail_latex/sailTLBTranslateC.tex1
-rw-r--r--cheri/sail_latex/sailTLBTranslatetwo.tex1
-rw-r--r--cheri/sail_latex/sailTLBWriteEntry.tex1
-rw-r--r--cheri/sail_latex/sailTranslatePC.tex1
-rw-r--r--cheri/sail_latex/sailWordType.tex1
-rw-r--r--cheri/sail_latex/sailWordTypeUnaligned.tex1
-rw-r--r--cheri/sail_latex/sailWordTypeUnalignedofnum.tex1
-rw-r--r--cheri/sail_latex/sailWordTypeofnum.tex1
-rw-r--r--cheri/sail_latex/sailWriteRAM.tex2
-rw-r--r--cheri/sail_latex/sailXContextReg.tex1
-rw-r--r--cheri/sail_latex/sailabsatom.tex7
-rw-r--r--cheri/sail_latex/sailabsint.tex6
-rw-r--r--cheri/sail_latex/sailaddatom.tex2
-rw-r--r--cheri/sail_latex/sailaddbits.tex6
-rw-r--r--cheri/sail_latex/sailaddbitsint.tex6
-rw-r--r--cheri/sail_latex/sailaddint.tex1
-rw-r--r--cheri/sail_latex/sailaddrWrapper.tex1
-rw-r--r--cheri/sail_latex/sailaddrWrapperUnaligned.tex1
-rw-r--r--cheri/sail_latex/sailaddrange.tex2
-rw-r--r--cheri/sail_latex/sailaddvec.tex1
-rw-r--r--cheri/sail_latex/sailaddvecint.tex1
-rw-r--r--cheri/sail_latex/sailandbits.tex1
-rw-r--r--cheri/sail_latex/sailandbool.tex1
-rw-r--r--cheri/sail_latex/sailappend.tex1
-rw-r--r--cheri/sail_latex/sailappendsixfour.tex1
-rw-r--r--cheri/sail_latex/sailbits.tex1
-rw-r--r--cheri/sail_latex/sailbitstobool.tex1
-rw-r--r--cheri/sail_latex/sailbittobool.tex1
-rw-r--r--cheri/sail_latex/sailbitvectoraccess.tex6
-rw-r--r--cheri/sail_latex/sailbitvectorconcat.tex2
-rw-r--r--cheri/sail_latex/sailbitvectorlength.tex1
-rw-r--r--cheri/sail_latex/sailbitvectorupdate.tex6
-rw-r--r--cheri/sail_latex/sailbooltobits.tex1
-rw-r--r--cheri/sail_latex/sailcapRegToCapStruct.tex1
-rw-r--r--cheri/sail_latex/sailcapStructToCapReg.tex1
-rw-r--r--cheri/sail_latex/sailcapStructToMemBits.tex1
-rw-r--r--cheri/sail_latex/sailcapStructToMemBitstwofivesix.tex1
-rw-r--r--cheri/sail_latex/sailcapToString.tex1
-rw-r--r--cheri/sail_latex/sailcastunitvec.tex1
-rw-r--r--cheri/sail_latex/sailcheckCPtwousable.tex1
-rw-r--r--cheri/sail_latex/sailcheckCPzeroAccess.tex1
-rw-r--r--cheri/sail_latex/sailcheckDDCPerms.tex1
-rw-r--r--cheri/sail_latex/sailcompare.tex1
-rw-r--r--cheri/sail_latex/sailconcatstr.tex1
-rw-r--r--cheri/sail_latex/sailcptwonextpc.tex1
-rw-r--r--cheri/sail_latex/saildecode.tex1
-rw-r--r--cheri/sail_latex/saildecodefailure.tex6
-rw-r--r--cheri/sail_latex/saildecodefailureofnum.tex1
-rw-r--r--cheri/sail_latex/saildiv.tex7
-rw-r--r--cheri/sail_latex/saildivint.tex7
-rw-r--r--cheri/sail_latex/saildumpcptwostate.tex1
-rw-r--r--cheri/sail_latex/saileqanything.tex1
-rw-r--r--cheri/sail_latex/saileqatom.tex1
-rw-r--r--cheri/sail_latex/saileqbit.tex1
-rw-r--r--cheri/sail_latex/saileqbits.tex6
-rw-r--r--cheri/sail_latex/saileqbittwo.tex1
-rw-r--r--cheri/sail_latex/saileqbool.tex1
-rw-r--r--cheri/sail_latex/saileqint.tex1
-rw-r--r--cheri/sail_latex/saileqrange.tex1
-rw-r--r--cheri/sail_latex/sailexecute.tex1
-rw-r--r--cheri/sail_latex/sailexecutebranch.tex1
-rw-r--r--cheri/sail_latex/sailexecutebranchpcc.tex1
-rw-r--r--cheri/sail_latex/sailextendLoad.tex1
-rw-r--r--cheri/sail_latex/sailfnAccessLevelofnum.tex5
-rw-r--r--cheri/sail_latex/sailfnCPtrCmpOpofnum.tex10
-rw-r--r--cheri/sail_latex/sailfnCapExCode.tex26
-rw-r--r--cheri/sail_latex/sailfnCapExofnum.tex25
-rw-r--r--cheri/sail_latex/sailfnClearRegSetofnum.tex6
-rw-r--r--cheri/sail_latex/sailfnComparisonofnum.tex10
-rw-r--r--cheri/sail_latex/sailfnERETHook.tex6
-rw-r--r--cheri/sail_latex/sailfnExceptionCode.tex23
-rw-r--r--cheri/sail_latex/sailfnExceptionofnum.tex21
-rw-r--r--cheri/sail_latex/sailfnMAX.tex1
-rw-r--r--cheri/sail_latex/sailfnMEMea.tex1
-rw-r--r--cheri/sail_latex/sailfnMEMeaconditional.tex1
-rw-r--r--cheri/sail_latex/sailfnMEMr.tex1
-rw-r--r--cheri/sail_latex/sailfnMEMrreserve.tex1
-rw-r--r--cheri/sail_latex/sailfnMEMrreservewrapper.tex2
-rw-r--r--cheri/sail_latex/sailfnMEMrtagged.tex8
-rw-r--r--cheri/sail_latex/sailfnMEMrtaggedreserve.tex8
-rw-r--r--cheri/sail_latex/sailfnMEMrwrapper.tex13
-rw-r--r--cheri/sail_latex/sailfnMEMsync.tex1
-rw-r--r--cheri/sail_latex/sailfnMEMval.tex1
-rw-r--r--cheri/sail_latex/sailfnMEMvalconditional.tex1
-rw-r--r--cheri/sail_latex/sailfnMEMwconditionalwrapper.tex11
-rw-r--r--cheri/sail_latex/sailfnMEMwtagged.tex8
-rw-r--r--cheri/sail_latex/sailfnMEMwtaggedconditional.tex10
-rw-r--r--cheri/sail_latex/sailfnMEMwwrapper.tex16
-rw-r--r--cheri/sail_latex/sailfnMIPSread.tex1
-rw-r--r--cheri/sail_latex/sailfnMIPSwrite.tex1
-rw-r--r--cheri/sail_latex/sailfnMemAccessTypeofnum.tex5
-rw-r--r--cheri/sail_latex/sailfnMkCapCauseReg.tex1
-rw-r--r--cheri/sail_latex/sailfnMkCauseReg.tex1
-rw-r--r--cheri/sail_latex/sailfnMkContextReg.tex1
-rw-r--r--cheri/sail_latex/sailfnMkStatusReg.tex1
-rw-r--r--cheri/sail_latex/sailfnMkTLBEntry.tex1
-rw-r--r--cheri/sail_latex/sailfnMkTLBEntryHiReg.tex1
-rw-r--r--cheri/sail_latex/sailfnMkTLBEntryLoReg.tex1
-rw-r--r--cheri/sail_latex/sailfnMkXContextReg.tex1
-rw-r--r--cheri/sail_latex/sailfnNotWordVal.tex2
-rw-r--r--cheri/sail_latex/sailfnSignalException.tex18
-rw-r--r--cheri/sail_latex/sailfnSignalExceptionBadAddr.tex5
-rw-r--r--cheri/sail_latex/sailfnSignalExceptionMIPS.tex39
-rw-r--r--cheri/sail_latex/sailfnSignalExceptionTLB.tex9
-rw-r--r--cheri/sail_latex/sailfnTLBTranslate.tex2
-rw-r--r--cheri/sail_latex/sailfnTLBTranslateC.tex31
-rw-r--r--cheri/sail_latex/sailfnTLBTranslatetwo.tex36
-rw-r--r--cheri/sail_latex/sailfnTLBWriteEntry.tex36
-rw-r--r--cheri/sail_latex/sailfnTranslatePC.tex15
-rw-r--r--cheri/sail_latex/sailfnWordTypeUnalignedofnum.tex6
-rw-r--r--cheri/sail_latex/sailfnWordTypeofnum.tex6
-rw-r--r--cheri/sail_latex/sailfnaddrWrapper.tex16
-rw-r--r--cheri/sail_latex/sailfnaddrWrapperUnaligned.tex24
-rw-r--r--cheri/sail_latex/sailfnbitstobool.tex1
-rw-r--r--cheri/sail_latex/sailfnbittobool.tex4
-rw-r--r--cheri/sail_latex/sailfnbooltobits.tex1
-rw-r--r--cheri/sail_latex/sailfncapRegToCapStruct.tex23
-rw-r--r--cheri/sail_latex/sailfncapStructToCapReg.tex1
-rw-r--r--cheri/sail_latex/sailfncapStructToMemBits.tex2
-rw-r--r--cheri/sail_latex/sailfncapStructToMemBitstwofivesix.tex10
-rw-r--r--cheri/sail_latex/sailfncapToString.tex16
-rw-r--r--cheri/sail_latex/sailfncastunitvec.tex4
-rw-r--r--cheri/sail_latex/sailfncheckCPtwousable.tex5
-rw-r--r--cheri/sail_latex/sailfncheckCPzeroAccess.tex9
-rw-r--r--cheri/sail_latex/sailfncheckDDCPerms.tex12
-rw-r--r--cheri/sail_latex/sailfncompare.tex11
-rw-r--r--cheri/sail_latex/sailfncptwonextpc.tex8
-rw-r--r--cheri/sail_latex/sailfndecodeSome.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeADD.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeADDI.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeADDIU.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeADDU.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeAND.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeANDI.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeBCMPZ.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeBEQ.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeBREAK.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCACHE.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCAndPerm.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCBX.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCBZ.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCBuildCap.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCCSeal.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCCall.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCCheckPerm.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCCheckType.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCClearTag.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCCopyType.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCFromPtr.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCGetAddr.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCGetBase.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCGetCauserd.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCGetLen.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCGetOffset.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCGetPCCSetOffset.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCGetPCCcd.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCGetPerm.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCGetSealed.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCGetTag.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCGetType.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCIncOffset.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCIncOffsetImmediate.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCJALR.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCLC.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCLoad.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCMOVX.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCPtrCmp.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCReadHwr.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCReturn.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCSC.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCSeal.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCSetBounds.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCSetBoundsExact.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCSetBoundsImmediate.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCSetCausers.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCSetCausert.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCSetOffset.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCStore.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCSub.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCTestSubset.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCToPtr.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCUnseal.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCWriteHwr.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeClearRegs.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeCtwoDumprt.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeDADD.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeDADDI.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeDADDIU.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeDADDU.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeDDIV.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeDDIVU.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeDIV.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeDIVU.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeDMULT.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeDMULTU.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeDSLL.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeDSLLV.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeDSLLthreetwo.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeDSRA.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeDSRAV.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeDSRAthreetwo.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeDSRL.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeDSRLV.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeDSRLthreetwo.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeDSUB.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeDSUBU.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeERET.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeHCF.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeJALR.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeJALoffset.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeJRrs.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeJoffset.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeLDL.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeLDR.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeLUI.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeLWL.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeLWR.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeLoad.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeMADD.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeMADDU.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeMFCzero.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeMFHIrd.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeMFLOrd.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeMOVN.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeMOVZ.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeMSUB.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeMSUBU.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeMTCzero.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeMTHIrs.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeMTLOrs.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeMUL.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeMULT.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeMULTU.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeNOR.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeOR.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeORI.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeRDHWR.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeRI.tex1
-rw-r--r--cheri/sail_latex/sailfndecodeSomeSDL.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeSDR.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeSLL.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeSLLV.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeSLT.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeSLTI.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeSLTIU.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeSLTU.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeSRA.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeSRAV.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeSRL.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeSRLV.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeSUB.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeSUBU.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeSWL.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeSWR.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeSYNC.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeSYSCALL.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeStore.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeTRAPIMM.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeTRAPREG.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeWAIT.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeXOR.tex2
-rw-r--r--cheri/sail_latex/sailfndecodeSomeXORI.tex2
-rw-r--r--cheri/sail_latex/sailfndecodefailureofnum.tex6
-rw-r--r--cheri/sail_latex/sailfndumpcptwostate.tex17
-rw-r--r--cheri/sail_latex/sailfnexecuteADD.tex13
-rw-r--r--cheri/sail_latex/sailfnexecuteADDI.tex12
-rw-r--r--cheri/sail_latex/sailfnexecuteADDIU.tex8
-rw-r--r--cheri/sail_latex/sailfnexecuteADDU.tex9
-rw-r--r--cheri/sail_latex/sailfnexecuteAND.tex4
-rw-r--r--cheri/sail_latex/sailfnexecuteANDI.tex4
-rw-r--r--cheri/sail_latex/sailfnexecuteBCMPZ.tex17
-rw-r--r--cheri/sail_latex/sailfnexecuteBEQ.tex13
-rw-r--r--cheri/sail_latex/sailfnexecuteBREAK.tex4
-rw-r--r--cheri/sail_latex/sailfnexecuteCACHE.tex2
-rw-r--r--cheri/sail_latex/sailfnexecuteCAndPerm.tex18
-rw-r--r--cheri/sail_latex/sailfnexecuteCBX.tex11
-rw-r--r--cheri/sail_latex/sailfnexecuteCBZ.tex11
-rw-r--r--cheri/sail_latex/sailfnexecuteCBuildCap.tex40
-rw-r--r--cheri/sail_latex/sailfnexecuteCCSeal.tex37
-rw-r--r--cheri/sail_latex/sailfnexecuteCCall.tex32
-rw-r--r--cheri/sail_latex/sailfnexecuteCCheckPerm.tex13
-rw-r--r--cheri/sail_latex/sailfnexecuteCCheckType.tex20
-rw-r--r--cheri/sail_latex/sailfnexecuteCClearTag.tex13
-rw-r--r--cheri/sail_latex/sailfnexecuteCCopyType.tex31
-rw-r--r--cheri/sail_latex/sailfnexecuteCFromPtr.tex22
-rw-r--r--cheri/sail_latex/sailfnexecuteCGetAddr.tex9
-rw-r--r--cheri/sail_latex/sailfnexecuteCGetBase.tex9
-rw-r--r--cheri/sail_latex/sailfnexecuteCGetCause.tex8
-rw-r--r--cheri/sail_latex/sailfnexecuteCGetLen.tex10
-rw-r--r--cheri/sail_latex/sailfnexecuteCGetOffset.tex9
-rw-r--r--cheri/sail_latex/sailfnexecuteCGetPCC.tex11
-rw-r--r--cheri/sail_latex/sailfnexecuteCGetPCCSetOffset.tex14
-rw-r--r--cheri/sail_latex/sailfnexecuteCGetPerm.tex9
-rw-r--r--cheri/sail_latex/sailfnexecuteCGetSealed.tex9
-rw-r--r--cheri/sail_latex/sailfnexecuteCGetTag.tex9
-rw-r--r--cheri/sail_latex/sailfnexecuteCGetType.tex11
-rw-r--r--cheri/sail_latex/sailfnexecuteCIncOffset.tex18
-rw-r--r--cheri/sail_latex/sailfnexecuteCIncOffsetImmediate.tex18
-rw-r--r--cheri/sail_latex/sailfnexecuteCJALR.tex35
-rw-r--r--cheri/sail_latex/sailfnexecuteCLC.tex44
-rw-r--r--cheri/sail_latex/sailfnexecuteCLoad.tex39
-rw-r--r--cheri/sail_latex/sailfnexecuteCMOVX.tex10
-rw-r--r--cheri/sail_latex/sailfnexecuteCPtrCmp.tex43
-rw-r--r--cheri/sail_latex/sailfnexecuteCReadHwr.tex35
-rw-r--r--cheri/sail_latex/sailfnexecuteCReturn.tex5
-rw-r--r--cheri/sail_latex/sailfnexecuteCSC.tex48
-rw-r--r--cheri/sail_latex/sailfnexecuteCSeal.tex37
-rw-r--r--cheri/sail_latex/sailfnexecuteCSetBounds.tex25
-rw-r--r--cheri/sail_latex/sailfnexecuteCSetBoundsExact.tex28
-rw-r--r--cheri/sail_latex/sailfnexecuteCSetBoundsImmediate.tex25
-rw-r--r--cheri/sail_latex/sailfnexecuteCSetCause.tex12
-rw-r--r--cheri/sail_latex/sailfnexecuteCSetOffset.tex18
-rw-r--r--cheri/sail_latex/sailfnexecuteCStore.tex53
-rw-r--r--cheri/sail_latex/sailfnexecuteCSub.tex14
-rw-r--r--cheri/sail_latex/sailfnexecuteCTestSubset.tex29
-rw-r--r--cheri/sail_latex/sailfnexecuteCToPtr.tex27
-rw-r--r--cheri/sail_latex/sailfnexecuteCUnseal.tex35
-rw-r--r--cheri/sail_latex/sailfnexecuteCWriteHwr.tex35
-rw-r--r--cheri/sail_latex/sailfnexecuteClearRegs.tex21
-rw-r--r--cheri/sail_latex/sailfnexecuteCtwoDump.tex2
-rw-r--r--cheri/sail_latex/sailfnexecuteDADD.tex10
-rw-r--r--cheri/sail_latex/sailfnexecuteDADDI.tex10
-rw-r--r--cheri/sail_latex/sailfnexecuteDADDIU.tex4
-rw-r--r--cheri/sail_latex/sailfnexecuteDADDU.tex4
-rw-r--r--cheri/sail_latex/sailfnexecuteDDIV.tex16
-rw-r--r--cheri/sail_latex/sailfnexecuteDDIVU.tex16
-rw-r--r--cheri/sail_latex/sailfnexecuteDIV.tex19
-rw-r--r--cheri/sail_latex/sailfnexecuteDIVU.tex19
-rw-r--r--cheri/sail_latex/sailfnexecuteDMULT.tex6
-rw-r--r--cheri/sail_latex/sailfnexecuteDMULTU.tex6
-rw-r--r--cheri/sail_latex/sailfnexecuteDSLL.tex5
-rw-r--r--cheri/sail_latex/sailfnexecuteDSLLV.tex4
-rw-r--r--cheri/sail_latex/sailfnexecuteDSLLthreetwo.tex4
-rw-r--r--cheri/sail_latex/sailfnexecuteDSRA.tex5
-rw-r--r--cheri/sail_latex/sailfnexecuteDSRAV.tex6
-rw-r--r--cheri/sail_latex/sailfnexecuteDSRAthreetwo.tex6
-rw-r--r--cheri/sail_latex/sailfnexecuteDSRL.tex5
-rw-r--r--cheri/sail_latex/sailfnexecuteDSRLV.tex6
-rw-r--r--cheri/sail_latex/sailfnexecuteDSRLthreetwo.tex6
-rw-r--r--cheri/sail_latex/sailfnexecuteDSUB.tex10
-rw-r--r--cheri/sail_latex/sailfnexecuteDSUBU.tex4
-rw-r--r--cheri/sail_latex/sailfnexecuteERET.tex16
-rw-r--r--cheri/sail_latex/sailfnexecuteHCF.tex2
-rw-r--r--cheri/sail_latex/sailfnexecuteJ.tex4
-rw-r--r--cheri/sail_latex/sailfnexecuteJAL.tex5
-rw-r--r--cheri/sail_latex/sailfnexecuteJALR.tex5
-rw-r--r--cheri/sail_latex/sailfnexecuteJR.tex4
-rw-r--r--cheri/sail_latex/sailfnexecuteLDL.tex20
-rw-r--r--cheri/sail_latex/sailfnexecuteLDR.tex20
-rw-r--r--cheri/sail_latex/sailfnexecuteLUI.tex4
-rw-r--r--cheri/sail_latex/sailfnexecuteLWL.tex17
-rw-r--r--cheri/sail_latex/sailfnexecuteLWR.tex17
-rw-r--r--cheri/sail_latex/sailfnexecuteLoad.tex30
-rw-r--r--cheri/sail_latex/sailfnexecuteMADD.tex12
-rw-r--r--cheri/sail_latex/sailfnexecuteMADDU.tex12
-rw-r--r--cheri/sail_latex/sailfnexecuteMFCzero.tex70
-rw-r--r--cheri/sail_latex/sailfnexecuteMFHI.tex4
-rw-r--r--cheri/sail_latex/sailfnexecuteMFLO.tex4
-rw-r--r--cheri/sail_latex/sailfnexecuteMOVN.tex5
-rw-r--r--cheri/sail_latex/sailfnexecuteMOVZ.tex5
-rw-r--r--cheri/sail_latex/sailfnexecuteMSUB.tex12
-rw-r--r--cheri/sail_latex/sailfnexecuteMSUBU.tex12
-rw-r--r--cheri/sail_latex/sailfnexecuteMTCzero.tex52
-rw-r--r--cheri/sail_latex/sailfnexecuteMTHI.tex4
-rw-r--r--cheri/sail_latex/sailfnexecuteMTLO.tex4
-rw-r--r--cheri/sail_latex/sailfnexecuteMUL.tex15
-rw-r--r--cheri/sail_latex/sailfnexecuteMULT.tex11
-rw-r--r--cheri/sail_latex/sailfnexecuteMULTU.tex11
-rw-r--r--cheri/sail_latex/sailfnexecuteNOR.tex4
-rw-r--r--cheri/sail_latex/sailfnexecuteOR.tex4
-rw-r--r--cheri/sail_latex/sailfnexecuteORI.tex4
-rw-r--r--cheri/sail_latex/sailfnexecuteRDHWR.tex18
-rw-r--r--cheri/sail_latex/sailfnexecuteRI.tex2
-rw-r--r--cheri/sail_latex/sailfnexecuteSDL.tex19
-rw-r--r--cheri/sail_latex/sailfnexecuteSDR.tex20
-rw-r--r--cheri/sail_latex/sailfnexecuteSLL.tex5
-rw-r--r--cheri/sail_latex/sailfnexecuteSLLV.tex6
-rw-r--r--cheri/sail_latex/sailfnexecuteSLT.tex4
-rw-r--r--cheri/sail_latex/sailfnexecuteSLTI.tex6
-rw-r--r--cheri/sail_latex/sailfnexecuteSLTIU.tex6
-rw-r--r--cheri/sail_latex/sailfnexecuteSLTU.tex6
-rw-r--r--cheri/sail_latex/sailfnexecuteSRA.tex10
-rw-r--r--cheri/sail_latex/sailfnexecuteSRAV.tex11
-rw-r--r--cheri/sail_latex/sailfnexecuteSRL.tex10
-rw-r--r--cheri/sail_latex/sailfnexecuteSRLV.tex11
-rw-r--r--cheri/sail_latex/sailfnexecuteSUB.tex13
-rw-r--r--cheri/sail_latex/sailfnexecuteSUBU.tex9
-rw-r--r--cheri/sail_latex/sailfnexecuteSWL.tex15
-rw-r--r--cheri/sail_latex/sailfnexecuteSWR.tex16
-rw-r--r--cheri/sail_latex/sailfnexecuteSYNC.tex2
-rw-r--r--cheri/sail_latex/sailfnexecuteSYSCALL.tex4
-rw-r--r--cheri/sail_latex/sailfnexecuteStore.tex29
-rw-r--r--cheri/sail_latex/sailfnexecuteTLBP.tex14
-rw-r--r--cheri/sail_latex/sailfnexecuteTLBR.tex24
-rw-r--r--cheri/sail_latex/sailfnexecuteTLBWI.tex4
-rw-r--r--cheri/sail_latex/sailfnexecuteTLBWR.tex4
-rw-r--r--cheri/sail_latex/sailfnexecuteTRAPIMM.tex8
-rw-r--r--cheri/sail_latex/sailfnexecuteTRAPREG.tex8
-rw-r--r--cheri/sail_latex/sailfnexecuteWAIT.tex3
-rw-r--r--cheri/sail_latex/sailfnexecuteXOR.tex4
-rw-r--r--cheri/sail_latex/sailfnexecuteXORI.tex4
-rw-r--r--cheri/sail_latex/sailfnexecutebranch.tex4
-rw-r--r--cheri/sail_latex/sailfnexecutebranchpcc.tex5
-rw-r--r--cheri/sail_latex/sailfnextendLoad.tex6
-rw-r--r--cheri/sail_latex/sailfngetAccessLevel.tex10
-rw-r--r--cheri/sail_latex/sailfngetCapBase.tex1
-rw-r--r--cheri/sail_latex/sailfngetCapCauseRegExcCode.tex1
-rw-r--r--cheri/sail_latex/sailfngetCapCauseRegRegNum.tex1
-rw-r--r--cheri/sail_latex/sailfngetCapCauseRegbits.tex1
-rw-r--r--cheri/sail_latex/sailfngetCapCursor.tex1
-rw-r--r--cheri/sail_latex/sailfngetCapLength.tex1
-rw-r--r--cheri/sail_latex/sailfngetCapOffset.tex1
-rw-r--r--cheri/sail_latex/sailfngetCapPerms.tex16
-rw-r--r--cheri/sail_latex/sailfngetCapTop.tex1
-rw-r--r--cheri/sail_latex/sailfngetCauseRegBD.tex1
-rw-r--r--cheri/sail_latex/sailfngetCauseRegCE.tex1
-rw-r--r--cheri/sail_latex/sailfngetCauseRegExcCode.tex1
-rw-r--r--cheri/sail_latex/sailfngetCauseRegIP.tex1
-rw-r--r--cheri/sail_latex/sailfngetCauseRegIV.tex1
-rw-r--r--cheri/sail_latex/sailfngetCauseRegWP.tex1
-rw-r--r--cheri/sail_latex/sailfngetCauseRegbits.tex1
-rw-r--r--cheri/sail_latex/sailfngetContextRegBadVPNtwo.tex1
-rw-r--r--cheri/sail_latex/sailfngetContextRegPTEBase.tex1
-rw-r--r--cheri/sail_latex/sailfngetContextRegbits.tex1
-rw-r--r--cheri/sail_latex/sailfngetStatusRegBEV.tex1
-rw-r--r--cheri/sail_latex/sailfngetStatusRegCU.tex1
-rw-r--r--cheri/sail_latex/sailfngetStatusRegERL.tex1
-rw-r--r--cheri/sail_latex/sailfngetStatusRegEXL.tex1
-rw-r--r--cheri/sail_latex/sailfngetStatusRegIE.tex1
-rw-r--r--cheri/sail_latex/sailfngetStatusRegIM.tex1
-rw-r--r--cheri/sail_latex/sailfngetStatusRegKSU.tex1
-rw-r--r--cheri/sail_latex/sailfngetStatusRegKX.tex1
-rw-r--r--cheri/sail_latex/sailfngetStatusRegSX.tex1
-rw-r--r--cheri/sail_latex/sailfngetStatusRegUX.tex1
-rw-r--r--cheri/sail_latex/sailfngetStatusRegbits.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntryHiRegASID.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntryHiRegR.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntryHiRegVPNtwo.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntryHiRegbits.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntryLoRegC.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntryLoRegCapL.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntryLoRegCapS.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntryLoRegD.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntryLoRegG.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntryLoRegPFN.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntryLoRegV.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntryLoRegbits.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntryasid.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntrybits.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntrycaplone.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntrycaplzero.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntrycapsone.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntrycapszero.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntrycone.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntryczero.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntrydone.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntrydzero.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntryg.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntrypagemask.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntrypfnone.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntrypfnzero.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntryr.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntryvalid.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntryvone.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntryvpntwo.tex1
-rw-r--r--cheri/sail_latex/sailfngetTLBEntryvzero.tex1
-rw-r--r--cheri/sail_latex/sailfngetXContextRegXBadVPNtwo.tex1
-rw-r--r--cheri/sail_latex/sailfngetXContextRegXPTEBase.tex1
-rw-r--r--cheri/sail_latex/sailfngetXContextRegXR.tex1
-rw-r--r--cheri/sail_latex/sailfngetXContextRegbits.tex1
-rw-r--r--cheri/sail_latex/sailfngrantsAccess.tex2
-rw-r--r--cheri/sail_latex/sailfnincCapOffset.tex3
-rw-r--r--cheri/sail_latex/sailfnincrementCPzeroCount.tex17
-rw-r--r--cheri/sail_latex/sailfninitcptwostate.tex19
-rw-r--r--cheri/sail_latex/sailfninitcpzerostate.tex3
-rw-r--r--cheri/sail_latex/sailfnintofAccessLevel.tex6
-rw-r--r--cheri/sail_latex/sailfninttocap.tex2
-rw-r--r--cheri/sail_latex/sailfnisAddressAligned.tex3
-rw-r--r--cheri/sail_latex/sailfnisnone.tex4
-rw-r--r--cheri/sail_latex/sailfnissome.tex4
-rw-r--r--cheri/sail_latex/sailfnmask.tex1
-rw-r--r--cheri/sail_latex/sailfnmemBitsToCapBits.tex2
-rw-r--r--cheri/sail_latex/sailfnmipssignextend.tex1
-rw-r--r--cheri/sail_latex/sailfnmipszzeroextend.tex1
-rw-r--r--cheri/sail_latex/sailfnneqanything.tex1
-rw-r--r--cheri/sail_latex/sailfnneqatom.tex1
-rw-r--r--cheri/sail_latex/sailfnneqbool.tex1
-rw-r--r--cheri/sail_latex/sailfnneqint.tex1
-rw-r--r--cheri/sail_latex/sailfnneqrange.tex1
-rw-r--r--cheri/sail_latex/sailfnneqvec.tex1
-rw-r--r--cheri/sail_latex/sailfnnumofAccessLevel.tex5
-rw-r--r--cheri/sail_latex/sailfnnumofCPtrCmpOp.tex10
-rw-r--r--cheri/sail_latex/sailfnnumofCapEx.tex25
-rw-r--r--cheri/sail_latex/sailfnnumofClearRegSet.tex6
-rw-r--r--cheri/sail_latex/sailfnnumofComparison.tex10
-rw-r--r--cheri/sail_latex/sailfnnumofException.tex21
-rw-r--r--cheri/sail_latex/sailfnnumofMemAccessType.tex5
-rw-r--r--cheri/sail_latex/sailfnnumofWordType.tex6
-rw-r--r--cheri/sail_latex/sailfnnumofWordTypeUnaligned.tex6
-rw-r--r--cheri/sail_latex/sailfnnumofdecodefailure.tex6
-rw-r--r--cheri/sail_latex/sailfnones.tex1
-rw-r--r--cheri/sail_latex/sailfnpccaccesssystemregs.tex3
-rw-r--r--cheri/sail_latex/sailfnrGPR.tex4
-rw-r--r--cheri/sail_latex/sailfnraisectwoexception.tex6
-rw-r--r--cheri/sail_latex/sailfnraisectwoexceptioneight.tex9
-rw-r--r--cheri/sail_latex/sailfnraisectwoexceptionnoreg.tex2
-rw-r--r--cheri/sail_latex/sailfnreadCapReg.tex6
-rw-r--r--cheri/sail_latex/sailfnreadCapRegDDC.tex3
-rw-r--r--cheri/sail_latex/sailfnregisterinaccessible.tex7
-rw-r--r--cheri/sail_latex/sailfnsailmask.tex1
-rw-r--r--cheri/sail_latex/sailfnsealCap.tex2
-rw-r--r--cheri/sail_latex/sailfnsetCapBounds.tex3
-rw-r--r--cheri/sail_latex/sailfnsetCapCauseRegExcCode.tex1
-rw-r--r--cheri/sail_latex/sailfnsetCapCauseRegRegNum.tex1
-rw-r--r--cheri/sail_latex/sailfnsetCapCauseRegbits.tex1
-rw-r--r--cheri/sail_latex/sailfnsetCapOffset.tex2
-rw-r--r--cheri/sail_latex/sailfnsetCapPerms.tex16
-rw-r--r--cheri/sail_latex/sailfnsetCauseRegBD.tex1
-rw-r--r--cheri/sail_latex/sailfnsetCauseRegCE.tex1
-rw-r--r--cheri/sail_latex/sailfnsetCauseRegExcCode.tex1
-rw-r--r--cheri/sail_latex/sailfnsetCauseRegIP.tex1
-rw-r--r--cheri/sail_latex/sailfnsetCauseRegIV.tex1
-rw-r--r--cheri/sail_latex/sailfnsetCauseRegWP.tex1
-rw-r--r--cheri/sail_latex/sailfnsetCauseRegbits.tex1
-rw-r--r--cheri/sail_latex/sailfnsetContextRegBadVPNtwo.tex1
-rw-r--r--cheri/sail_latex/sailfnsetContextRegPTEBase.tex1
-rw-r--r--cheri/sail_latex/sailfnsetContextRegbits.tex1
-rw-r--r--cheri/sail_latex/sailfnsetStatusRegBEV.tex1
-rw-r--r--cheri/sail_latex/sailfnsetStatusRegCU.tex1
-rw-r--r--cheri/sail_latex/sailfnsetStatusRegERL.tex1
-rw-r--r--cheri/sail_latex/sailfnsetStatusRegEXL.tex1
-rw-r--r--cheri/sail_latex/sailfnsetStatusRegIE.tex1
-rw-r--r--cheri/sail_latex/sailfnsetStatusRegIM.tex1
-rw-r--r--cheri/sail_latex/sailfnsetStatusRegKSU.tex1
-rw-r--r--cheri/sail_latex/sailfnsetStatusRegKX.tex1
-rw-r--r--cheri/sail_latex/sailfnsetStatusRegSX.tex1
-rw-r--r--cheri/sail_latex/sailfnsetStatusRegUX.tex1
-rw-r--r--cheri/sail_latex/sailfnsetStatusRegbits.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntryHiRegASID.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntryHiRegR.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntryHiRegVPNtwo.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntryHiRegbits.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntryLoRegC.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntryLoRegCapL.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntryLoRegCapS.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntryLoRegD.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntryLoRegG.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntryLoRegPFN.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntryLoRegV.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntryLoRegbits.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntryasid.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntrybits.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntrycaplone.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntrycaplzero.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntrycapsone.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntrycapszero.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntrycone.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntryczero.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntrydone.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntrydzero.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntryg.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntrypagemask.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntrypfnone.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntrypfnzero.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntryr.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntryvalid.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntryvone.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntryvpntwo.tex1
-rw-r--r--cheri/sail_latex/sailfnsetTLBEntryvzero.tex1
-rw-r--r--cheri/sail_latex/sailfnsetXContextRegXBadVPNtwo.tex1
-rw-r--r--cheri/sail_latex/sailfnsetXContextRegXPTEBase.tex1
-rw-r--r--cheri/sail_latex/sailfnsetXContextRegXR.tex1
-rw-r--r--cheri/sail_latex/sailfnsetXContextRegbits.tex1
-rw-r--r--cheri/sail_latex/sailfnsupportedinstructions.tex1
-rw-r--r--cheri/sail_latex/sailfntlbEntryMatch.tex12
-rw-r--r--cheri/sail_latex/sailfntlbSearch.tex10
-rw-r--r--cheri/sail_latex/sailfntobits.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateCapCauseRegExcCode.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateCapCauseRegRegNum.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateCapCauseRegbits.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateCauseRegBD.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateCauseRegCE.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateCauseRegExcCode.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateCauseRegIP.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateCauseRegIV.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateCauseRegWP.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateCauseRegbits.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateContextRegBadVPNtwo.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateContextRegPTEBase.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateContextRegbits.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateStatusRegBEV.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateStatusRegCU.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateStatusRegERL.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateStatusRegEXL.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateStatusRegIE.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateStatusRegIM.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateStatusRegKSU.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateStatusRegKX.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateStatusRegSX.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateStatusRegUX.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateStatusRegbits.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntryHiRegASID.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntryHiRegR.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntryHiRegVPNtwo.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntryHiRegbits.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntryLoRegC.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntryLoRegCapL.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntryLoRegCapS.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntryLoRegD.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntryLoRegG.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntryLoRegPFN.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntryLoRegV.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntryLoRegbits.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntryasid.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntrybits.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntrycaplone.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntrycaplzero.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntrycapsone.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntrycapszero.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntrycone.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntryczero.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntrydone.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntrydzero.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntryg.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntrypagemask.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntrypfnone.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntrypfnzero.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntryr.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntryvalid.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntryvone.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntryvpntwo.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateTLBEntryvzero.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateXContextRegXBadVPNtwo.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateXContextRegXPTEBase.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateXContextRegXR.tex1
-rw-r--r--cheri/sail_latex/sailfnupdateXContextRegbits.tex1
-rw-r--r--cheri/sail_latex/sailfnwGPR.tex8
-rw-r--r--cheri/sail_latex/sailfnwordWidthBytes.tex7
-rw-r--r--cheri/sail_latex/sailfnwriteCapReg.tex6
-rw-r--r--cheri/sail_latex/sailfnzeightoperatorzzerozIsznine.tex1
-rw-r--r--cheri/sail_latex/sailfnzeightoperatorzzerozIuznine.tex1
-rw-r--r--cheri/sail_latex/sailfnzeightoperatorzzerozKzJsznine.tex1
-rw-r--r--cheri/sail_latex/sailfnzeightoperatorzzerozKzJuznine.tex1
-rw-r--r--cheri/sail_latex/sailfnzeightoperatorzzerozQzQznine.tex1
-rw-r--r--cheri/sail_latex/sailfnzzeros.tex1
-rw-r--r--cheri/sail_latex/sailgetAccessLevel.tex1
-rw-r--r--cheri/sail_latex/sailgetCapBase.tex1
-rw-r--r--cheri/sail_latex/sailgetCapCauseRegExcCode.tex1
-rw-r--r--cheri/sail_latex/sailgetCapCauseRegRegNum.tex1
-rw-r--r--cheri/sail_latex/sailgetCapCauseRegbits.tex1
-rw-r--r--cheri/sail_latex/sailgetCapCursor.tex1
-rw-r--r--cheri/sail_latex/sailgetCapLength.tex1
-rw-r--r--cheri/sail_latex/sailgetCapOffset.tex1
-rw-r--r--cheri/sail_latex/sailgetCapPerms.tex1
-rw-r--r--cheri/sail_latex/sailgetCapTop.tex1
-rw-r--r--cheri/sail_latex/sailgetCauseRegBD.tex1
-rw-r--r--cheri/sail_latex/sailgetCauseRegCE.tex1
-rw-r--r--cheri/sail_latex/sailgetCauseRegExcCode.tex1
-rw-r--r--cheri/sail_latex/sailgetCauseRegIP.tex1
-rw-r--r--cheri/sail_latex/sailgetCauseRegIV.tex1
-rw-r--r--cheri/sail_latex/sailgetCauseRegWP.tex1
-rw-r--r--cheri/sail_latex/sailgetCauseRegbits.tex1
-rw-r--r--cheri/sail_latex/sailgetContextRegBadVPNtwo.tex1
-rw-r--r--cheri/sail_latex/sailgetContextRegPTEBase.tex1
-rw-r--r--cheri/sail_latex/sailgetContextRegbits.tex1
-rw-r--r--cheri/sail_latex/sailgetStatusRegBEV.tex1
-rw-r--r--cheri/sail_latex/sailgetStatusRegCU.tex1
-rw-r--r--cheri/sail_latex/sailgetStatusRegERL.tex1
-rw-r--r--cheri/sail_latex/sailgetStatusRegEXL.tex1
-rw-r--r--cheri/sail_latex/sailgetStatusRegIE.tex1
-rw-r--r--cheri/sail_latex/sailgetStatusRegIM.tex1
-rw-r--r--cheri/sail_latex/sailgetStatusRegKSU.tex1
-rw-r--r--cheri/sail_latex/sailgetStatusRegKX.tex1
-rw-r--r--cheri/sail_latex/sailgetStatusRegSX.tex1
-rw-r--r--cheri/sail_latex/sailgetStatusRegUX.tex1
-rw-r--r--cheri/sail_latex/sailgetStatusRegbits.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntryHiRegASID.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntryHiRegR.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntryHiRegVPNtwo.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntryHiRegbits.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntryLoRegC.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntryLoRegCapL.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntryLoRegCapS.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntryLoRegD.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntryLoRegG.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntryLoRegPFN.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntryLoRegV.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntryLoRegbits.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntryasid.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntrybits.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntrycaplone.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntrycaplzero.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntrycapsone.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntrycapszero.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntrycone.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntryczero.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntrydone.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntrydzero.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntryg.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntrypagemask.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntrypfnone.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntrypfnzero.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntryr.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntryvalid.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntryvone.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntryvpntwo.tex1
-rw-r--r--cheri/sail_latex/sailgetTLBEntryvzero.tex1
-rw-r--r--cheri/sail_latex/sailgetXContextRegXBadVPNtwo.tex1
-rw-r--r--cheri/sail_latex/sailgetXContextRegXPTEBase.tex1
-rw-r--r--cheri/sail_latex/sailgetXContextRegXR.tex1
-rw-r--r--cheri/sail_latex/sailgetXContextRegbits.tex1
-rw-r--r--cheri/sail_latex/sailgetsliceint.tex1
-rw-r--r--cheri/sail_latex/sailgettimens.tex1
-rw-r--r--cheri/sail_latex/sailgrantsAccess.tex1
-rw-r--r--cheri/sail_latex/sailgtatom.tex1
-rw-r--r--cheri/sail_latex/sailgtatomrange.tex1
-rw-r--r--cheri/sail_latex/sailgteqatom.tex1
-rw-r--r--cheri/sail_latex/sailgteqatomrange.tex1
-rw-r--r--cheri/sail_latex/sailgteqint.tex1
-rw-r--r--cheri/sail_latex/sailgteqrangeatom.tex1
-rw-r--r--cheri/sail_latex/sailgtint.tex1
-rw-r--r--cheri/sail_latex/sailgtrangeatom.tex1
-rw-r--r--cheri/sail_latex/sailimmonesix.tex1
-rw-r--r--cheri/sail_latex/sailincCapOffset.tex1
-rw-r--r--cheri/sail_latex/sailincrementCPzeroCount.tex1
-rw-r--r--cheri/sail_latex/sailinitcptwostate.tex1
-rw-r--r--cheri/sail_latex/sailinitcpzerostate.tex1
-rw-r--r--cheri/sail_latex/sailintofAccessLevel.tex1
-rw-r--r--cheri/sail_latex/sailintpower.tex1
-rw-r--r--cheri/sail_latex/sailinttocap.tex1
-rw-r--r--cheri/sail_latex/sailisAddressAligned.tex1
-rw-r--r--cheri/sail_latex/sailisnone.tex1
-rw-r--r--cheri/sail_latex/sailissome.tex1
-rw-r--r--cheri/sail_latex/saillength.tex1
-rw-r--r--cheri/sail_latex/sailltatom.tex1
-rw-r--r--cheri/sail_latex/sailltatomrange.tex1
-rw-r--r--cheri/sail_latex/saillteqatom.tex1
-rw-r--r--cheri/sail_latex/saillteqatomrange.tex1
-rw-r--r--cheri/sail_latex/saillteqint.tex1
-rw-r--r--cheri/sail_latex/saillteqrangeatom.tex1
-rw-r--r--cheri/sail_latex/sailltint.tex1
-rw-r--r--cheri/sail_latex/sailltrangeatom.tex1
-rw-r--r--cheri/sail_latex/sailmask.tex1
-rw-r--r--cheri/sail_latex/sailmaxatom.tex1
-rw-r--r--cheri/sail_latex/sailmaxint.tex1
-rw-r--r--cheri/sail_latex/sailmaxnat.tex1
-rw-r--r--cheri/sail_latex/sailmemBitsToCapBits.tex1
-rw-r--r--cheri/sail_latex/sailmin.tex1
-rw-r--r--cheri/sail_latex/sailminatom.tex1
-rw-r--r--cheri/sail_latex/sailminint.tex1
-rw-r--r--cheri/sail_latex/sailminnat.tex1
-rw-r--r--cheri/sail_latex/sailmipssignextend.tex1
-rw-r--r--cheri/sail_latex/sailmipszzeroextend.tex1
-rw-r--r--cheri/sail_latex/sailmod.tex7
-rw-r--r--cheri/sail_latex/sailmodBD.tex1
-rw-r--r--cheri/sail_latex/sailmodBEV.tex1
-rw-r--r--cheri/sail_latex/sailmodBadVPNtwo.tex1
-rw-r--r--cheri/sail_latex/sailmodC.tex1
-rw-r--r--cheri/sail_latex/sailmodCE.tex1
-rw-r--r--cheri/sail_latex/sailmodCU.tex1
-rw-r--r--cheri/sail_latex/sailmodCapL.tex1
-rw-r--r--cheri/sail_latex/sailmodCapS.tex1
-rw-r--r--cheri/sail_latex/sailmodD.tex1
-rw-r--r--cheri/sail_latex/sailmodERL.tex1
-rw-r--r--cheri/sail_latex/sailmodEXL.tex1
-rw-r--r--cheri/sail_latex/sailmodExcCode.tex1
-rw-r--r--cheri/sail_latex/sailmodIE.tex1
-rw-r--r--cheri/sail_latex/sailmodIM.tex1
-rw-r--r--cheri/sail_latex/sailmodIP.tex1
-rw-r--r--cheri/sail_latex/sailmodIV.tex1
-rw-r--r--cheri/sail_latex/sailmodKSU.tex1
-rw-r--r--cheri/sail_latex/sailmodKX.tex1
-rw-r--r--cheri/sail_latex/sailmodPFN.tex1
-rw-r--r--cheri/sail_latex/sailmodPTEBase.tex1
-rw-r--r--cheri/sail_latex/sailmodRegNum.tex1
-rw-r--r--cheri/sail_latex/sailmodSX.tex1
-rw-r--r--cheri/sail_latex/sailmodUX.tex1
-rw-r--r--cheri/sail_latex/sailmodV.tex1
-rw-r--r--cheri/sail_latex/sailmodWP.tex1
-rw-r--r--cheri/sail_latex/sailmodXBadVPNtwo.tex1
-rw-r--r--cheri/sail_latex/sailmodXPTEBase.tex1
-rw-r--r--cheri/sail_latex/sailmodXR.tex1
-rw-r--r--cheri/sail_latex/sailmodasid.tex1
-rw-r--r--cheri/sail_latex/sailmodbits.tex1
-rw-r--r--cheri/sail_latex/sailmodcaplone.tex1
-rw-r--r--cheri/sail_latex/sailmodcaplzero.tex1
-rw-r--r--cheri/sail_latex/sailmodcapsone.tex1
-rw-r--r--cheri/sail_latex/sailmodcapszero.tex1
-rw-r--r--cheri/sail_latex/sailmodcone.tex1
-rw-r--r--cheri/sail_latex/sailmodczero.tex1
-rw-r--r--cheri/sail_latex/sailmoddone.tex1
-rw-r--r--cheri/sail_latex/sailmoddzero.tex1
-rw-r--r--cheri/sail_latex/sailmodg.tex1
-rw-r--r--cheri/sail_latex/sailmodint.tex7
-rw-r--r--cheri/sail_latex/sailmodpagemask.tex1
-rw-r--r--cheri/sail_latex/sailmodpfnone.tex1
-rw-r--r--cheri/sail_latex/sailmodpfnzero.tex1
-rw-r--r--cheri/sail_latex/sailmodr.tex1
-rw-r--r--cheri/sail_latex/sailmodulus.tex1
-rw-r--r--cheri/sail_latex/sailmodvalid.tex1
-rw-r--r--cheri/sail_latex/sailmodvone.tex1
-rw-r--r--cheri/sail_latex/sailmodvpntwo.tex1
-rw-r--r--cheri/sail_latex/sailmodvzero.tex1
-rw-r--r--cheri/sail_latex/sailmultatom.tex2
-rw-r--r--cheri/sail_latex/sailmultint.tex1
-rw-r--r--cheri/sail_latex/sailnegate.tex1
-rw-r--r--cheri/sail_latex/sailnegateatom.tex1
-rw-r--r--cheri/sail_latex/sailnegateint.tex1
-rw-r--r--cheri/sail_latex/sailnegaterange.tex1
-rw-r--r--cheri/sail_latex/sailneqanything.tex1
-rw-r--r--cheri/sail_latex/sailneqatom.tex1
-rw-r--r--cheri/sail_latex/sailneqbool.tex1
-rw-r--r--cheri/sail_latex/sailneqint.tex1
-rw-r--r--cheri/sail_latex/sailneqrange.tex1
-rw-r--r--cheri/sail_latex/sailneqvec.tex1
-rw-r--r--cheri/sail_latex/sailnot.tex1
-rw-r--r--cheri/sail_latex/sailnotbool.tex1
-rw-r--r--cheri/sail_latex/sailnotvec.tex1
-rw-r--r--cheri/sail_latex/sailnumofAccessLevel.tex1
-rw-r--r--cheri/sail_latex/sailnumofCPtrCmpOp.tex1
-rw-r--r--cheri/sail_latex/sailnumofCapEx.tex1
-rw-r--r--cheri/sail_latex/sailnumofClearRegSet.tex1
-rw-r--r--cheri/sail_latex/sailnumofComparison.tex1
-rw-r--r--cheri/sail_latex/sailnumofException.tex1
-rw-r--r--cheri/sail_latex/sailnumofMemAccessType.tex1
-rw-r--r--cheri/sail_latex/sailnumofWordType.tex1
-rw-r--r--cheri/sail_latex/sailnumofWordTypeUnaligned.tex1
-rw-r--r--cheri/sail_latex/sailnumofdecodefailure.tex1
-rw-r--r--cheri/sail_latex/sailones.tex1
-rw-r--r--cheri/sail_latex/sailorbits.tex1
-rw-r--r--cheri/sail_latex/sailorbool.tex1
-rw-r--r--cheri/sail_latex/sailpccaccesssystemregs.tex1
-rw-r--r--cheri/sail_latex/sailplainvectoraccess.tex6
-rw-r--r--cheri/sail_latex/sailplainvectorupdate.tex6
-rw-r--r--cheri/sail_latex/sailpowtwo.tex1
-rw-r--r--cheri/sail_latex/sailprerrbits.tex1
-rw-r--r--cheri/sail_latex/sailprerrendline.tex1
-rw-r--r--cheri/sail_latex/sailprerrint.tex1
-rw-r--r--cheri/sail_latex/sailprerrstring.tex1
-rw-r--r--cheri/sail_latex/sailprint.tex1
-rw-r--r--cheri/sail_latex/sailprintbits.tex1
-rw-r--r--cheri/sail_latex/sailprintint.tex1
-rw-r--r--cheri/sail_latex/sailputchar.tex1
-rw-r--r--cheri/sail_latex/sailquotient.tex1
-rw-r--r--cheri/sail_latex/sailquotientnat.tex1
-rw-r--r--cheri/sail_latex/sailquotroundzzero.tex1
-rw-r--r--cheri/sail_latex/sailrGPR.tex1
-rw-r--r--cheri/sail_latex/sailraisectwoexception.tex1
-rw-r--r--cheri/sail_latex/sailraisectwoexceptioneight.tex1
-rw-r--r--cheri/sail_latex/sailraisectwoexceptionnoreg.tex1
-rw-r--r--cheri/sail_latex/sailreadCapReg.tex1
-rw-r--r--cheri/sail_latex/sailreadCapRegDDC.tex1
-rw-r--r--cheri/sail_latex/sailregderef.tex1
-rw-r--r--cheri/sail_latex/sailregisterinaccessible.tex1
-rw-r--r--cheri/sail_latex/sailregno.tex1
-rw-r--r--cheri/sail_latex/sailregregimmonesix.tex1
-rw-r--r--cheri/sail_latex/sailregregreg.tex1
-rw-r--r--cheri/sail_latex/sailremroundzzero.tex1
-rw-r--r--cheri/sail_latex/sailreplicatebits.tex1
-rw-r--r--cheri/sail_latex/sailreverseendianness.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeBCMPZv.tex2
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeBEQv.tex2
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCAndPermv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCBXv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCBZv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCCheckPermv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCCheckTypev.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCClearTagv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCFromPtrv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCGetBasev.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCGetCauserdv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCGetLenv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCGetOffsetv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCGetPermv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCGetSealedv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCGetTagv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCGetTypev.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCIncOffsetv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCJALRv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCLCv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCLoadv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCMOVXv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCPtrCmpv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCReturnv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCSCv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCSealv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCSetBoundsv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCSetOffsetv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCStorev.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCToPtrv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeCUnsealv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeClearRegsv.tex1
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeHCFv.tex2
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeLoadv.tex2
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeMFCzerov.tex2
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeMTCzerov.tex2
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeStorev.tex2
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeTRAPIMMv.tex2
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomeTRAPREGv.tex2
-rw-r--r--cheri/sail_latex/sailsailfndecodeSomev.tex1
-rw-r--r--cheri/sail_latex/sailsailfnexecuteCCallv.tex46
-rw-r--r--cheri/sail_latex/sailsailmask.tex1
-rw-r--r--cheri/sail_latex/sailsailmaxv.tex1
-rw-r--r--cheri/sail_latex/sailsailmodASIDv.tex1
-rw-r--r--cheri/sail_latex/sailsailmodExcCodev.tex1
-rw-r--r--cheri/sail_latex/sailsailmodGv.tex1
-rw-r--r--cheri/sail_latex/sailsailmodRv.tex1
-rw-r--r--cheri/sail_latex/sailsailmodVPNtwov.tex1
-rw-r--r--cheri/sail_latex/sailsailmodbitsv.tex1
-rw-r--r--cheri/sail_latex/sailsailnegatev.tex1
-rw-r--r--cheri/sail_latex/sailsailregderefv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailfndecodeSomeBCMPZvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailfndecodeSomeBEQvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailfndecodeSomeCJALRvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailfndecodeSomeCLCvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailfndecodeSomeCLoadvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailfndecodeSomeCMOVXvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailfndecodeSomeCPtrCmpvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailfndecodeSomeCStorevv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailfndecodeSomeClearRegsvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailfndecodeSomeLoadvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailfndecodeSomeStorevv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailfndecodeSomeTRAPIMMvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailfndecodeSomeTRAPREGvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailfndecodeSomevv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailmodbitsvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailfndecodeSomeBCMPZvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailfndecodeSomeBEQvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailfndecodeSomeCJALRvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailfndecodeSomeCLoadvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailfndecodeSomeCPtrCmpvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailfndecodeSomeCStorevvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailfndecodeSomeClearRegsvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailfndecodeSomeLoadvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailfndecodeSomeStorevvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailfndecodeSomeTRAPIMMvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailfndecodeSomeTRAPREGvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailfndecodeSomevvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailmodbitsvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailfndecodeSomeBCMPZvvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailsailfndecodeSomeCLoadvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailfndecodeSomeCPtrCmpvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailfndecodeSomeCStorevvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailfndecodeSomeLoadvvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailsailfndecodeSomeStorevvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailsailfndecodeSomeTRAPIMMvvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailsailfndecodeSomeTRAPREGvvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailsailmodbitsvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeBCMPZvvvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeCLoadvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeCStorevvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeLoadvvvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeStorevvvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeTRAPIMMvvvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeTRAPREGvvvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailmodbitsvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailfndecodeSomeCStorevvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailfndecodeSomeLoadvvvvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailmodbitsvvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeCStorevvvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeLoadvvvvvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailmodbitsvvvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailsailfndecodeSomeLoadvvvvvvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvvvvv.tex2
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailsailupdatebitsvvvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailsailupdatebitsvvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailsailupdatebitsvvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailsailupdatebitsvvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailupdatebitsvvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailsailzeightoperatorzzerozJzJzninevvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailupdatebitsvv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailzeightoperatorzzerozBzninevv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailzeightoperatorzzerozFzninevv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailzeightoperatorzzerozJzJzninevv.tex1
-rw-r--r--cheri/sail_latex/sailsailsailzeightoperatorzzerozfivezninevv.tex1
-rw-r--r--cheri/sail_latex/sailsailsignextend.tex1
-rw-r--r--cheri/sail_latex/sailsailupdateASIDv.tex1
-rw-r--r--cheri/sail_latex/sailsailupdateExcCodev.tex1
-rw-r--r--cheri/sail_latex/sailsailupdateGv.tex1
-rw-r--r--cheri/sail_latex/sailsailupdateRv.tex1
-rw-r--r--cheri/sail_latex/sailsailupdateVPNtwov.tex1
-rw-r--r--cheri/sail_latex/sailsailupdatebitsv.tex1
-rw-r--r--cheri/sail_latex/sailsailzeightoperatorzzerozAzninev.tex1
-rw-r--r--cheri/sail_latex/sailsailzeightoperatorzzerozBzninev.tex1
-rw-r--r--cheri/sail_latex/sailsailzeightoperatorzzerozDzninev.tex1
-rw-r--r--cheri/sail_latex/sailsailzeightoperatorzzerozFzninev.tex1
-rw-r--r--cheri/sail_latex/sailsailzeightoperatorzzerozJzJzninev.tex1
-rw-r--r--cheri/sail_latex/sailsailzeightoperatorzzerozQzninev.tex1
-rw-r--r--cheri/sail_latex/sailsailzeightoperatorzzerozUzninev.tex1
-rw-r--r--cheri/sail_latex/sailsailzeightoperatorzzerozfivezninev.tex1
-rw-r--r--cheri/sail_latex/sailsailzeightoperatorzzerozonezJzninev.tex1
-rw-r--r--cheri/sail_latex/sailsailzeightoperatorzzerozsixzninev.tex1
-rw-r--r--cheri/sail_latex/sailsailzzeroextend.tex1
-rw-r--r--cheri/sail_latex/sailsailzzeros.tex1
-rw-r--r--cheri/sail_latex/sailsealCap.tex1
-rw-r--r--cheri/sail_latex/sailsetCapBounds.tex1
-rw-r--r--cheri/sail_latex/sailsetCapCauseRegExcCode.tex1
-rw-r--r--cheri/sail_latex/sailsetCapCauseRegRegNum.tex1
-rw-r--r--cheri/sail_latex/sailsetCapCauseRegbits.tex1
-rw-r--r--cheri/sail_latex/sailsetCapOffset.tex1
-rw-r--r--cheri/sail_latex/sailsetCapPerms.tex1
-rw-r--r--cheri/sail_latex/sailsetCauseRegBD.tex1
-rw-r--r--cheri/sail_latex/sailsetCauseRegCE.tex1
-rw-r--r--cheri/sail_latex/sailsetCauseRegExcCode.tex1
-rw-r--r--cheri/sail_latex/sailsetCauseRegIP.tex1
-rw-r--r--cheri/sail_latex/sailsetCauseRegIV.tex1
-rw-r--r--cheri/sail_latex/sailsetCauseRegWP.tex1
-rw-r--r--cheri/sail_latex/sailsetCauseRegbits.tex1
-rw-r--r--cheri/sail_latex/sailsetContextRegBadVPNtwo.tex1
-rw-r--r--cheri/sail_latex/sailsetContextRegPTEBase.tex1
-rw-r--r--cheri/sail_latex/sailsetContextRegbits.tex1
-rw-r--r--cheri/sail_latex/sailsetStatusRegBEV.tex1
-rw-r--r--cheri/sail_latex/sailsetStatusRegCU.tex1
-rw-r--r--cheri/sail_latex/sailsetStatusRegERL.tex1
-rw-r--r--cheri/sail_latex/sailsetStatusRegEXL.tex1
-rw-r--r--cheri/sail_latex/sailsetStatusRegIE.tex1
-rw-r--r--cheri/sail_latex/sailsetStatusRegIM.tex1
-rw-r--r--cheri/sail_latex/sailsetStatusRegKSU.tex1
-rw-r--r--cheri/sail_latex/sailsetStatusRegKX.tex1
-rw-r--r--cheri/sail_latex/sailsetStatusRegSX.tex1
-rw-r--r--cheri/sail_latex/sailsetStatusRegUX.tex1
-rw-r--r--cheri/sail_latex/sailsetStatusRegbits.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntryHiRegASID.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntryHiRegR.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntryHiRegVPNtwo.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntryHiRegbits.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntryLoRegC.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntryLoRegCapL.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntryLoRegCapS.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntryLoRegD.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntryLoRegG.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntryLoRegPFN.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntryLoRegV.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntryLoRegbits.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntryasid.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntrybits.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntrycaplone.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntrycaplzero.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntrycapsone.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntrycapszero.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntrycone.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntryczero.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntrydone.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntrydzero.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntryg.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntrypagemask.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntrypfnone.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntrypfnzero.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntryr.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntryvalid.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntryvone.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntryvpntwo.tex1
-rw-r--r--cheri/sail_latex/sailsetTLBEntryvzero.tex1
-rw-r--r--cheri/sail_latex/sailsetXContextRegXBadVPNtwo.tex1
-rw-r--r--cheri/sail_latex/sailsetXContextRegXPTEBase.tex1
-rw-r--r--cheri/sail_latex/sailsetXContextRegXR.tex1
-rw-r--r--cheri/sail_latex/sailsetXContextRegbits.tex1
-rw-r--r--cheri/sail_latex/sailsetslicebits.tex2
-rw-r--r--cheri/sail_latex/sailsetsliceint.tex1
-rw-r--r--cheri/sail_latex/sailshiftbitsleft.tex1
-rw-r--r--cheri/sail_latex/sailshiftbitsright.tex1
-rw-r--r--cheri/sail_latex/sailshiftl.tex1
-rw-r--r--cheri/sail_latex/sailshiftr.tex1
-rw-r--r--cheri/sail_latex/sailshlint.tex1
-rw-r--r--cheri/sail_latex/sailshrint.tex1
-rw-r--r--cheri/sail_latex/sailsigned.tex4
-rw-r--r--cheri/sail_latex/sailsignextend.tex1
-rw-r--r--cheri/sail_latex/sailskipbarr.tex1
-rw-r--r--cheri/sail_latex/sailskipeamem.tex1
-rw-r--r--cheri/sail_latex/sailskipescape.tex1
-rw-r--r--cheri/sail_latex/sailskiprmemt.tex1
-rw-r--r--cheri/sail_latex/sailskiprreg.tex1
-rw-r--r--cheri/sail_latex/sailskipwmvt.tex1
-rw-r--r--cheri/sail_latex/sailskipwreg.tex1
-rw-r--r--cheri/sail_latex/sailslice.tex2
-rw-r--r--cheri/sail_latex/sailstringofint.tex1
-rw-r--r--cheri/sail_latex/sailsubatom.tex2
-rw-r--r--cheri/sail_latex/sailsubint.tex1
-rw-r--r--cheri/sail_latex/sailsubrange.tex2
-rw-r--r--cheri/sail_latex/sailsubvec.tex1
-rw-r--r--cheri/sail_latex/sailsubvecint.tex1
-rw-r--r--cheri/sail_latex/sailsupportedinstructions.tex1
-rw-r--r--cheri/sail_latex/sailtlbEntryMatch.tex1
-rw-r--r--cheri/sail_latex/sailtlbSearch.tex1
-rw-r--r--cheri/sail_latex/sailtobits.tex1
-rw-r--r--cheri/sail_latex/sailtruncate.tex6
-rw-r--r--cheri/sail_latex/sailuintsixfour.tex1
-rw-r--r--cheri/sail_latex/sailunsigned.tex7
-rw-r--r--cheri/sail_latex/sailupdateBD.tex1
-rw-r--r--cheri/sail_latex/sailupdateBEV.tex1
-rw-r--r--cheri/sail_latex/sailupdateBadVPNtwo.tex1
-rw-r--r--cheri/sail_latex/sailupdateC.tex1
-rw-r--r--cheri/sail_latex/sailupdateCE.tex1
-rw-r--r--cheri/sail_latex/sailupdateCU.tex1
-rw-r--r--cheri/sail_latex/sailupdateCapCauseRegExcCode.tex1
-rw-r--r--cheri/sail_latex/sailupdateCapCauseRegRegNum.tex1
-rw-r--r--cheri/sail_latex/sailupdateCapCauseRegbits.tex1
-rw-r--r--cheri/sail_latex/sailupdateCapL.tex1
-rw-r--r--cheri/sail_latex/sailupdateCapS.tex1
-rw-r--r--cheri/sail_latex/sailupdateCauseRegBD.tex1
-rw-r--r--cheri/sail_latex/sailupdateCauseRegCE.tex1
-rw-r--r--cheri/sail_latex/sailupdateCauseRegExcCode.tex1
-rw-r--r--cheri/sail_latex/sailupdateCauseRegIP.tex1
-rw-r--r--cheri/sail_latex/sailupdateCauseRegIV.tex1
-rw-r--r--cheri/sail_latex/sailupdateCauseRegWP.tex1
-rw-r--r--cheri/sail_latex/sailupdateCauseRegbits.tex1
-rw-r--r--cheri/sail_latex/sailupdateContextRegBadVPNtwo.tex1
-rw-r--r--cheri/sail_latex/sailupdateContextRegPTEBase.tex1
-rw-r--r--cheri/sail_latex/sailupdateContextRegbits.tex1
-rw-r--r--cheri/sail_latex/sailupdateD.tex1
-rw-r--r--cheri/sail_latex/sailupdateERL.tex1
-rw-r--r--cheri/sail_latex/sailupdateEXL.tex1
-rw-r--r--cheri/sail_latex/sailupdateExcCode.tex1
-rw-r--r--cheri/sail_latex/sailupdateIE.tex1
-rw-r--r--cheri/sail_latex/sailupdateIM.tex1
-rw-r--r--cheri/sail_latex/sailupdateIP.tex1
-rw-r--r--cheri/sail_latex/sailupdateIV.tex1
-rw-r--r--cheri/sail_latex/sailupdateKSU.tex1
-rw-r--r--cheri/sail_latex/sailupdateKX.tex1
-rw-r--r--cheri/sail_latex/sailupdatePFN.tex1
-rw-r--r--cheri/sail_latex/sailupdatePTEBase.tex1
-rw-r--r--cheri/sail_latex/sailupdateRegNum.tex1
-rw-r--r--cheri/sail_latex/sailupdateSX.tex1
-rw-r--r--cheri/sail_latex/sailupdateStatusRegBEV.tex1
-rw-r--r--cheri/sail_latex/sailupdateStatusRegCU.tex1
-rw-r--r--cheri/sail_latex/sailupdateStatusRegERL.tex1
-rw-r--r--cheri/sail_latex/sailupdateStatusRegEXL.tex1
-rw-r--r--cheri/sail_latex/sailupdateStatusRegIE.tex1
-rw-r--r--cheri/sail_latex/sailupdateStatusRegIM.tex1
-rw-r--r--cheri/sail_latex/sailupdateStatusRegKSU.tex1
-rw-r--r--cheri/sail_latex/sailupdateStatusRegKX.tex1
-rw-r--r--cheri/sail_latex/sailupdateStatusRegSX.tex1
-rw-r--r--cheri/sail_latex/sailupdateStatusRegUX.tex1
-rw-r--r--cheri/sail_latex/sailupdateStatusRegbits.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntryHiRegASID.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntryHiRegR.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntryHiRegVPNtwo.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntryHiRegbits.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntryLoRegC.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntryLoRegCapL.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntryLoRegCapS.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntryLoRegD.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntryLoRegG.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntryLoRegPFN.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntryLoRegV.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntryLoRegbits.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntryasid.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntrybits.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntrycaplone.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntrycaplzero.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntrycapsone.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntrycapszero.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntrycone.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntryczero.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntrydone.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntrydzero.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntryg.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntrypagemask.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntrypfnone.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntrypfnzero.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntryr.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntryvalid.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntryvone.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntryvpntwo.tex1
-rw-r--r--cheri/sail_latex/sailupdateTLBEntryvzero.tex1
-rw-r--r--cheri/sail_latex/sailupdateUX.tex1
-rw-r--r--cheri/sail_latex/sailupdateV.tex1
-rw-r--r--cheri/sail_latex/sailupdateWP.tex1
-rw-r--r--cheri/sail_latex/sailupdateXBadVPNtwo.tex1
-rw-r--r--cheri/sail_latex/sailupdateXContextRegXBadVPNtwo.tex1
-rw-r--r--cheri/sail_latex/sailupdateXContextRegXPTEBase.tex1
-rw-r--r--cheri/sail_latex/sailupdateXContextRegXR.tex1
-rw-r--r--cheri/sail_latex/sailupdateXContextRegbits.tex1
-rw-r--r--cheri/sail_latex/sailupdateXPTEBase.tex1
-rw-r--r--cheri/sail_latex/sailupdateXR.tex1
-rw-r--r--cheri/sail_latex/sailupdateasid.tex1
-rw-r--r--cheri/sail_latex/sailupdatebits.tex1
-rw-r--r--cheri/sail_latex/sailupdatecaplone.tex1
-rw-r--r--cheri/sail_latex/sailupdatecaplzero.tex1
-rw-r--r--cheri/sail_latex/sailupdatecapsone.tex1
-rw-r--r--cheri/sail_latex/sailupdatecapszero.tex1
-rw-r--r--cheri/sail_latex/sailupdatecone.tex1
-rw-r--r--cheri/sail_latex/sailupdateczero.tex1
-rw-r--r--cheri/sail_latex/sailupdatedone.tex1
-rw-r--r--cheri/sail_latex/sailupdatedzero.tex1
-rw-r--r--cheri/sail_latex/sailupdateg.tex1
-rw-r--r--cheri/sail_latex/sailupdatepagemask.tex1
-rw-r--r--cheri/sail_latex/sailupdatepfnone.tex1
-rw-r--r--cheri/sail_latex/sailupdatepfnzero.tex1
-rw-r--r--cheri/sail_latex/sailupdater.tex1
-rw-r--r--cheri/sail_latex/sailupdatevalid.tex1
-rw-r--r--cheri/sail_latex/sailupdatevone.tex1
-rw-r--r--cheri/sail_latex/sailupdatevpntwo.tex1
-rw-r--r--cheri/sail_latex/sailupdatevzero.tex1
-rw-r--r--cheri/sail_latex/sailvectoraccess.tex1
-rw-r--r--cheri/sail_latex/sailvectorlength.tex6
-rw-r--r--cheri/sail_latex/sailvectorsubrange.tex7
-rw-r--r--cheri/sail_latex/sailvectorupdate.tex1
-rw-r--r--cheri/sail_latex/sailvectorupdatesubrange.tex6
-rw-r--r--cheri/sail_latex/sailwGPR.tex1
-rw-r--r--cheri/sail_latex/sailwordWidthBytes.tex1
-rw-r--r--cheri/sail_latex/sailwriteCapReg.tex1
-rw-r--r--cheri/sail_latex/sailxorvec.tex1
-rw-r--r--cheri/sail_latex/sailzW.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozAsznine.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozAuznine.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozAznine.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozBznine.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozDznine.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozFznine.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozIsznine.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozIuznine.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozIzIznine.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozIzJznine.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozIznine.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozJzJznine.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozKzJsznine.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozKzJuznine.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozKzJznine.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozKzKsznine.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozKzKznine.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozKznine.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozQzQznine.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozQznine.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozUznine.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozfiveznine.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozonezJznine.tex1
-rw-r--r--cheri/sail_latex/sailzeightoperatorzzerozsixznine.tex1
-rw-r--r--cheri/sail_latex/sailzzeroextend.tex1
-rw-r--r--cheri/sail_latex/sailzzeros.tex1
-rw-r--r--cheri/sail_latexcc/commands.tex544
-rw-r--r--cheri/sail_latexcc/sailccBitStr.tex1
-rw-r--r--cheri/sail_latexcc/sailccCPtrCmpOp.tex10
-rw-r--r--cheri/sail_latexcc/sailccCPtrCmpOpofnum.tex1
-rw-r--r--cheri/sail_latexcc/sailccCapLen.tex1
-rw-r--r--cheri/sail_latexcc/sailccCapReg.tex1
-rw-r--r--cheri/sail_latexcc/sailccCapStruct.tex22
-rw-r--r--cheri/sail_latexcc/sailccClearRegSet.tex6
-rw-r--r--cheri/sail_latexcc/sailccClearRegSetofnum.tex1
-rw-r--r--cheri/sail_latexcc/sailccHighestSetBit.tex1
-rw-r--r--cheri/sail_latexcc/sailccMIPSread.tex1
-rw-r--r--cheri/sail_latexcc/sailccMIPSwrite.tex1
-rw-r--r--cheri/sail_latexcc/sailccReadRAM.tex2
-rw-r--r--cheri/sail_latexcc/sailccWriteRAM.tex2
-rw-r--r--cheri/sail_latexcc/sailccabsatom.tex7
-rw-r--r--cheri/sail_latexcc/sailccabsint.tex6
-rw-r--r--cheri/sail_latexcc/sailccaddatom.tex2
-rw-r--r--cheri/sail_latexcc/sailccaddbits.tex6
-rw-r--r--cheri/sail_latexcc/sailccaddbitsint.tex6
-rw-r--r--cheri/sail_latexcc/sailccaddint.tex1
-rw-r--r--cheri/sail_latexcc/sailccaddrange.tex2
-rw-r--r--cheri/sail_latexcc/sailccaddvec.tex1
-rw-r--r--cheri/sail_latexcc/sailccaddvecint.tex1
-rw-r--r--cheri/sail_latexcc/sailccandbits.tex1
-rw-r--r--cheri/sail_latexcc/sailccandbool.tex1
-rw-r--r--cheri/sail_latexcc/sailccappend.tex1
-rw-r--r--cheri/sail_latexcc/sailccappendsixfour.tex1
-rw-r--r--cheri/sail_latexcc/sailccatopcorrection.tex1
-rw-r--r--cheri/sail_latexcc/sailccbits.tex1
-rw-r--r--cheri/sail_latexcc/sailccbitstobool.tex1
-rw-r--r--cheri/sail_latexcc/sailccbittobool.tex1
-rw-r--r--cheri/sail_latexcc/sailccbitvectoraccess.tex6
-rw-r--r--cheri/sail_latexcc/sailccbitvectorconcat.tex2
-rw-r--r--cheri/sail_latexcc/sailccbitvectorlength.tex1
-rw-r--r--cheri/sail_latexcc/sailccbitvectorupdate.tex6
-rw-r--r--cheri/sail_latexcc/sailccbooltobits.tex1
-rw-r--r--cheri/sail_latexcc/sailcccapRegToCapStruct.tex1
-rw-r--r--cheri/sail_latexcc/sailcccapStructToCapReg.tex1
-rw-r--r--cheri/sail_latexcc/sailcccapStructToMemBits.tex1
-rw-r--r--cheri/sail_latexcc/sailcccapStructToMemBitsonetwoeight.tex1
-rw-r--r--cheri/sail_latexcc/sailcccastunitvec.tex1
-rw-r--r--cheri/sail_latexcc/sailcccomputeE.tex1
-rw-r--r--cheri/sail_latexcc/sailccconcatstr.tex1
-rw-r--r--cheri/sail_latexcc/sailccdiv.tex7
-rw-r--r--cheri/sail_latexcc/sailccdivint.tex7
-rw-r--r--cheri/sail_latexcc/sailcceqanything.tex1
-rw-r--r--cheri/sail_latexcc/sailcceqatom.tex1
-rw-r--r--cheri/sail_latexcc/sailcceqbit.tex1
-rw-r--r--cheri/sail_latexcc/sailcceqbits.tex6
-rw-r--r--cheri/sail_latexcc/sailcceqbittwo.tex1
-rw-r--r--cheri/sail_latexcc/sailcceqbool.tex1
-rw-r--r--cheri/sail_latexcc/sailcceqint.tex1
-rw-r--r--cheri/sail_latexcc/sailcceqrange.tex1
-rw-r--r--cheri/sail_latexcc/sailccfastRepCheck.tex1
-rw-r--r--cheri/sail_latexcc/sailccfnCPtrCmpOpofnum.tex10
-rw-r--r--cheri/sail_latexcc/sailccfnClearRegSetofnum.tex6
-rw-r--r--cheri/sail_latexcc/sailccfnHighestSetBit.tex5
-rw-r--r--cheri/sail_latexcc/sailccfnMIPSread.tex1
-rw-r--r--cheri/sail_latexcc/sailccfnMIPSwrite.tex1
-rw-r--r--cheri/sail_latexcc/sailccfnatopcorrection.tex7
-rw-r--r--cheri/sail_latexcc/sailccfnbitstobool.tex1
-rw-r--r--cheri/sail_latexcc/sailccfnbittobool.tex4
-rw-r--r--cheri/sail_latexcc/sailccfnbooltobits.tex1
-rw-r--r--cheri/sail_latexcc/sailccfncapRegToCapStruct.tex27
-rw-r--r--cheri/sail_latexcc/sailccfncapStructToCapReg.tex2
-rw-r--r--cheri/sail_latexcc/sailccfncapStructToMemBits.tex2
-rw-r--r--cheri/sail_latexcc/sailccfncapStructToMemBitsonetwoeight.tex12
-rw-r--r--cheri/sail_latexcc/sailccfncastunitvec.tex4
-rw-r--r--cheri/sail_latexcc/sailccfncomputeE.tex7
-rw-r--r--cheri/sail_latexcc/sailccfnfastRepCheck.tex23
-rw-r--r--cheri/sail_latexcc/sailccfngetCapBase.tex10
-rw-r--r--cheri/sail_latexcc/sailccfngetCapCursor.tex1
-rw-r--r--cheri/sail_latexcc/sailccfngetCapHardPerms.tex12
-rw-r--r--cheri/sail_latexcc/sailccfngetCapLength.tex6
-rw-r--r--cheri/sail_latexcc/sailccfngetCapOffset.tex3
-rw-r--r--cheri/sail_latexcc/sailccfngetCapPerms.tex5
-rw-r--r--cheri/sail_latexcc/sailccfngetCapTop.tex11
-rw-r--r--cheri/sail_latexcc/sailccfnincCapOffset.tex5
-rw-r--r--cheri/sail_latexcc/sailccfninttocap.tex2
-rw-r--r--cheri/sail_latexcc/sailccfnisnone.tex4
-rw-r--r--cheri/sail_latexcc/sailccfnissome.tex4
-rw-r--r--cheri/sail_latexcc/sailccfnmask.tex1
-rw-r--r--cheri/sail_latexcc/sailccfnmemBitsToCapBits.tex2
-rw-r--r--cheri/sail_latexcc/sailccfnmemBitsToCapBitsonetwoeight.tex2
-rw-r--r--cheri/sail_latexcc/sailccfnmipssignextend.tex1
-rw-r--r--cheri/sail_latexcc/sailccfnmipszzeroextend.tex1
-rw-r--r--cheri/sail_latexcc/sailccfnneqanything.tex1
-rw-r--r--cheri/sail_latexcc/sailccfnneqatom.tex1
-rw-r--r--cheri/sail_latexcc/sailccfnneqbool.tex1
-rw-r--r--cheri/sail_latexcc/sailccfnneqint.tex1
-rw-r--r--cheri/sail_latexcc/sailccfnneqrange.tex1
-rw-r--r--cheri/sail_latexcc/sailccfnneqvec.tex1
-rw-r--r--cheri/sail_latexcc/sailccfnnumofCPtrCmpOp.tex10
-rw-r--r--cheri/sail_latexcc/sailccfnnumofClearRegSet.tex6
-rw-r--r--cheri/sail_latexcc/sailccfnones.tex1
-rw-r--r--cheri/sail_latexcc/sailccfnroundUp.tex5
-rw-r--r--cheri/sail_latexcc/sailccfnsailmask.tex1
-rw-r--r--cheri/sail_latexcc/sailccfnsealCap.tex5
-rw-r--r--cheri/sail_latexcc/sailccfnsetCapBounds.tex13
-rw-r--r--cheri/sail_latexcc/sailccfnsetCapOffset.tex6
-rw-r--r--cheri/sail_latexcc/sailccfnsetCapPerms.tex16
-rw-r--r--cheri/sail_latexcc/sailccfntobits.tex1
-rw-r--r--cheri/sail_latexcc/sailccfnzeightoperatorzzerozIsznine.tex1
-rw-r--r--cheri/sail_latexcc/sailccfnzeightoperatorzzerozIuznine.tex1
-rw-r--r--cheri/sail_latexcc/sailccfnzeightoperatorzzerozKzJsznine.tex1
-rw-r--r--cheri/sail_latexcc/sailccfnzeightoperatorzzerozKzJuznine.tex1
-rw-r--r--cheri/sail_latexcc/sailccfnzeightoperatorzzerozQzQznine.tex1
-rw-r--r--cheri/sail_latexcc/sailccfnzzeros.tex1
-rw-r--r--cheri/sail_latexcc/sailccgetCapBase.tex1
-rw-r--r--cheri/sail_latexcc/sailccgetCapCursor.tex1
-rw-r--r--cheri/sail_latexcc/sailccgetCapHardPerms.tex1
-rw-r--r--cheri/sail_latexcc/sailccgetCapLength.tex1
-rw-r--r--cheri/sail_latexcc/sailccgetCapOffset.tex1
-rw-r--r--cheri/sail_latexcc/sailccgetCapPerms.tex1
-rw-r--r--cheri/sail_latexcc/sailccgetCapTop.tex1
-rw-r--r--cheri/sail_latexcc/sailccgetsliceint.tex1
-rw-r--r--cheri/sail_latexcc/sailccgettimens.tex1
-rw-r--r--cheri/sail_latexcc/sailccgtatom.tex1
-rw-r--r--cheri/sail_latexcc/sailccgtatomrange.tex1
-rw-r--r--cheri/sail_latexcc/sailccgteqatom.tex1
-rw-r--r--cheri/sail_latexcc/sailccgteqatomrange.tex1
-rw-r--r--cheri/sail_latexcc/sailccgteqint.tex1
-rw-r--r--cheri/sail_latexcc/sailccgteqrangeatom.tex1
-rw-r--r--cheri/sail_latexcc/sailccgtint.tex1
-rw-r--r--cheri/sail_latexcc/sailccgtrangeatom.tex1
-rw-r--r--cheri/sail_latexcc/sailccincCapOffset.tex1
-rw-r--r--cheri/sail_latexcc/sailccintpower.tex1
-rw-r--r--cheri/sail_latexcc/sailccinttocap.tex1
-rw-r--r--cheri/sail_latexcc/sailccisnone.tex1
-rw-r--r--cheri/sail_latexcc/sailccissome.tex1
-rw-r--r--cheri/sail_latexcc/sailcclength.tex1
-rw-r--r--cheri/sail_latexcc/sailccltatom.tex1
-rw-r--r--cheri/sail_latexcc/sailccltatomrange.tex1
-rw-r--r--cheri/sail_latexcc/sailcclteqatom.tex1
-rw-r--r--cheri/sail_latexcc/sailcclteqatomrange.tex1
-rw-r--r--cheri/sail_latexcc/sailcclteqint.tex1
-rw-r--r--cheri/sail_latexcc/sailcclteqrangeatom.tex1
-rw-r--r--cheri/sail_latexcc/sailccltint.tex1
-rw-r--r--cheri/sail_latexcc/sailccltrangeatom.tex1
-rw-r--r--cheri/sail_latexcc/sailccmask.tex1
-rw-r--r--cheri/sail_latexcc/sailccmax.tex1
-rw-r--r--cheri/sail_latexcc/sailccmaxatom.tex1
-rw-r--r--cheri/sail_latexcc/sailccmaxint.tex1
-rw-r--r--cheri/sail_latexcc/sailccmaxnat.tex1
-rw-r--r--cheri/sail_latexcc/sailccmemBitsToCapBits.tex1
-rw-r--r--cheri/sail_latexcc/sailccmemBitsToCapBitsonetwoeight.tex1
-rw-r--r--cheri/sail_latexcc/sailccmin.tex1
-rw-r--r--cheri/sail_latexcc/sailccminatom.tex1
-rw-r--r--cheri/sail_latexcc/sailccminint.tex1
-rw-r--r--cheri/sail_latexcc/sailccminnat.tex1
-rw-r--r--cheri/sail_latexcc/sailccmipssignextend.tex1
-rw-r--r--cheri/sail_latexcc/sailccmipszzeroextend.tex1
-rw-r--r--cheri/sail_latexcc/sailccmod.tex7
-rw-r--r--cheri/sail_latexcc/sailccmodint.tex7
-rw-r--r--cheri/sail_latexcc/sailccmodulus.tex1
-rw-r--r--cheri/sail_latexcc/sailccmultatom.tex2
-rw-r--r--cheri/sail_latexcc/sailccmultint.tex1
-rw-r--r--cheri/sail_latexcc/sailccnegate.tex1
-rw-r--r--cheri/sail_latexcc/sailccnegateatom.tex1
-rw-r--r--cheri/sail_latexcc/sailccnegateint.tex1
-rw-r--r--cheri/sail_latexcc/sailccnegaterange.tex1
-rw-r--r--cheri/sail_latexcc/sailccneqanything.tex1
-rw-r--r--cheri/sail_latexcc/sailccneqatom.tex1
-rw-r--r--cheri/sail_latexcc/sailccneqbool.tex1
-rw-r--r--cheri/sail_latexcc/sailccneqint.tex1
-rw-r--r--cheri/sail_latexcc/sailccneqrange.tex1
-rw-r--r--cheri/sail_latexcc/sailccneqvec.tex1
-rw-r--r--cheri/sail_latexcc/sailccnot.tex1
-rw-r--r--cheri/sail_latexcc/sailccnotbool.tex1
-rw-r--r--cheri/sail_latexcc/sailccnotvec.tex1
-rw-r--r--cheri/sail_latexcc/sailccnumofCPtrCmpOp.tex1
-rw-r--r--cheri/sail_latexcc/sailccnumofClearRegSet.tex1
-rw-r--r--cheri/sail_latexcc/sailccones.tex1
-rw-r--r--cheri/sail_latexcc/sailccorbits.tex1
-rw-r--r--cheri/sail_latexcc/sailccorbool.tex1
-rw-r--r--cheri/sail_latexcc/sailccplainvectoraccess.tex6
-rw-r--r--cheri/sail_latexcc/sailccplainvectorupdate.tex6
-rw-r--r--cheri/sail_latexcc/sailccpowtwo.tex1
-rw-r--r--cheri/sail_latexcc/sailccprerrbits.tex1
-rw-r--r--cheri/sail_latexcc/sailccprerrendline.tex1
-rw-r--r--cheri/sail_latexcc/sailccprerrint.tex1
-rw-r--r--cheri/sail_latexcc/sailccprerrstring.tex1
-rw-r--r--cheri/sail_latexcc/sailccprint.tex1
-rw-r--r--cheri/sail_latexcc/sailccprintbits.tex1
-rw-r--r--cheri/sail_latexcc/sailccprintint.tex1
-rw-r--r--cheri/sail_latexcc/sailccputchar.tex1
-rw-r--r--cheri/sail_latexcc/sailccquotient.tex1
-rw-r--r--cheri/sail_latexcc/sailccquotientnat.tex1
-rw-r--r--cheri/sail_latexcc/sailccquotroundzzero.tex1
-rw-r--r--cheri/sail_latexcc/sailccregderef.tex1
-rw-r--r--cheri/sail_latexcc/sailccremroundzzero.tex1
-rw-r--r--cheri/sail_latexcc/sailccreplicatebits.tex1
-rw-r--r--cheri/sail_latexcc/sailccroundUp.tex1
-rw-r--r--cheri/sail_latexcc/sailccsailccnegatev.tex1
-rw-r--r--cheri/sail_latexcc/sailccsailccregderefv.tex1
-rw-r--r--cheri/sail_latexcc/sailccsailccsailccsailcczeightoperatorzzerozJzJzninevvv.tex1
-rw-r--r--cheri/sail_latexcc/sailccsailccsailcczeightoperatorzzerozBzninevv.tex1
-rw-r--r--cheri/sail_latexcc/sailccsailccsailcczeightoperatorzzerozFzninevv.tex1
-rw-r--r--cheri/sail_latexcc/sailccsailccsailcczeightoperatorzzerozJzJzninevv.tex1
-rw-r--r--cheri/sail_latexcc/sailccsailccsailcczeightoperatorzzerozfivezninevv.tex1
-rw-r--r--cheri/sail_latexcc/sailccsailcczeightoperatorzzerozAzninev.tex1
-rw-r--r--cheri/sail_latexcc/sailccsailcczeightoperatorzzerozBzninev.tex1
-rw-r--r--cheri/sail_latexcc/sailccsailcczeightoperatorzzerozDzninev.tex1
-rw-r--r--cheri/sail_latexcc/sailccsailcczeightoperatorzzerozFzninev.tex1
-rw-r--r--cheri/sail_latexcc/sailccsailcczeightoperatorzzerozJzJzninev.tex1
-rw-r--r--cheri/sail_latexcc/sailccsailcczeightoperatorzzerozQzninev.tex1
-rw-r--r--cheri/sail_latexcc/sailccsailcczeightoperatorzzerozUzninev.tex1
-rw-r--r--cheri/sail_latexcc/sailccsailcczeightoperatorzzerozfivezninev.tex1
-rw-r--r--cheri/sail_latexcc/sailccsailcczeightoperatorzzerozonezJzninev.tex1
-rw-r--r--cheri/sail_latexcc/sailccsailcczeightoperatorzzerozsixzninev.tex1
-rw-r--r--cheri/sail_latexcc/sailccsailmask.tex1
-rw-r--r--cheri/sail_latexcc/sailccsailsignextend.tex1
-rw-r--r--cheri/sail_latexcc/sailccsailzzeroextend.tex1
-rw-r--r--cheri/sail_latexcc/sailccsailzzeros.tex1
-rw-r--r--cheri/sail_latexcc/sailccsealCap.tex1
-rw-r--r--cheri/sail_latexcc/sailccsetCapBounds.tex1
-rw-r--r--cheri/sail_latexcc/sailccsetCapOffset.tex1
-rw-r--r--cheri/sail_latexcc/sailccsetCapPerms.tex1
-rw-r--r--cheri/sail_latexcc/sailccsetslicebits.tex2
-rw-r--r--cheri/sail_latexcc/sailccsetsliceint.tex1
-rw-r--r--cheri/sail_latexcc/sailccshiftbitsleft.tex1
-rw-r--r--cheri/sail_latexcc/sailccshiftbitsright.tex1
-rw-r--r--cheri/sail_latexcc/sailccshiftl.tex1
-rw-r--r--cheri/sail_latexcc/sailccshiftr.tex1
-rw-r--r--cheri/sail_latexcc/sailccshlint.tex1
-rw-r--r--cheri/sail_latexcc/sailccshrint.tex1
-rw-r--r--cheri/sail_latexcc/sailccsigned.tex4
-rw-r--r--cheri/sail_latexcc/sailccsignextend.tex1
-rw-r--r--cheri/sail_latexcc/sailccslice.tex2
-rw-r--r--cheri/sail_latexcc/sailccstringofint.tex1
-rw-r--r--cheri/sail_latexcc/sailccsubatom.tex2
-rw-r--r--cheri/sail_latexcc/sailccsubint.tex1
-rw-r--r--cheri/sail_latexcc/sailccsubrange.tex2
-rw-r--r--cheri/sail_latexcc/sailccsubvec.tex1
-rw-r--r--cheri/sail_latexcc/sailccsubvecint.tex1
-rw-r--r--cheri/sail_latexcc/sailcctobits.tex1
-rw-r--r--cheri/sail_latexcc/sailcctruncate.tex6
-rw-r--r--cheri/sail_latexcc/sailccuintsixfour.tex1
-rw-r--r--cheri/sail_latexcc/sailccunsigned.tex7
-rw-r--r--cheri/sail_latexcc/sailccvectoraccess.tex1
-rw-r--r--cheri/sail_latexcc/sailccvectorlength.tex6
-rw-r--r--cheri/sail_latexcc/sailccvectorsubrange.tex7
-rw-r--r--cheri/sail_latexcc/sailccvectorupdate.tex1
-rw-r--r--cheri/sail_latexcc/sailccvectorupdatesubrange.tex6
-rw-r--r--cheri/sail_latexcc/sailccxorvec.tex1
-rw-r--r--cheri/sail_latexcc/sailcczW.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozAsznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozAuznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozAznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozBznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozDznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozFznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozIsznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozIuznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozIzIznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozIzJznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozIznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozJzJznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozKzJsznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozKzJuznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozKzJznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozKzKsznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozKzKznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozKznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozQzQznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozQznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozUznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozfiveznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozonezJznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczeightoperatorzzerozsixznine.tex1
-rw-r--r--cheri/sail_latexcc/sailcczzeroextend.tex1
-rw-r--r--cheri/sail_latexcc/sailcczzeros.tex1
1601 files changed, 1 insertions, 10799 deletions
diff --git a/cheri/.gitignore b/cheri/.gitignore
deleted file mode 100644
index f7f98624..00000000
--- a/cheri/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-cheri.lem
-cheri_types.lem
-cheriScript.sml
-cheri_typesScript.sml
-mips_extrasScript.sml \ No newline at end of file
diff --git a/cheri/Holmakefile b/cheri/Holmakefile
deleted file mode 100644
index d64fc3fd..00000000
--- a/cheri/Holmakefile
+++ /dev/null
@@ -1,11 +0,0 @@
-LEMDIR=../../lem/hol-lib
-
-INCLUDES = $(LEMDIR) ../lib/hol
-
-all: cheriTheory.uo
-.PHONY: all
-
-ifdef POLY
-BASE_HEAP = ../lib/hol/sail-heap
-
-endif
diff --git a/cheri/LOOKING_FOR_SOMETHING.txt b/cheri/LOOKING_FOR_SOMETHING.txt
new file mode 100644
index 00000000..7cd539a3
--- /dev/null
+++ b/cheri/LOOKING_FOR_SOMETHING.txt
@@ -0,0 +1 @@
+The cheri spec. now lives at https://github.com/CTSRD-CHERI/sail-cheri-mips .
diff --git a/cheri/Makefile b/cheri/Makefile
deleted file mode 100644
index 3d02bfad..00000000
--- a/cheri/Makefile
+++ /dev/null
@@ -1,137 +0,0 @@
-THIS_MAKEFILE := $(realpath $(lastword $(MAKEFILE_LIST)))
-SAIL_DIR:=$(realpath $(dir $(THIS_MAKEFILE))..)
-export SAIL_DIR
-SAIL_LIB_DIR:=$(SAIL_DIR)/lib
-MIPS_SAIL_DIR:=$(SAIL_DIR)/mips
-CHERI_SAIL_DIR:=$(SAIL_DIR)/cheri
-SAIL:=$(SAIL_DIR)/sail
-SAIL_LIB_HEADERS:=
-
-MIPS_PRE:=$(MIPS_SAIL_DIR)/prelude.sail $(MIPS_SAIL_DIR)/mips_prelude.sail
-MIPS_TLB:=$(MIPS_SAIL_DIR)/mips_tlb.sail
-MIPS_TLB_STUB:=$(MIPS_SAIL_DIR)/mips_tlb_stub.sail
-MIPS_INSTS:=$(MIPS_SAIL_DIR)/mips_insts.sail
-MIPS_EPILOGUE:=$(MIPS_SAIL_DIR)/mips_ri.sail $(MIPS_SAIL_DIR)/mips_epilogue.sail
-CHERI_PRE:=$(CHERI_SAIL_DIR)/cheri_types.sail $(CHERI_SAIL_DIR)/cheri_prelude_256.sail $(CHERI_SAIL_DIR)/cheri_prelude_common.sail
-CHERI128_PRE:=$(CHERI_SAIL_DIR)/cheri_types.sail $(CHERI_SAIL_DIR)/cheri_prelude_128.sail $(CHERI_SAIL_DIR)/cheri_prelude_common.sail
-CHERI_INSTS:=$(CHERI_SAIL_DIR)/cheri_insts.sail
-
-CHERI_SAILS:=$(SAIL_LIB_HEADERS) $(MIPS_PRE) $(MIPS_TLB) $(CHERI_PRE) $(MIPS_INSTS) $(CHERI_INSTS) $(MIPS_EPILOGUE)
-CHERI_MONO_SAILS:=$(SAIL_LIB_HEADERS) $(MIPS_PRE) $(SAIL_LIB_DIR)/mono_rewrites.sail $(MIPS_TLB) $(CHERI_PRE) $(MIPS_INSTS) $(CHERI_INSTS) $(MIPS_EPILOGUE)
-CHERI_NO_TLB_SAILS:=$(SAIL_LIB_HEADERS) $(MIPS_PRE) $(MIPS_TLB_STUB) $(CHERI_PRE) $(MIPS_INSTS) $(CHERI_INSTS) $(MIPS_EPILOGUE)
-CHERI128_SAILS:=$(SAIL_LIB_HEADERS) $(MIPS_PRE) $(MIPS_TLB) $(CHERI128_PRE) $(MIPS_INSTS) $(CHERI_INSTS) $(MIPS_EPILOGUE)
-CHERI128_NO_TLB_SAILS:=$(SAIL_LIB_HEADERS) $(MIPS_PRE) $(MIPS_TLB_STUB) $(CHERI128_PRE) $(MIPS_INSTS) $(CHERI_INSTS) $(MIPS_EPILOGUE)
-CHERI_MAIN:=$(MIPS_SAIL_DIR)/main.sail
-
-cheri: $(CHERI_SAILS) $(CHERI_MAIN)
- $(SAIL) -ocaml -o $@ $^
-
-cheri_coverage: $(CHERI_SAILS) $(CHERI_MAIN)
- $(SAIL) -ocaml-coverage -ocaml -o $@ $^
-
-cheri_trace: $(CHERI_SAILS) $(CHERI_MAIN)
- $(SAIL) -ocaml_trace -o $@ $^
-
-coverage_report: bisect*.out
- bisect-ppx-report -I _sbuild/_build -html $@ $^
-
-cheri.c: $(CHERI_SAILS) $(CHERI_MAIN)
- $(SAIL) -memo_z3 -O -c $^ 1> $@
-
-C_OPT=-O2
-GCOV_FLAGS=
-cheri_c: cheri.c ../lib/sail.h Makefile
- gcc $(C_OPT) $(GCOV_FLAGS) $< ../lib/*.c -lgmp -lz -I ../lib/ -o $@
-
-# Note that for coverage purposes O1 appears optimal. O0 means lots of obviously dead code but O2 risks reducing granularity too much.
-cheri_c_gcov: C_OPT=-O1
-cheri_c_gcov: GCOV_FLAGS=-fprofile-arcs -ftest-coverage
-cheri_c_gcov: cheri_c
-
-gcovr:
- gcovr -r . --html --html-detail -o index.html
-
-latex_128: $(MIPS_SAIL_DIR)/prelude.sail $(CHERI_SAIL_DIR)/cheri_types.sail $(CHERI_SAIL_DIR)/cheri_prelude_128.sail
- rm -rf sail_latexcc
- $(SAIL) -latex -latex_prefix sailcc -o sail_latexcc $^
-
-latex_256: $(CHERI_SAILS)
- rm -rf sail_latex
- $(SAIL) -latex $^
-
-latex: latex_128 latex_256
-
-# to install latex in the right place - specific to PS checkouts
-CHERI_ARCH_PATH=/home/pes20/repos/ctsrd/reports/cheri-architecture
-install_latex:
- rm -rf $(CHERI_ARCH_PATH)/sail_latex/*.tex
- cp sail_latex/*.tex $(CHERI_ARCH_PATH)/sail_latex
- rm -rf $(CHERI_ARCH_PATH)/sail_latexcc/*.tex
- cp sail_latexcc/*.tex $(CHERI_ARCH_PATH)/sail_latexcc
-
-cheri128: $(CHERI128_SAILS) $(CHERI_MAIN)
- $(SAIL) -ocaml -o $@ $^
-
-cheri128_trace: $(CHERI128_SAILS) $(CHERI_MAIN)
- $(SAIL) -ocaml_trace -o $@ $^
-
-cheri128.c: $(CHERI128_SAILS) $(CHERI_MAIN)
- $(SAIL) -memo_z3 -O -c $^ 1> $@
-
-cheri128_c: cheri128.c ../lib/sail.h Makefile
- gcc $(C_OPT) $(GCOV_FLAGS) $< ../lib/*.c -lgmp -lz -I ../lib/ -o $@
-
-# Note that for coverage purposes O1 appears optimal. O0 means lots of obviously dead code but O2 risks reducing granularity too much.
-cheri128_c_gcov: C_OPT=-O1
-cheri128_c_gcov: GCOV_FLAGS=-fprofile-arcs -ftest-coverage
-cheri128_c_gcov: cheri128_c
-
-LOC_FILES:=$(CHERI_SAILS) $(CHERI_MAIN)
-include ../etc/loc.mk
-
-# TODO Using bit lists for now in Lem generation; for machine words,
-# monomorphisation is needed due to some variable length bitvectors, e.g. in
-# CLoad as of commit b34c3fb, in the TLB translation, and in compressed
-# capability functions
-
-cheri_no_tlb.lem: $(CHERI_NO_TLB_SAILS)
- $(SAIL) -lem -o cheri_no_tlb -lem_lib Mips_extras -undefined_gen -memo_z3 $^
-cheri_no_tlb_types.lem: cheri_no_tlb.lem
-
-cheri.lem: $(CHERI_MONO_SAILS) $(CHERI_MAIN)
- $(SAIL) -lem -o cheri -auto_mono -mono_rewrites -lem_mwords -lem_lib Mips_extras -undefined_gen -memo_z3 $^
-cheri_types.lem: cheri.lem
-
-cheri128_no_tlb.lem: $(CHERI128_NO_TLB_SAILS)
- $(SAIL) -lem -o cheri128_no_tlb -lem_lib Mips_extras -undefined_gen -memo_z3 $^
-cheri128_no_tlb_types.lem: cheri128_no_tlb.lem
-
-cheri128.lem: $(CHERI128_SAILS)
- $(SAIL) -lem -o cheri128 -lem_lib Mips_extras -undefined_gen -memo_z3 $^
-cheri128_types.lem: cheri128.lem
-
-C%.thy: c%.lem c%_types.lem $(MIPS_SAIL_DIR)/mips_extras.lem
- lem -isa -outdir . -lib Sail=$(SAIL_DIR)/src/gen_lib -lib Sail=$(SAIL_DIR)/src/lem_interp $^
- sed -i 's/datatype ast/datatype (plugins only: size) ast/' C$*_types.thy
-
-%Script.sml: %.lem %_types.lem $(MIPS_SAIL_DIR)/mips_extras.lem
- lem -hol -outdir . -lib $(SAIL_DIR)/lib/hol -i $(SAIL_DIR)/lib/hol/sail2_prompt_monad.lem -i $(SAIL_DIR)/lib/hol/sail2_prompt.lem -lib $(SAIL_DIR)/src/gen_lib -lib $(SAIL_DIR)/src/lem_interp $^
-
-%Theory.uo: %Script.sml
- Holmake $@
-
-cheri.v cheri_types.v: $(CHERI_SAILS)
- $(SAIL) -coq -o cheri -coq_lib mips_extras -undefined_gen -memo_z3 -dcoq_undef_axioms $^
-
-CHERI_COQ = cheri_types.v mips_extras.v cheri.v
-COQ_LIBS = -R ../../bbv/theories bbv -R ../lib/coq Sail
-
-%.vo: %.v
- coqc $(COQ_LIBS) $<
-cheri.vo: cheri_types.vo mips_extras.vo
-
-clean:
- rm -rf cheri cheri_trace cheri_coverage cheri128 cheri128_trace _sbuild inst_*.sail cheri.c sail_latex sail_latexcc coverage_report
- rm -f cheriScript.sml cheri_typesScript.sml mips_extrasScript.sml
- rm -f cheri.v cheri_types.v $(CHERI_COQ:%.v=%.vo) $(CHERI_COQ:%.v=%.glob) $(CHERI_COQ:%.v=.%.aux)
- -Holmake cleanAll
diff --git a/cheri/ROOT b/cheri/ROOT
deleted file mode 100644
index 244413d5..00000000
--- a/cheri/ROOT
+++ /dev/null
@@ -1,4 +0,0 @@
-session "Sail-CHERI" = "Sail" +
- options [document = false]
- theories
- Cheri_lemmas
diff --git a/cheri/cheri_insts.sail b/cheri/cheri_insts.sail
deleted file mode 100644
index f1038ed6..00000000
--- a/cheri/cheri_insts.sail
+++ /dev/null
@@ -1,1353 +0,0 @@
-/*========================================================================*/
-/* */
-/* Copyright (c) 2015-2017 Robert M. Norton */
-/* Copyright (c) 2015-2017 Kathyrn Gray */
-/* All rights reserved. */
-/* */
-/* This software was developed by the University of Cambridge Computer */
-/* Laboratory as part of the Rigorous Engineering of Mainstream Systems */
-/* (REMS) project, funded by EPSRC grant EP/K008528/1. */
-/* */
-/* Redistribution and use in source and binary forms, with or without */
-/* modification, are permitted provided that the following conditions */
-/* are met: */
-/* 1. Redistributions of source code must retain the above copyright */
-/* notice, this list of conditions and the following disclaimer. */
-/* 2. Redistributions in binary form must reproduce the above copyright */
-/* notice, this list of conditions and the following disclaimer in */
-/* the documentation and/or other materials provided with the */
-/* distribution. */
-/* */
-/* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' */
-/* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED */
-/* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A */
-/* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR */
-/* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
-/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
-/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF */
-/* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND */
-/* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, */
-/* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT */
-/* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF */
-/* SUCH DAMAGE. */
-/*========================================================================*/
-
-/* Old encodings */
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00000000 @ 0b000) = Some(CGetPerm(rd, cb))
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00000000 @ 0b001) = Some(CGetType(rd, cb))
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00000000 @ 0b010) = Some(CGetBase(rd, cb))
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00000000 @ 0b011) = Some(CGetLen(rd, cb))
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00000000 @ 0b101) = Some(CGetTag(rd, cb))
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00000000 @ 0b110) = Some(CGetSealed(rd, cb))
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ 0b00000 @ 0b00000000 @ 0b100) = Some(CGetCause(rd))
-
-function clause decode (0b010010 @ 0b00110 @ 0b000000000000000000000) = Some(CReturn())
-
-function clause decode (0b010010 @ 0b01101 @ rd : regno @ cb : regno @ 0b00000000 @ 0b010) = Some(CGetOffset(rd, cb)) /* NB encoding does not follow pattern */
-function clause decode (0b010010 @ 0b00100 @ 0b00000 @ 0b00000 @ rt : regno @ 0b000 @ 0b100) = Some(CSetCause(rt))
-function clause decode (0b010010 @ 0b00100 @ cd : regno @ cb : regno @ rt : regno @ 0b000 @ 0b000) = Some(CAndPerm(cd, cb, rt))
-function clause decode (0b010010 @ 0b01100 @ rd : regno @ cb : regno @ ct : regno @ 0b000 @ 0b000) = Some(CToPtr(rd, cb, ct))
-
-function clause decode (0b010010 @ 0b01110 @ rd : regno @ cb : regno @ ct : regno @ 0b000 @ 0b000) = Some(CPtrCmp(rd, cb, ct, CEQ))
-function clause decode (0b010010 @ 0b01110 @ rd : regno @ cb : regno @ ct : regno @ 0b000 @ 0b001) = Some(CPtrCmp(rd, cb, ct, CNE))
-function clause decode (0b010010 @ 0b01110 @ rd : regno @ cb : regno @ ct : regno @ 0b000 @ 0b010) = Some(CPtrCmp(rd, cb, ct, CLT))
-function clause decode (0b010010 @ 0b01110 @ rd : regno @ cb : regno @ ct : regno @ 0b000 @ 0b011) = Some(CPtrCmp(rd, cb, ct, CLE))
-function clause decode (0b010010 @ 0b01110 @ rd : regno @ cb : regno @ ct : regno @ 0b000 @ 0b100) = Some(CPtrCmp(rd, cb, ct, CLTU))
-function clause decode (0b010010 @ 0b01110 @ rd : regno @ cb : regno @ ct : regno @ 0b000 @ 0b101) = Some(CPtrCmp(rd, cb, ct, CLEU))
-function clause decode (0b010010 @ 0b01110 @ rd : regno @ cb : regno @ ct : regno @ 0b000 @ 0b110) = Some(CPtrCmp(rd, cb, ct, CEXEQ))
-function clause decode (0b010010 @ 0b01110 @ rd : regno @ cb : regno @ ct : regno @ 0b000 @ 0b111) = Some(CPtrCmp(rd, cb, ct, CNEXEQ))
-function clause decode (0b010010 @ 0b01101 @ cd : regno @ cb : regno @ rt : regno @ 0b000 @ 0b000) = Some(CIncOffset(cd, cb, rt))
-function clause decode (0b010010 @ 0b01101 @ cd : regno @ cb : regno @ rt : regno @ 0b000 @ 0b001) = Some(CSetOffset(cd, cb, rt))
-function clause decode (0b010010 @ 0b00001 @ cd : regno @ cb : regno @ rt : regno @ 0b000000) = Some(CSetBounds(cd, cb, rt))
-
-function clause decode (0b010010 @ 0b00100 @ cd : regno @ cb : regno @ 0b00000 @ 0b000@ 0b101) = Some(CClearTag(cd, cb))
-function clause decode (0b010010 @ 0b00100 @ cd : regno @ cb : regno @ rt : regno @ 0b000@ 0b111) = Some(CFromPtr(cd, cb, rt))
-function clause decode (0b010010 @ 0b01011 @ cs : regno @ 0b00000 @ rt : regno @ 0b000@ 0b000) = Some(CCheckPerm(cs, rt))
-function clause decode (0b010010 @ 0b01011 @ cs : regno @ cb : regno @ 0b00000 @ 0b000@ 0b001) = Some(CCheckType(cs, cb))
-function clause decode (0b010010 @ 0b00010 @ cd : regno @ cs : regno @ ct : regno @ 0b000@ 0b000) = Some(CSeal(cd, cs, ct))
-function clause decode (0b010010 @ 0b00011 @ cd : regno @ cs : regno @ ct : regno @ 0b000@ 0b000) = Some(CUnseal(cd, cs, ct))
-function clause decode (0b010010 @ 0b00111 @ cd : regno @ cb : regno @ 0b00000 @ 0b000000) = Some(CJALR(cd, cb, true)) /* CJALR */
-function clause decode (0b010010 @ 0b01000 @ 0b00000 @ cb : regno @ 0b00000 @ 0b000000) = Some(CJALR(0b00000, cb, false)) /* CJR */
-
-
-/*
-New encodings as per CHERI ISA Appendix B.2.
-
-NB: Must be careful about order of matching because unused register
-fields are re-used as additional function codes.
-*/
-
-/* One arg */
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ 0b00001 @ 0b11111 @ 0b111111) = Some(CGetCause(rd))
-function clause decode (0b010010 @ 0b00000 @ rs : regno @ 0b00010 @ 0b11111 @ 0b111111) = Some(CSetCause(rs))
-function clause decode (0b010010 @ 0b00000 @ cd : regno @ 0b00000 @ 0b11111 @ 0b111111) = Some(CGetPCC(cd))
-function clause decode (0b010010 @ 0b00000 @ cb : regno @ 0b00011 @ 0b11111 @ 0b111111) = Some(CJALR(0b00000, cb, false)) /* CJR */
-
-/* Two arg */
-function clause decode (0b010010 @ 0b00000 @ cs : regno @ rt : regno @ 0b01000 @ 0b111111) = Some(CCheckPerm(cs, rt))
-function clause decode (0b010010 @ 0b00000 @ cs : regno @ cb : regno @ 0b01001 @ 0b111111) = Some(CCheckType(cs, cb))
-function clause decode (0b010010 @ 0b00000 @ cd : regno @ cb : regno @ 0b01011 @ 0b111111) = Some(CClearTag(cd, cb))
-function clause decode (0b010010 @ 0b00000 @ cd : regno @ cs : regno @ 0b01010 @ 0b111111) = Some(CMOVX(cd, cs, 0b00000, false)) /* CMOVE */
-function clause decode (0b010010 @ 0b00000 @ cd : regno @ cb : regno @ 0b01100 @ 0b111111) = Some(CJALR(cd, cb, true)) /* CJALR */
-
-/* Capability Inspection */
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00000 @ 0b111111) = Some(CGetPerm(rd, cb))
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00001 @ 0b111111) = Some(CGetType(rd, cb))
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00010 @ 0b111111) = Some(CGetBase(rd, cb))
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00011 @ 0b111111) = Some(CGetLen(rd, cb))
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00100 @ 0b111111) = Some(CGetTag(rd, cb))
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00101 @ 0b111111) = Some(CGetSealed(rd, cb))
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00110 @ 0b111111) = Some(CGetOffset(rd, cb))
-function clause decode (0b010010 @ 0b00000 @ cd : regno @ rs : regno @ 0b00111 @ 0b111111) = Some(CGetPCCSetOffset(cd, rs))
-
-function clause decode (0b010010 @ 0b00000 @ cd : regno @ sel : regno @ 0b01101 @ 0b111111) = Some(CReadHwr(cd, sel))
-function clause decode (0b010010 @ 0b00000 @ cb : regno @ sel : regno @ 0b01110 @ 0b111111) = Some(CWriteHwr(cb, sel))
-
-function clause decode (0b010010 @ 0b00000 @ cb : regno @ sel : regno @ 0b01111 @ 0b111111) = Some(CGetAddr(cb, sel))
-
-/* Three operand */
-
-/* Capability Modification */
-function clause decode (0b010010 @ 0b00000 @ cd : regno @ cs : regno @ ct : regno @ 0b001011) = Some(CSeal(cd, cs, ct))
-function clause decode (0b010010 @ 0b00000 @ cd : regno @ cs : regno @ ct : regno @ 0b001100) = Some(CUnseal(cd, cs, ct))
-function clause decode (0b010010 @ 0b00000 @ cd : regno @ cs : regno @ rt : regno @ 0b001101) = Some(CAndPerm(cd, cs, rt))
-function clause decode (0b010010 @ 0b00000 @ cd : regno @ cs : regno @ rt : regno @ 0b001111) = Some(CSetOffset(cd, cs, rt))
-function clause decode (0b010010 @ 0b00000 @ cd : regno @ cs : regno @ rt : regno @ 0b001000) = Some(CSetBounds(cd, cs, rt))
-function clause decode (0b010010 @ 0b00000 @ cd : regno @ cs : regno @ rt : regno @ 0b001001) = Some(CSetBoundsExact(cd, cs, rt))
-
-
-function clause decode (0b010010 @ 0b00000 @ cd : regno @ cb : regno @ rt : regno @ 0b010001) = Some(CIncOffset(cd, cb, rt))
-function clause decode (0b010010 @ 0b00000 @ cd : regno @ cb : regno @ ct : regno @ 0b011101) = Some(CBuildCap(cd, cb, ct))
-function clause decode (0b010010 @ 0b00000 @ cd : regno @ cb : regno @ ct : regno @ 0b011110) = Some(CCopyType(cd, cb, ct))
-function clause decode (0b010010 @ 0b00000 @ cd : regno @ cs : regno @ ct : regno @ 0b011111) = Some(CCSeal(cd, cs, ct))
-
-/* Pointer Arithmetic */
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ ct : regno @ 0b010010) = Some(CToPtr(rd, cb, ct))
-function clause decode (0b010010 @ 0b00000 @ cd : regno @ cb : regno @ rs : regno @ 0b010011) = Some(CFromPtr(cd, cb, rs))
-function clause decode (0b010010 @ 0b00000 @ rt : regno @ cb : regno @ cs : regno @ 0b001010) = Some(CSub(rt, cb, cs))
-function clause decode (0b010010 @ 0b00000 @ cd : regno @ cs : regno @ rs : regno @ 0b011011) = Some(CMOVX(cd, cs, rs, false)) /* CMOVZ */
-function clause decode (0b010010 @ 0b00000 @ cd : regno @ cs : regno @ rs : regno @ 0b011100) = Some(CMOVX(cd, cs, rs, true)) /* CMOVN */
-
-/* Pointer Comparison */
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ cs : regno @ 0b010100) = Some(CPtrCmp(rd, cb, cs, CEQ))
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ cs : regno @ 0b010101) = Some(CPtrCmp(rd, cb, cs, CNE))
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ cs : regno @ 0b010110) = Some(CPtrCmp(rd, cb, cs, CLT))
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ cs : regno @ 0b010111) = Some(CPtrCmp(rd, cb, cs, CLE))
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ cs : regno @ 0b011000) = Some(CPtrCmp(rd, cb, cs, CLTU))
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ cs : regno @ 0b011001) = Some(CPtrCmp(rd, cb, cs, CLEU))
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ cs : regno @ 0b011010) = Some(CPtrCmp(rd, cb, cs, CEXEQ))
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ cs : regno @ 0b100001) = Some(CPtrCmp(rd, cb, cs, CNEXEQ))
-
-function clause decode (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ ct : regno @ 0b100000) = Some(CTestSubset(rd, cb, ct))
-
-function clause decode (0b010010 @ 0b01001 @ cd : regno @ imm : bits(16)) = Some(CBX(cd, imm, true)) /* CBTU */
-function clause decode (0b010010 @ 0b01010 @ cd : regno @ imm : bits(16)) = Some(CBX(cd, imm, false)) /* CBTS */
-function clause decode (0b010010 @ 0b10001 @ cd : regno @ imm : bits(16)) = Some(CBZ(cd, imm, false)) /* CBEZ */
-function clause decode (0b010010 @ 0b10010 @ cd : regno @ imm : bits(16)) = Some(CBZ(cd, imm, true)) /* CBNZ */
-
-function clause decode (0b010010 @ 0b00101 @ 0b00000 @ 0b00000 @ 0b11111111111) = Some(CReturn())
-function clause decode (0b010010 @ 0b00101 @ cs : regno @ cb : regno @ selector : bits(11)) = Some(CCall(cs, cb, selector))
-
-function clause decode (0b010010 @ 0b01111 @ 0b00000 @ imm : bits(16)) = Some(ClearRegs(GPLo, imm))
-function clause decode (0b010010 @ 0b01111 @ 0b00001 @ imm : bits(16)) = Some(ClearRegs(GPHi, imm))
-function clause decode (0b010010 @ 0b01111 @ 0b00010 @ imm : bits(16)) = Some(ClearRegs(CLo, imm))
-function clause decode (0b010010 @ 0b01111 @ 0b00011 @ imm : bits(16)) = Some(ClearRegs(CHi, imm))
-
-function clause decode (0b010010 @ 0b10011 @ cd : regno @ cb : regno @ imm : bits(11)) = Some(CIncOffsetImmediate(cd, cb, imm))
-function clause decode (0b010010 @ 0b10100 @ cd : regno @ cb : regno @ imm : bits(11)) = Some(CSetBoundsImmediate(cd, cb, imm))
-
-function clause decode (0b110010 @ rd : regno @ cb : regno@ rt : regno @ offset : bits(8) @ 0b0 @ 0b00) = Some(CLoad(rd, cb, rt, offset, false, B, false)) /* CLBU */
-function clause decode (0b110010 @ rd : regno @ cb : regno@ rt : regno @ offset : bits(8) @ 0b1 @ 0b00) = Some(CLoad(rd, cb, rt, offset, true, B, false)) /* CLB */
-function clause decode (0b110010 @ rd : regno @ cb : regno@ rt : regno @ offset : bits(8) @ 0b0 @ 0b01) = Some(CLoad(rd, cb, rt, offset, false, H, false)) /* CLHU */
-function clause decode (0b110010 @ rd : regno @ cb : regno@ rt : regno @ offset : bits(8) @ 0b1 @ 0b01) = Some(CLoad(rd, cb, rt, offset, true, H, false)) /* CLH */
-function clause decode (0b110010 @ rd : regno @ cb : regno@ rt : regno @ offset : bits(8) @ 0b0 @ 0b10) = Some(CLoad(rd, cb, rt, offset, false, W, false)) /* CLWU */
-function clause decode (0b110010 @ rd : regno @ cb : regno@ rt : regno @ offset : bits(8) @ 0b1 @ 0b10) = Some(CLoad(rd, cb, rt, offset, true, W, false)) /* CLW */
-function clause decode (0b110010 @ rd : regno @ cb : regno@ rt : regno @ offset : bits(8) @ 0b0 @ 0b11) = Some(CLoad(rd, cb, rt, offset, false, D, false)) /* CLD */
-
-function clause decode (0b010010 @ 0b10000 @ rd : regno @ cb : regno @ 0b00000001 @ 0b0 @ 0b00) = Some(CLoad(rd, cb, 0b00000, 0b00000000, false, B, true)) /* CLLBU */
-function clause decode (0b010010 @ 0b10000 @ rd : regno @ cb : regno @ 0b00000001 @ 0b1 @ 0b00) = Some(CLoad(rd, cb, 0b00000, 0b00000000, true, B, true)) /* CLLB */
-function clause decode (0b010010 @ 0b10000 @ rd : regno @ cb : regno @ 0b00000001 @ 0b0 @ 0b01) = Some(CLoad(rd, cb, 0b00000, 0b00000000, false, H, true)) /* CLLHU */
-function clause decode (0b010010 @ 0b10000 @ rd : regno @ cb : regno @ 0b00000001 @ 0b1 @ 0b01) = Some(CLoad(rd, cb, 0b00000, 0b00000000, true, H, true)) /* CLLH */
-function clause decode (0b010010 @ 0b10000 @ rd : regno @ cb : regno @ 0b00000001 @ 0b0 @ 0b10) = Some(CLoad(rd, cb, 0b00000, 0b00000000, false, W, true)) /* CLLWU */
-function clause decode (0b010010 @ 0b10000 @ rd : regno @ cb : regno @ 0b00000001 @ 0b1 @ 0b10) = Some(CLoad(rd, cb, 0b00000, 0b00000000, true, W, true)) /* CLLW */
-function clause decode (0b010010 @ 0b10000 @ rd : regno @ cb : regno @ 0b00000001 @ 0b0 @ 0b11) = Some(CLoad(rd, cb, 0b00000, 0b00000000, false, D, true)) /* CLLD */
-
-function clause decode (0b111010 @ rs : regno @ cb : regno@ rt : regno @ offset : bits(8) @ 0b0 @ 0b00) = Some(CStore(rs, cb, rt, 0b00000, offset, B, false)) /* CSB */
-function clause decode (0b111010 @ rs : regno @ cb : regno@ rt : regno @ offset : bits(8) @ 0b0 @ 0b01) = Some(CStore(rs, cb, rt, 0b00000, offset, H, false)) /* CSH */
-function clause decode (0b111010 @ rs : regno @ cb : regno@ rt : regno @ offset : bits(8) @ 0b0 @ 0b10) = Some(CStore(rs, cb, rt, 0b00000, offset, W, false)) /* CSW */
-function clause decode (0b111010 @ rs : regno @ cb : regno@ rt : regno @ offset : bits(8) @ 0b0 @ 0b11) = Some(CStore(rs, cb, rt, 0b00000, offset, D, false)) /* CSD */
-
-function clause decode (0b010010 @ 0b10000 @ rs : regno @ cb : regno @ rd : regno @ 0b0000 @ 0b00) = Some(CStore(rs, cb, 0b00000, rd, 0b00000000, B, true)) /* CSCB */
-function clause decode (0b010010 @ 0b10000 @ rs : regno @ cb : regno @ rd : regno @ 0b0000 @ 0b01) = Some(CStore(rs, cb, 0b00000, rd, 0b00000000, H, true)) /* CSCH */
-function clause decode (0b010010 @ 0b10000 @ rs : regno @ cb : regno @ rd : regno @ 0b0000 @ 0b10) = Some(CStore(rs, cb, 0b00000, rd, 0b00000000, W, true)) /* CSCW */
-function clause decode (0b010010 @ 0b10000 @ rs : regno @ cb : regno @ rd : regno @ 0b0000 @ 0b11) = Some(CStore(rs, cb, 0b00000, rd, 0b00000000, D, true)) /* CSCD */
-
-function clause decode (0b111110 @ cs : regno @ cb : regno@ rt : regno @ offset : bits(11)) = Some(CSC(cs, cb, rt, 0b00000, offset, false))
-function clause decode (0b010010 @ 0b10000 @ cs : regno @ cb : regno@ rd : regno @ 0b00 @ 0b0111) = Some(CSC(cs, cb, 0b00000, rd, 0b00000000000, true)) /* CSCC */
-
-function clause decode (0b110110 @ cd : regno @ cb : regno @ rt : regno @ offset : bits(11)) = Some(CLC(cd, cb, rt, sign_extend(offset), false)) /* CLC */
-function clause decode (0b010010 @ 0b10000 @ cd : regno @ cb : regno@ 0b0000000 @ 0b1111) = Some(CLC(cd, cb, 0b00000, 0x0000, true)) /* CLLC */
-function clause decode (0b011101 @ cd : regno @ cb : regno @ offset : bits(16)) = Some(CLC(cd, cb, 0b00000, offset, false)) /* CLCBI */
-
-function clause decode (0b010010 @ 0b00100 @ rt : regno @ 0x0006) = Some(C2Dump(rt))
-
-/* Operations that extract parts of a capability into GPR */
-
-union clause ast = CGetPerm : (regno, regno)
-union clause ast = CGetType : (regno, regno)
-union clause ast = CGetBase : (regno, regno)
-union clause ast = CGetLen : (regno, regno)
-union clause ast = CGetTag : (regno, regno)
-union clause ast = CGetSealed : (regno, regno)
-union clause ast = CGetOffset : (regno, regno)
-union clause ast = CGetAddr : (regno, regno)
-
-function clause execute (CGetPerm(rd, cb)) =
-{
- checkCP2usable();
- if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else
- let capVal = readCapReg(cb) in
- wGPR(rd) = zero_extend(getCapPerms(capVal));
-}
-
-function clause execute (CGetType(rd, cb)) =
-{
- checkCP2usable();
- if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else
- let capVal = readCapReg(cb) in
- wGPR(rd) = if (capVal.sealed)
- then zero_extend(capVal.otype)
- else (bitone ^^ 64)
-}
-
-function clause execute (CGetBase(rd, cb)) =
-{
- checkCP2usable();
- if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else
- let capVal = readCapReg(cb) in
- wGPR(rd) = to_bits(64, getCapBase(capVal));
-}
-
-function clause execute (CGetOffset(rd, cb)) =
-{
- checkCP2usable();
- if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else
- let capVal = readCapReg(cb) in
- wGPR(rd) = to_bits(64, getCapOffset(capVal));
-}
-
-function clause execute (CGetLen(rd, cb)) =
-{
- checkCP2usable();
- if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else
- let capVal = readCapReg(cb) in
- let len65 = getCapLength(capVal) in
- wGPR(rd) = to_bits(64, if len65 > MAX_U64 then MAX_U64 else len65);
-}
-
-function clause execute (CGetTag(rd, cb)) =
-{
- checkCP2usable();
- if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else
- let capVal = readCapReg(cb) in
- wGPR(rd) = zero_extend(capVal.tag);
-}
-
-function clause execute (CGetSealed(rd, cb)) =
-{
- checkCP2usable();
- if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else
- let capVal = readCapReg(cb) in
- wGPR(rd) = zero_extend(capVal.sealed);
-}
-
-function clause execute (CGetAddr(rd, cb)) =
-{
- checkCP2usable();
- if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else
- let capVal = readCapReg(cb) in
- wGPR(rd) = to_bits(64, getCapCursor(capVal));
-}
-
-union clause ast = CGetPCC : regno
-function clause execute (CGetPCC(cd)) =
-{
- checkCP2usable();
- if (register_inaccessible(cd)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cd)
- else
- let pcc = (capRegToCapStruct(PCC)) in
- let (success, pcc2) = setCapOffset(pcc, PC) in
- {assert (success, ""); /* guaranteed to be in-bounds */
- writeCapReg(cd, pcc2)};
-}
-
-
-union clause ast = CGetPCCSetOffset : (regno, regno)
-function clause execute (CGetPCCSetOffset(cd, rs)) =
-{
- checkCP2usable();
- if (register_inaccessible(cd)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cd)
- else
- let pcc = (capRegToCapStruct(PCC)) in
- let rs_val = rGPR(rs) in
- let (success, newPCC) = setCapOffset(pcc, rs_val) in
- if (success) then
- writeCapReg(cd, newPCC)
- else
- writeCapReg(cd, int_to_cap(rs_val));
-}
-/* Get and Set CP2 cause register */
-
-union clause ast = CGetCause : regno
-function clause execute (CGetCause(rd)) =
-{
- checkCP2usable();
- if not (pcc_access_system_regs ()) then
- raise_c2_exception_noreg(CapEx_AccessSystemRegsViolation)
- else
- wGPR(rd) = zero_extend(CapCause.bits())
-}
-
-union clause ast = CSetCause : regno
-function clause execute (CSetCause(rt)) =
-{
- checkCP2usable();
- if not (pcc_access_system_regs ()) then
- raise_c2_exception_noreg(CapEx_AccessSystemRegsViolation)
- else
- {
- let rt_val = rGPR(rt);
- CapCause->ExcCode() = rt_val[15..8];
- CapCause->RegNum() = rt_val[7..0];
- }
-}
-
-union clause ast = CReadHwr : (regno, regno)
-function clause execute (CReadHwr(cd, sel)) =
-{
- checkCP2usable();
- let (needSup, needAccessSys) : (bool, bool) = match unsigned(sel) {
- 0 => (false, false), /* DDC -- no access control */
- 1 => (false, false), /* CTLSU -- no access control */
- 8 => (false, true), /* CTLSP -- privileged TLS */
- 22 => (true, false), /* KR1C */
- 23 => (true, false), /* KR2C */
- 29 => (true, true), /* KCC */
- 30 => (true, true), /* KDC */
- 31 => (true, true), /* EPCC */
- _ => SignalException(ResI)
- };
- if register_inaccessible(cd) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cd)
- else if needAccessSys & not(pcc_access_system_regs()) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, sel)
- else if needSup & not(grantsAccess(getAccessLevel(), Supervisor)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, sel)
- else {
- capVal : CapStruct = match unsigned(sel) {
- 0 => capRegToCapStruct(DDC),
- 1 => capRegToCapStruct(CTLSU),
- 8 => capRegToCapStruct(CTLSP),
- 22 => capRegToCapStruct(KR1C),
- 23 => capRegToCapStruct(KR2C),
- 29 => capRegToCapStruct(KCC),
- 30 => capRegToCapStruct(KDC),
- 31 => capRegToCapStruct(EPCC),
- _ => {assert(false, "should be unreachable code"); undefined}
- };
- writeCapReg(cd, capVal);
- };
-}
-
-union clause ast = CWriteHwr : (regno, regno)
-function clause execute (CWriteHwr(cb, sel)) =
-{
- checkCP2usable();
- let (needSup, needAccessSys) : (bool, bool) = match unsigned(sel) {
- 0 => (false, false), /* DDC -- no access control */
- 1 => (false, false), /* CTLSU -- no access control */
- 8 => (false, true), /* CTLSP -- privileged TLS */
- 22 => (true, false), /* KR1C */
- 23 => (true, false), /* KR2C */
- 29 => (true, true), /* KCC */
- 30 => (true, true), /* KDC */
- 31 => (true, true), /* EPCC */
- _ => SignalException(ResI)
- };
- if register_inaccessible(cb) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if needAccessSys & not(pcc_access_system_regs()) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, sel)
- else if needSup & not(grantsAccess(getAccessLevel(), Supervisor)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, sel)
- else {
- capVal = readCapReg(cb);
- match unsigned(sel) {
- 0 => DDC = capStructToCapReg(capVal),
- 1 => CTLSU = capStructToCapReg(capVal),
- 8 => CTLSP = capStructToCapReg(capVal),
- 22 => KR1C = capStructToCapReg(capVal),
- 23 => KR2C = capStructToCapReg(capVal),
- 29 => KCC = capStructToCapReg(capVal),
- 30 => KDC = capStructToCapReg(capVal),
- 31 => EPCC = capStructToCapReg(capVal),
- _ => assert(false, "should be unreachable code")
- };
- };
-}
-
-union clause ast = CAndPerm : (regno, regno, regno)
-function clause execute(CAndPerm(cd, cb, rt)) =
-{
- checkCP2usable();
- let cb_val = readCapReg(cb);
- let rt_val = rGPR(rt);
- if (register_inaccessible(cd)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cd)
- else if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if not (cb_val.tag) then
- raise_c2_exception(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, cb)
- else
- let perms = getCapPerms(cb_val) in
- let newCap = setCapPerms(cb_val, (perms & rt_val[30..0])) in
- writeCapReg(cd, newCap);
-}
-
-
-
-union clause ast = CToPtr : (regno, regno, regno)
-function clause execute(CToPtr(rd, cb, ct)) =
-{
- checkCP2usable();
- let ct_val = readCapRegDDC(ct);
- let cb_val = readCapReg(cb);
- if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if (register_inaccessible(ct)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, ct)
- else if not (ct_val.tag) then
- raise_c2_exception(CapEx_TagViolation, ct)
- else if (cb_val.tag) & (cb_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, cb)
- else
- {
- let cbBase = getCapBase(cb_val) in
- let cbTop = getCapTop(cb_val) in
- let ctBase = getCapBase(ct_val) in
- let ctTop = getCapTop(ct_val) in
- wGPR(rd) = if (not (cb_val.tag)) |
- (cbBase < ctBase) |
- (cbTop > ctTop) then
- zeros()
- else
- to_bits(64, getCapCursor(cb_val) - ctBase)
- }
-}
-
-
-
-union clause ast = CSub : (regno, regno, regno)
-function clause execute(CSub(rd, cb, ct)) =
-{
- checkCP2usable();
- let ct_val = readCapReg(ct);
- let cb_val = readCapReg(cb);
- if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if (register_inaccessible(ct)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, ct)
- else
- {
- wGPR(rd) = to_bits(64, getCapCursor(cb_val) - getCapCursor(ct_val))
- }
-}
-
-union clause ast = CPtrCmp : (regno, regno, regno, CPtrCmpOp)
-function clause execute(CPtrCmp(rd, cb, ct, op)) =
-{
- checkCP2usable();
- if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if (register_inaccessible(ct)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, ct)
- else
- {
- let cb_val = readCapReg(cb);
- let ct_val = readCapReg(ct);
- equal = false;
- ltu = false;
- lts = false;
- if (cb_val.tag != ct_val.tag) then
- {
- if not (cb_val.tag) then
- {
- ltu = true;
- lts = true;
- }
- }
- else
- {
- cursor1 = getCapCursor(cb_val);
- cursor2 = getCapCursor(ct_val);
- equal = (cursor1 == cursor2);
- ltu = (cursor1 < cursor2);
- lts = to_bits(64, cursor1) <_s to_bits(64, cursor2);
- };
- let cmp : bool = match op {
- CEQ => equal,
- CNE => not (equal),
- CLT => lts,
- CLE => lts | equal,
- CLTU => ltu,
- CLEU => ltu | equal,
- CEXEQ => cb_val == ct_val,
- CNEXEQ => cb_val != ct_val
- };
- wGPR(rd) = zero_extend (cmp)
- }
-}
-
-union clause ast = CIncOffset : (regno, regno, regno)
-function clause execute (CIncOffset(cd, cb, rt)) =
-{
- checkCP2usable();
- cb_val = readCapReg(cb);
- rt_val = rGPR(rt);
- if (register_inaccessible(cd)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cd)
- else if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if ((cb_val.tag) & (cb_val.sealed) & (rt_val != 0x0000000000000000)) then
- raise_c2_exception(CapEx_SealViolation, cb)
- else
- let (success, newCap) = incCapOffset(cb_val, rt_val) in
- if (success) then
- writeCapReg(cd, newCap)
- else
- writeCapReg(cd, int_to_cap(to_bits(64, getCapBase(cb_val)) + rt_val))
-}
-
-union clause ast = CIncOffsetImmediate : (regno, regno, bits(11))
-function clause execute (CIncOffsetImmediate(cd, cb, imm)) =
-{
- checkCP2usable();
- let cb_val = readCapReg(cb);
- let imm64 : bits(64) = sign_extend(imm) in
- if (register_inaccessible(cd)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cd)
- else if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if ((cb_val.tag) & (cb_val.sealed)) then
- raise_c2_exception(CapEx_SealViolation, cb)
- else
- let (success, newCap) = incCapOffset(cb_val, imm64) in
- if (success) then
- writeCapReg(cd, newCap)
- else
- writeCapReg(cd, int_to_cap(to_bits(64, getCapBase(cb_val)) + imm64))
-}
-
-union clause ast = CSetOffset : (regno, regno, regno)
-function clause execute (CSetOffset(cd, cb, rt)) =
-{
- checkCP2usable();
- let cb_val = readCapReg(cb);
- let rt_val = rGPR(rt);
- if (register_inaccessible(cd)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cd)
- else if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if ((cb_val.tag) & (cb_val.sealed)) then
- raise_c2_exception(CapEx_SealViolation, cb)
- else
- let (success, newCap) = setCapOffset(cb_val, rt_val) in
- if (success) then
- writeCapReg(cd, newCap)
- else
- writeCapReg(cd, int_to_cap(to_bits(64, getCapBase(cb_val)) + rt_val))
-}
-
-union clause ast = CSetBounds : (regno, regno, regno)
-function clause execute (CSetBounds(cd, cb, rt)) =
-{
- checkCP2usable();
- let cb_val = readCapReg(cb);
- let rt_val = unsigned(rGPR(rt));
- cursor = getCapCursor(cb_val);
- base = getCapBase(cb_val);
- top = getCapTop(cb_val);
- newTop = cursor + rt_val;
- if (register_inaccessible(cd)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cd)
- else if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if not (cb_val.tag) then
- raise_c2_exception(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, cb)
- else if (cursor < base) then
- raise_c2_exception(CapEx_LengthViolation, cb)
- else if (newTop > top) then
- raise_c2_exception(CapEx_LengthViolation, cb)
- else
- let (_, newCap) = setCapBounds(cb_val, to_bits(64, cursor), to_bits(65, newTop)) in
- writeCapReg(cd, newCap) /* ignore exact */
-}
-
-union clause ast = CSetBoundsImmediate : (regno, regno, bits(11))
-function clause execute (CSetBoundsImmediate(cd, cb, imm)) =
-{
- checkCP2usable();
- cb_val = readCapReg(cb);
- immU = unsigned(imm);
- cursor = getCapCursor(cb_val);
- base = getCapBase(cb_val);
- top = getCapTop(cb_val);
- newTop = cursor + immU;
- if (register_inaccessible(cd)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cd)
- else if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if not (cb_val.tag) then
- raise_c2_exception(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, cb)
- else if (cursor < base) then
- raise_c2_exception(CapEx_LengthViolation, cb)
- else if (newTop > top) then
- raise_c2_exception(CapEx_LengthViolation, cb)
- else
- let (_, newCap) = setCapBounds(cb_val, to_bits(64, cursor), to_bits(65, newTop)) in
- writeCapReg(cd, newCap) /* ignore exact */
-}
-
-union clause ast = CSetBoundsExact : (regno, regno, regno)
-function clause execute (CSetBoundsExact(cd, cb, rt)) =
-{
- checkCP2usable();
- cb_val = readCapReg(cb);
- rt_val = unsigned(rGPR(rt));
- cursor = getCapCursor(cb_val);
- base = getCapBase(cb_val);
- top = getCapTop(cb_val);
- newTop = cursor + rt_val;
- if (register_inaccessible(cd)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cd)
- else if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if not (cb_val.tag) then
- raise_c2_exception(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, cb)
- else if (cursor < base) then
- raise_c2_exception(CapEx_LengthViolation, cb)
- else if (newTop > top) then
- raise_c2_exception(CapEx_LengthViolation, cb)
- else
- let (exact, newCap) = setCapBounds(cb_val, to_bits(64, cursor), to_bits(65, newTop)) in
- if not (exact) then
- raise_c2_exception(CapEx_InexactBounds, cb)
- else
- writeCapReg(cd, newCap)
-}
-
-union clause ast = CClearTag : (regno, regno)
-function clause execute (CClearTag(cd, cb)) =
-{
- checkCP2usable();
- if (register_inaccessible(cd)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cd)
- else if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else
- {
- cb_val = readCapReg(cb);
- writeCapReg(cd, {cb_val with tag=false});
- }
-}
-
-union clause ast = CMOVX : (regno,regno,regno,bool)
-function clause execute (CMOVX(cd, cb, rt, ismovn)) =
-{
- checkCP2usable();
- if (register_inaccessible(cd)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cd)
- else if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if ((rGPR(rt) == zeros()) ^ ismovn) then
- writeCapReg(cd) = readCapReg(cb);
-}
-
-union clause ast = ClearRegs : (ClearRegSet, bits(16))
-function clause execute (ClearRegs(regset, m)) =
-{
- if ((regset == CLo) | (regset == CHi)) then
- checkCP2usable();
- if (regset == CHi) then
- foreach (i from 0 to 15)
- let r = to_bits(5, i+16) in
- if (m[i] & register_inaccessible(r)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, r);
- foreach (i from 0 to 15)
- if (m[i]) then
- match regset {
- GPLo => wGPR(to_bits(5, i)) = zeros(),
- GPHi => wGPR(to_bits(5, i+16)) = zeros(),
- CLo => if i == 0 then
- DDC = capStructToCapReg(null_cap)
- else
- writeCapReg(to_bits(5, i)) = null_cap,
- CHi => writeCapReg(to_bits(5, i+16)) = null_cap
- }
-}
-
-union clause ast = CFromPtr : (regno, regno, regno)
-function clause execute (CFromPtr(cd, cb, rt)) =
-{
- checkCP2usable();
- cb_val = readCapRegDDC(cb);
- rt_val = rGPR(rt);
- if (register_inaccessible(cd)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cd)
- else if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if (rt_val == 0x0000000000000000) then
- writeCapReg(cd, null_cap)
- else if not (cb_val.tag) then
- raise_c2_exception(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, cb)
- else
- let (success, newCap) = setCapOffset(cb_val, rt_val) in
- if (success) then
- writeCapReg(cd, newCap)
- else
- writeCapReg(cd, int_to_cap(to_bits(64, getCapBase(cb_val)) + rt_val))
-}
-
-union clause ast = CBuildCap : (regno, regno, regno)
-function clause execute (CBuildCap(cd, cb, ct)) =
-{
- checkCP2usable();
- cb_val = readCapRegDDC(cb);
- ct_val = readCapReg(ct);
- cb_base = getCapBase(cb_val);
- ct_base = getCapBase(ct_val);
- cb_top = getCapTop(cb_val);
- ct_top = getCapTop(ct_val);
- cb_perms = getCapPerms(cb_val);
- ct_perms = getCapPerms(ct_val);
- ct_offset = getCapOffset(ct_val);
- if (register_inaccessible(cd)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cd)
- else if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if (register_inaccessible(ct)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, ct)
- else if not (cb_val.tag) then
- raise_c2_exception(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, cb)
- else if ct_base < cb_base then
- raise_c2_exception(CapEx_LengthViolation, cb)
- else if ct_top > cb_top then
- raise_c2_exception(CapEx_LengthViolation, cb)
- else if ct_base > ct_top then /* check for length < 0 - possible because ct might be untagged */
- raise_c2_exception(CapEx_LengthViolation, ct)
- else if (ct_perms & cb_perms) != ct_perms then
- raise_c2_exception(CapEx_UserDefViolation, cb)
- else
- let (exact, cd1) = setCapBounds(cb_val, to_bits(64, ct_base), to_bits(65, ct_top)) in
- let (representable, cd2) = setCapOffset(cd1, to_bits(64, ct_offset)) in
- let cd3 = setCapPerms(cd2, ct_perms) in
- {
- assert(exact, ""); /* base and top came from ct originally so will be exact */
- assert(representable, ""); /* similarly offset should be representable XXX except for fastRepCheck */
- writeCapReg(cd, cd3);
- }
-}
-
-union clause ast = CCopyType : (regno, regno, regno)
-function clause execute (CCopyType(cd, cb, ct)) =
-{
- checkCP2usable();
- cb_val = readCapReg(cb);
- ct_val = readCapReg(ct);
- cb_base = getCapBase(cb_val);
- cb_top = getCapTop(cb_val);
- ct_otype = unsigned(ct_val.otype);
- if (register_inaccessible(cd)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cd)
- else if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if (register_inaccessible(ct)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, ct)
- else if not (cb_val.tag) then
- raise_c2_exception(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, cb)
- else if (ct_val.sealed) then {
- if ct_otype < cb_base then
- raise_c2_exception(CapEx_LengthViolation, cb)
- else if ct_otype >= cb_top then
- raise_c2_exception(CapEx_LengthViolation, cb)
- else
- let (success, cap) = setCapOffset(cb_val, to_bits(64, ct_otype - cb_base)) in {
- assert(success, ""); /* offset is in bounds so must succeed */
- writeCapReg(cd, cap);
- }
- } else
- writeCapReg(cd, int_to_cap(bitone ^^ 64))
-}
-
-union clause ast = CCheckPerm : (regno, regno)
-function clause execute (CCheckPerm(cs, rt)) =
-{
- checkCP2usable();
- cs_val = readCapReg(cs);
- cs_perms : bits(64) = zero_extend(getCapPerms(cs_val));
- rt_perms = rGPR(rt);
- if (register_inaccessible(cs)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cs)
- else if not (cs_val.tag) then
- raise_c2_exception(CapEx_TagViolation, cs)
- else if ((cs_perms & rt_perms) != rt_perms) then
- raise_c2_exception(CapEx_UserDefViolation, cs)
-}
-
-union clause ast = CCheckType : (regno, regno)
-function clause execute (CCheckType(cs, cb)) =
-{
- checkCP2usable();
- cs_val = readCapReg(cs);
- cb_val = readCapReg(cb);
- if (register_inaccessible(cs)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cs)
- else if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if not (cs_val.tag) then
- raise_c2_exception(CapEx_TagViolation, cs)
- else if not (cb_val.tag) then
- raise_c2_exception(CapEx_TagViolation, cb)
- else if not (cs_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, cs)
- else if not (cb_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, cb)
- else if ((cs_val.otype) != (cb_val.otype)) then
- raise_c2_exception(CapEx_TypeViolation, cs)
-}
-
-union clause ast = CTestSubset : (regno, regno, regno)
-function clause execute (CTestSubset(rd, cb, ct)) =
-{
- checkCP2usable();
- cb_val = readCapRegDDC(cb);
- ct_val = readCapReg(ct);
- ct_top = getCapTop(ct_val);
- ct_base = getCapBase(ct_val);
- ct_perms = getCapPerms(ct_val);
- cb_top = getCapTop(cb_val);
- cb_base = getCapBase(cb_val);
- cb_perms = getCapPerms(cb_val);
- if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if (register_inaccessible(ct)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, ct)
- else {
- result : bits(1) = if (cb_val.tag != ct_val.tag) then
- 0b0
- else if (ct_base < cb_base) then
- 0b0
- else if (ct_top > cb_top) then
- 0b0
- else if ((ct_perms & cb_perms) != ct_perms) then
- 0b0
- else
- 0b1;
- wGPR(rd) = zero_extend(result);
- }
-}
-
-union clause ast = CSeal : (regno, regno, regno)
-function clause execute (CSeal(cd, cs, ct)) =
-{
- checkCP2usable();
- cs_val = readCapReg(cs);
- ct_val = readCapReg(ct);
- ct_cursor = getCapCursor(ct_val);
- ct_top = getCapTop(ct_val);
- ct_base = getCapBase(ct_val);
- if (register_inaccessible(cd)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cd)
- else if (register_inaccessible(cs)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cs)
- else if (register_inaccessible(ct)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, ct)
- else if not (cs_val.tag) then
- raise_c2_exception(CapEx_TagViolation, cs)
- else if not (ct_val.tag) then
- raise_c2_exception(CapEx_TagViolation, ct)
- else if (cs_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, cs)
- else if (ct_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, ct)
- else if not (ct_val.permit_seal) then
- raise_c2_exception(CapEx_PermitSealViolation, ct)
- else if (ct_cursor < ct_base) then
- raise_c2_exception(CapEx_LengthViolation, ct)
- else if (ct_cursor >= ct_top) then
- raise_c2_exception(CapEx_LengthViolation, ct)
- else if (ct_cursor > max_otype) then
- raise_c2_exception(CapEx_LengthViolation, ct)
- else
- let (success, newCap) = sealCap(cs_val, to_bits(24, ct_cursor)) in
- if not (success) then
- raise_c2_exception(CapEx_InexactBounds, cs)
- else
- writeCapReg(cd, newCap)
-}
-
-union clause ast = CCSeal : (regno, regno, regno)
-function clause execute (CCSeal(cd, cs, ct)) =
-{
- checkCP2usable();
- cs_val = readCapReg(cs);
- ct_val = readCapReg(ct);
- ct_cursor = getCapCursor(ct_val);
- ct_top = getCapTop(ct_val);
- ct_base = getCapBase(ct_val);
- if (register_inaccessible(cd)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cd)
- else if (register_inaccessible(cs)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cs)
- else if (register_inaccessible(ct)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, ct)
- else if not (cs_val.tag) then
- raise_c2_exception(CapEx_TagViolation, cs)
- else if (not (ct_val.tag)) | (getCapCursor(ct_val) == unsigned(bitone ^^ 64)) then
- writeCapReg(cd, cs_val)
- else if (cs_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, cs)
- else if (ct_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, ct)
- else if not (ct_val.permit_seal) then
- raise_c2_exception(CapEx_PermitSealViolation, ct)
- else if (ct_cursor < ct_base) then
- raise_c2_exception(CapEx_LengthViolation, ct)
- else if (ct_cursor >= ct_top) then
- raise_c2_exception(CapEx_LengthViolation, ct)
- else if (ct_cursor > max_otype) then
- raise_c2_exception(CapEx_LengthViolation, ct)
- else
- let (success, newCap) = sealCap(cs_val, to_bits(24, ct_cursor)) in
- if not (success) then
- raise_c2_exception(CapEx_InexactBounds, cs)
- else
- writeCapReg(cd, newCap)
-}
-
-union clause ast = CUnseal : (regno, regno, regno)
-function clause execute (CUnseal(cd, cs, ct)) =
-{
- checkCP2usable();
- cs_val = readCapReg(cs);
- ct_val = readCapReg(ct);
- ct_cursor = getCapCursor(ct_val);
- if (register_inaccessible(cd)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cd)
- else if (register_inaccessible(cs)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cs)
- else if (register_inaccessible(ct)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, ct)
- else if not (cs_val.tag) then
- raise_c2_exception(CapEx_TagViolation, cs)
- else if not (ct_val.tag) then
- raise_c2_exception(CapEx_TagViolation, ct)
- else if not (cs_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, cs)
- else if (ct_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, ct)
- else if (ct_cursor != unsigned(cs_val.otype)) then
- raise_c2_exception(CapEx_TypeViolation, ct)
- else if not (ct_val.permit_unseal) then
- raise_c2_exception(CapEx_PermitUnsealViolation, ct)
- else if (ct_cursor < getCapBase(ct_val)) then
- raise_c2_exception(CapEx_LengthViolation, ct)
- else if (ct_cursor >= getCapTop(ct_val)) then
- raise_c2_exception(CapEx_LengthViolation, ct)
- else
- writeCapReg(cd, {cs_val with
- sealed=false,
- otype=zeros(),
- global=(cs_val.global & ct_val.global)
- })
-}
-
-union clause ast = CCall : (regno, regno, bits(11))
-function clause execute (CCall(cs, cb, 0b00000000000)) = /* selector=0 */
-{
- /* Partial implementation of CCall with checks in hardware, but raising a trap to perform trusted stack manipulation */
- checkCP2usable();
- cs_val = readCapReg(cs);
- cb_val = readCapReg(cb);
- cs_cursor = getCapCursor(cs_val);
- if (register_inaccessible(cs)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cs)
- else if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if not (cs_val.tag) then
- raise_c2_exception(CapEx_TagViolation, cs)
- else if not (cb_val.tag) then
- raise_c2_exception(CapEx_TagViolation, cb)
- else if not (cs_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, cs)
- else if not (cb_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, cb)
- else if ((cs_val.otype) != (cb_val.otype)) then
- raise_c2_exception(CapEx_TypeViolation, cs)
- else if not (cs_val.permit_execute) then
- raise_c2_exception(CapEx_PermitExecuteViolation, cs)
- else if (cb_val.permit_execute) then
- raise_c2_exception(CapEx_PermitExecuteViolation, cb)
- else if (cs_cursor < getCapBase(cs_val)) then
- raise_c2_exception(CapEx_LengthViolation, cs)
- else if (cs_cursor >= getCapTop(cs_val)) then
- raise_c2_exception(CapEx_LengthViolation, cs)
- else
- raise_c2_exception(CapEx_CallTrap, cs);
-}
-
-function clause execute (CCall(cs, cb, 0b00000000001)) = /* selector=1 */
-{
- /* Jump-like implementation of CCall that unseals arguments */
- checkCP2usable();
- cs_val = readCapReg(cs);
- cb_val = readCapReg(cb);
- cs_cursor = getCapCursor(cs_val);
- if (register_inaccessible(cs)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cs)
- else if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if not (cs_val.tag) then
- raise_c2_exception(CapEx_TagViolation, cs)
- else if not (cb_val.tag) then
- raise_c2_exception(CapEx_TagViolation, cb)
- else if not (cs_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, cs)
- else if not (cb_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, cb)
- else if ((cs_val.otype) != (cb_val.otype)) then
- raise_c2_exception(CapEx_TypeViolation, cs)
- else if not (cs_val.permit_ccall) then
- raise_c2_exception(CapEx_PermitCCallViolation, cs)
- else if not (cb_val.permit_ccall) then
- raise_c2_exception(CapEx_PermitCCallViolation, cb)
- else if not (cs_val.permit_execute) then
- raise_c2_exception(CapEx_PermitExecuteViolation, cs)
- else if (cb_val.permit_execute) then
- raise_c2_exception(CapEx_PermitExecuteViolation, cb)
- else if (cs_cursor < getCapBase(cs_val)) then
- raise_c2_exception(CapEx_LengthViolation, cs)
- else if (cs_cursor >= getCapTop(cs_val)) then
- raise_c2_exception(CapEx_LengthViolation, cs)
- else
- {
- execute_branch_pcc({cs_val with
- sealed=false,
- otype=zeros()
- });
- inCCallDelay = 0b1;
- C26 = capStructToCapReg({cb_val with
- sealed=false,
- otype=zeros()
- });
- }
-}
-
-union clause ast = CReturn : unit
-function clause execute (CReturn()) =
-{
- checkCP2usable();
- raise_c2_exception_noreg(CapEx_ReturnTrap)
-}
-
-union clause ast = CBX : (regno, bits(16), bool)
-function clause execute (CBX(cb, imm, notset)) =
-{
- checkCP2usable();
- if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if (((readCapReg(cb)).tag) ^ notset) then
- {
- let offset : bits(64) = (sign_extend(imm @ 0b00) + 4) in
- execute_branch(PC + offset);
- }
-}
-
-union clause ast = CBZ : (regno, bits(16), bool)
-function clause execute (CBZ(cb, imm, notzero)) =
-{
- checkCP2usable();
- if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if (((readCapReg(cb)) == null_cap) ^ notzero) then
- {
- let offset : bits(64) = (sign_extend(imm @ 0b00) + 4) in
- execute_branch(PC + offset);
- }
-}
-
-union clause ast = CJALR : (regno, regno, bool)
-function clause execute(CJALR(cd, cb, link)) =
-{
- checkCP2usable();
- cb_val = readCapReg(cb);
- cb_ptr = getCapCursor(cb_val);
- cb_top = getCapTop(cb_val);
- cb_base= getCapBase(cb_val);
- if (link & register_inaccessible(cd)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cd)
- else if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if not (cb_val.tag) then
- raise_c2_exception(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, cb)
- else if not (cb_val.permit_execute) then
- raise_c2_exception(CapEx_PermitExecuteViolation, cb)
- else if (cb_ptr < cb_base) then
- raise_c2_exception(CapEx_LengthViolation, cb)
- else if ((cb_ptr + 4) > cb_top) then
- raise_c2_exception(CapEx_LengthViolation, cb)
- else if ((cb_ptr % 4) != 0) then
- SignalException(AdEL)
- else
- {
- if (link) then
- let pcc = capRegToCapStruct(PCC) in
- let (success, linkCap) = setCapOffset(pcc, PC+8) in
- if (success) then
- writeCapReg(cd, linkCap)
- else
- assert(false, "");
- execute_branch_pcc(cb_val);
- }
-}
-
-union clause ast = CLoad : (regno, regno, regno, bits(8), bool, WordType, bool)
-function clause execute (CLoad(rd, cb, rt, offset, signext, width, linked)) =
-{
- checkCP2usable();
- cb_val = readCapRegDDC(cb);
- if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if not (cb_val.tag) then
- raise_c2_exception(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, cb)
- else if not (cb_val.permit_load) then
- raise_c2_exception(CapEx_PermitLoadViolation, cb)
- else
- {
- let 'size = wordWidthBytes(width);
- let cursor = getCapCursor(cb_val);
- let vAddr = (cursor + unsigned(rGPR(rt)) + size*signed(offset)) % pow2(64);
- let vAddr64 = to_bits(64, vAddr);
- if ((vAddr + size) > getCapTop(cb_val)) then
- raise_c2_exception(CapEx_LengthViolation, cb)
- else if (vAddr < getCapBase(cb_val)) then
- raise_c2_exception(CapEx_LengthViolation, cb)
- else if not (isAddressAligned(vAddr64, width)) then
- SignalExceptionBadAddr(AdEL, vAddr64)
- else
- {
- pAddr = (TLBTranslate(vAddr64, LoadData));
- memResult : bits(64) = if (linked) then
- {
- CP0LLBit = 0b1;
- CP0LLAddr = pAddr;
- extendLoad(MEMr_reserve_wrapper(pAddr, size), signext)
- }
- else
- extendLoad(MEMr_wrapper(pAddr, size), signext);
- wGPR(rd) = memResult;
- }
- }
-}
-
-union clause ast = CStore : (regno, regno, regno, regno, bits(8), WordType, bool)
-
-function clause execute (CStore(rs, cb, rt, rd, offset, width, conditional)) =
-{
- checkCP2usable();
- cb_val = readCapRegDDC(cb);
- if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if not (cb_val.tag) then
- raise_c2_exception(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, cb)
- else if not (cb_val.permit_store) then
- raise_c2_exception(CapEx_PermitStoreViolation, cb)
- else
- {
- size = wordWidthBytes(width);
- cursor = getCapCursor(cb_val);
- vAddr = (cursor + unsigned(rGPR(rt)) + size * signed(offset)) % pow2(64);
- vAddr64= to_bits(64, vAddr);
- if ((vAddr + size) > getCapTop(cb_val)) then
- raise_c2_exception(CapEx_LengthViolation, cb)
- else if (vAddr < getCapBase(cb_val)) then
- raise_c2_exception(CapEx_LengthViolation, cb)
- else if not (isAddressAligned(vAddr64, width)) then
- SignalExceptionBadAddr(AdES, vAddr64)
- else
- {
- pAddr = (TLBTranslate(vAddr64, StoreData));
- rs_val = rGPR(rs);
- if (conditional) then
- {
- success : bool = if (CP0LLBit[0]) then
- match width
- {
- B => MEMw_conditional_wrapper(pAddr, 1, rs_val[7..0]),
- H => MEMw_conditional_wrapper(pAddr, 2, rs_val[15..0]),
- W => MEMw_conditional_wrapper(pAddr, 4, rs_val[31..0]),
- D => MEMw_conditional_wrapper(pAddr, 8, rs_val)
- }
- else
- false;
- wGPR(rd) = zero_extend(success);
- }
- else
- match width
- {
- B => MEMw_wrapper(pAddr, 1) = rs_val[7..0],
- H => MEMw_wrapper(pAddr, 2) = rs_val[15..0],
- W => MEMw_wrapper(pAddr, 4) = rs_val[31..0],
- D => MEMw_wrapper(pAddr, 8) = rs_val
- }
- }
- }
-}
-
-union clause ast = CSC : (regno, regno, regno, regno, bits(11), bool)
-function clause execute (CSC(cs, cb, rt, rd, offset, conditional)) =
-{
- checkCP2usable();
- cs_val = readCapReg(cs);
- cb_val = readCapRegDDC(cb);
- if (register_inaccessible(cs)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cs)
- else if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if not (cb_val.tag) then
- raise_c2_exception(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, cb)
- else if not (cb_val.permit_store) then
- raise_c2_exception(CapEx_PermitStoreViolation, cb)
- else if not (cb_val.permit_store_cap) then
- raise_c2_exception(CapEx_PermitStoreCapViolation, cb)
- else if not (cb_val.permit_store_local_cap) & (cs_val.tag) & not (cs_val.global) then
- raise_c2_exception(CapEx_PermitStoreLocalCapViolation, cb)
- else
- {
- cursor = getCapCursor(cb_val);
- vAddr = (cursor + unsigned(rGPR(rt)) + 16 * signed(offset)) % pow2(64);
- vAddr64= to_bits(64, vAddr);
- if ((vAddr + cap_size) > getCapTop(cb_val)) then
- raise_c2_exception(CapEx_LengthViolation, cb)
- else if (vAddr < getCapBase(cb_val)) then
- raise_c2_exception(CapEx_LengthViolation, cb)
- else if ((vAddr % cap_size) != 0) then
- SignalExceptionBadAddr(AdES, vAddr64)
- else
- {
- let (pAddr, noStoreCap) = TLBTranslateC(vAddr64, StoreData) in
- if (cs_val.tag & noStoreCap) then
- raise_c2_exception(CapEx_TLBNoStoreCap, cs)
- else if (conditional) then
- {
- success = if (CP0LLBit[0]) then
- MEMw_tagged_conditional(pAddr, cs_val.tag, capStructToMemBits(cs_val))
- else
- false;
- wGPR(rd) = zero_extend(success);
- }
- else
- MEMw_tagged(pAddr, cs_val.tag, capStructToMemBits(cs_val));
- }
- }
-}
-
-union clause ast = CLC : (regno, regno, regno, bits(16), bool)
-function clause execute (CLC(cd, cb, rt, offset, linked)) =
-{
- checkCP2usable();
- cb_val = readCapRegDDC(cb);
- if (register_inaccessible(cd)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cd)
- else if (register_inaccessible(cb)) then
- raise_c2_exception(CapEx_AccessSystemRegsViolation, cb)
- else if not (cb_val.tag) then
- raise_c2_exception(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- raise_c2_exception(CapEx_SealViolation, cb)
- else if not (cb_val.permit_load) then
- raise_c2_exception(CapEx_PermitLoadViolation, cb)
- else
- {
- cursor = getCapCursor(cb_val);
- vAddr = (cursor + unsigned(rGPR(rt)) + 16 * signed(offset)) % pow2(64);
- vAddr64= to_bits(64, vAddr);
- if ((vAddr + cap_size) > getCapTop(cb_val)) then
- raise_c2_exception(CapEx_LengthViolation, cb)
- else if (vAddr < getCapBase(cb_val)) then
- raise_c2_exception(CapEx_LengthViolation, cb)
- else if ((vAddr % cap_size) != 0) then
- SignalExceptionBadAddr(AdEL, vAddr64)
- else
- {
- let (pAddr, suppressTag) = TLBTranslateC(vAddr64, LoadData) in
- let 'cd = unsigned(cd) in
- if (linked) then
- {
- CP0LLBit = 0b1;
- CP0LLAddr = pAddr;
- let (tag, mem) = MEMr_tagged_reserve(pAddr) in
- (*CapRegs[cd]) = memBitsToCapBits(tag & (cb_val.permit_load_cap) & (not (suppressTag)), mem);
- }
- else
- {
- let (tag, mem) = MEMr_tagged(pAddr) in
- (*CapRegs[cd]) = memBitsToCapBits(tag & (cb_val.permit_load_cap) & (not (suppressTag)), mem);
- }
- }
- }
-}
-
-union clause ast = C2Dump : regno
-function clause execute (C2Dump (rt)) =
- () /* Currently a NOP */
diff --git a/cheri/cheri_prelude_128.sail b/cheri/cheri_prelude_128.sail
deleted file mode 100644
index da761c91..00000000
--- a/cheri/cheri_prelude_128.sail
+++ /dev/null
@@ -1,331 +0,0 @@
-/*========================================================================*/
-/* */
-/* Copyright (c) 2015-2017 Robert M. Norton */
-/* Copyright (c) 2015-2017 Kathyrn Gray */
-/* All rights reserved. */
-/* */
-/* This software was developed by the University of Cambridge Computer */
-/* Laboratory as part of the Rigorous Engineering of Mainstream Systems */
-/* (REMS) project, funded by EPSRC grant EP/K008528/1. */
-/* */
-/* Redistribution and use in source and binary forms, with or without */
-/* modification, are permitted provided that the following conditions */
-/* are met: */
-/* 1. Redistributions of source code must retain the above copyright */
-/* notice, this list of conditions and the following disclaimer. */
-/* 2. Redistributions in binary form must reproduce the above copyright */
-/* notice, this list of conditions and the following disclaimer in */
-/* the documentation and/or other materials provided with the */
-/* distribution. */
-/* */
-/* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' */
-/* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED */
-/* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A */
-/* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR */
-/* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
-/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
-/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF */
-/* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND */
-/* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, */
-/* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT */
-/* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF */
-/* SUCH DAMAGE. */
-/*========================================================================*/
-
-/* 128 bit cap + tag */
-type CapReg = bits(129)
-
-struct CapStruct = {
- tag : bool ,
- uperms : bits(4) ,
- access_system_regs : bool ,
- permit_unseal : bool ,
- permit_ccall : bool ,
- permit_seal : bool ,
- permit_store_local_cap : bool ,
- permit_store_cap : bool ,
- permit_load_cap : bool ,
- permit_store : bool ,
- permit_load : bool ,
- permit_execute : bool ,
- global : bool ,
- reserved : bits(2) ,
- E : bits(6) ,
- sealed : bool ,
- B : bits(20),
- T : bits(20),
- otype : bits(24),
- address : bits(64)
-}
-
-let null_cap : CapStruct = struct {
- tag = false,
- uperms = zeros(),
- access_system_regs = false,
- permit_unseal = false,
- permit_ccall = false,
- permit_seal = false,
- permit_store_local_cap = false,
- permit_store_cap = false,
- permit_load_cap = false,
- permit_store = false,
- permit_load = false,
- permit_execute = false,
- global = false,
- reserved = zeros(),
- E = 0b110000, /* 48, encoded as 0 in memory due to xor */
- sealed = false,
- B = zeros(),
- T = 0x10000,
- otype = zeros(),
- address = zeros()
-}
-
-let default_cap : CapStruct = struct {
- tag = true,
- uperms = ones(),
- access_system_regs = true,
- permit_unseal = true,
- permit_ccall = true,
- permit_seal = true,
- permit_store_local_cap = true,
- permit_store_cap = true,
- permit_load_cap = true,
- permit_store = true,
- permit_load = true,
- permit_execute = true,
- global = true,
- reserved = zeros(),
- E = 0b110000, /* 48, encoded as 0 in memory due to xor */
- sealed = false,
- B = zeros(),
- T = 0x10000,
- otype = zeros(),
- address = zeros()
-}
-
-let 'cap_size = 16
-
-function capRegToCapStruct(c) : CapReg -> CapStruct =
- let s : bool = c[104] in
- let Bc : bits(20) = if s then c[103..96] @ 0x000 else c[103..84] in
- let Tc : bits(20) = if s then c[83..76] @ 0x000 else c[83..64] in
- let otype : bits(24) = if s then c[95..84] @ c[75..64] else zeros() in
- struct {
- tag = c[128],
- uperms = c[127..124],
- access_system_regs = c[123],
- permit_unseal = c[122],
- permit_ccall = c[121],
- permit_seal = c[120],
- permit_store_local_cap = c[119],
- permit_store_cap = c[118],
- permit_load_cap = c[117],
- permit_store = c[116],
- permit_load = c[115],
- permit_execute = c[114],
- global = c[113],
- reserved = c[112..111],
- E = c[110..105],
- sealed = s,
- B = Bc,
- T = Tc,
- otype = otype,
- address = c[63..0]
- }
-
-function getCapHardPerms(cap) : CapStruct -> bits(11) =
- (cap.access_system_regs
- @ cap.permit_unseal
- @ cap.permit_ccall
- @ cap.permit_seal
- @ cap.permit_store_local_cap
- @ cap.permit_store_cap
- @ cap.permit_load_cap
- @ cap.permit_store
- @ cap.permit_load
- @ cap.permit_execute
- @ cap.global)
-
-function capStructToMemBits128(cap) : CapStruct -> bits(128) =
- let b : bits(20) = if cap.sealed then (cap.B)[19..12] @ (cap.otype)[23..12] else cap.B in
- let t : bits(20) = if cap.sealed then (cap.T)[19..12] @ (cap.otype)[11..0] else cap.T in
- ( cap.uperms
- @ getCapHardPerms(cap)
- @ cap.reserved
- @ cap.E
- @ cap.sealed
- @ b
- @ t
- @ cap.address
- )
-
-function capStructToCapReg(cap) : CapStruct -> CapReg =
- (cap.tag @ capStructToMemBits128(cap))
-
-/* Reverse of above used when reading from memory */
-function memBitsToCapBits128(tag, b) : (bool, bits(128)) -> CapReg=
- (tag @ b)
-
-/* When saving/restoring capabilities xor them with bits of null_cap --
- this ensures that canonical null_cap is always all-zeros in memory
- even though it may have bits set logically (e.g. length or exponent */
-
-let null_cap_bits : bits(128) = capStructToMemBits128(null_cap)
-
-function capStructToMemBits(cap) : CapStruct -> bits(128) =
- capStructToMemBits128(cap) ^ null_cap_bits
-
-function memBitsToCapBits(tag, b) : (bool, bits(128)) -> bits(129) =
- memBitsToCapBits128(tag, b ^ null_cap_bits)
-
-function getCapPerms(cap) : CapStruct -> bits(31) =
- let perms : bits(15) = zero_extend(getCapHardPerms(cap)) in
- (0x000 /* uperms 30-19 */
- @ cap.uperms
- @ perms)
-
-function setCapPerms(cap, perms) : (CapStruct, bits(31)) -> CapStruct =
- { cap with
- uperms = perms[18..15],
- /* 14..11 reserved -- ignore */
- access_system_regs = perms[10],
- permit_unseal = perms[9],
- permit_ccall = perms[8],
- permit_seal = perms[7],
- permit_store_local_cap = perms[6],
- permit_store_cap = perms[5],
- permit_load_cap = perms[4],
- permit_store = perms[3],
- permit_load = perms[2],
- permit_execute = perms[1],
- global = perms[0]
- }
-
-function sealCap(cap, otype) : (CapStruct, bits(24)) -> (bool, CapStruct) =
- if (((cap.T)[11..0] == zeros()) & ((cap.B)[11..0] == zeros())) then
- (true, {cap with sealed=true, otype=otype})
- else
- (false, cap /* XXX should be undefined? */ )
-
-function a_top_correction(a_mid, R, bound) : (bits(20), bits(20), bits(20)) -> bits(65) =
- match (a_mid <_u R, bound <_u R) {
- (false, false) => zeros(),
- (false, true) => zero_extend(0b1),
- (true, false) => ones(),
- (true, true) => zeros()
- }
-
-function getCapBase(c) : CapStruct -> uint64 =
- let E = min(unsigned(c.E), 48) in
- let Bc : bits(20) = c.B in
- let a : bits(65) = zero_extend(c.address) in
- let R : bits(20) = Bc - 0x01000 in /* wraps */
- let a_mid : bits(20) = mask(a >> E) in
- let correction = a_top_correction(a_mid, R, Bc) in
- let a_top = a >> E+20 in
- let base : bits(64) = mask(((a_top + correction) @ Bc) << E) in
- unsigned(base)
-
-function getCapTop (c) : CapStruct -> CapLen =
- let E = min(unsigned(c.E), 48) in
- let Bc : bits(20) = c.B in
- let T : bits(20) = c.T in
- let a : bits(65) = zero_extend(c.address) in
- let R : bits(20) = Bc - 0x01000 in /* wraps */
- let a_mid : bits(20) = mask(a >> E) in
- let correction = a_top_correction(a_mid, R, T) in
- let a_top = a >> E+20 in
- let top1 : bits(65) = mask((a_top + correction) @ T) in
- unsigned(top1 << E)
-
-function getCapOffset(c) : CapStruct -> uint64 =
- let base = getCapBase(c) in
- (unsigned(c.address) - base) % pow2(64)
-
-function getCapLength(c) : CapStruct -> CapLen =
- let 'top = getCapTop(c) in
- let 'base = getCapBase(c) in {
- assert (top >= base);
- top - base
- }
-
-function getCapCursor(cap) : CapStruct -> uint64 = unsigned(cap.address)
-
-function fastRepCheck(c, i) : (CapStruct, bits(64)) -> bool=
- let 'E = unsigned(c.E) in
- if (E >= 44) then
- true /* in this case representable region is whole address space */
- else
- let E' = min(E, 43) in
- let i_top = signed(i[63..E+20]) in
- let i_mid : bits(20) = i[E+19..E] in
- let a_mid : bits(20) = (c.address)[E+19..E] in
- let R : bits(20) = (c.B) - 0x01000 in
- let diff : bits(20) = R - a_mid in
- let diff1 : bits(20) = diff - 1 in
- /* i_top determines 1. whether the increment is inRange
- i.e. less than the size of the representable region
- (2**(E+20)) and 2. whether it is positive or negative. To
- satisfy 1. all top bits must be the same so we are
- interested in the cases i_top is 0 or -1 */
- if (i_top == 0) then
- i_mid <_u diff1
- else if (i_top == -1) then
- (i_mid >=_u diff) & (R != a_mid)
- else
- false
-
-function setCapOffset(c, offset) : (CapStruct, bits(64)) -> (bool, CapStruct) =
- let base : bits(64) = to_bits(64, getCapBase(c)) in
- let newAddress : bits(64) = base + offset in
- let newCap = { c with address = newAddress } in
- let representable = fastRepCheck(c, (newAddress - c.address)) in
- (representable, newCap)
-
-function incCapOffset(c, delta) : (CapStruct, bits(64)) -> (bool, CapStruct) =
- let newAddress : bits(64) = c.address + delta in
- let newCap = { c with address = newAddress } in
- let representable = fastRepCheck(c, delta) in
- (representable, newCap)
-
-/** FUNCTION:integer HighestSetBit(bits(N) x) */
-
-val HighestSetBit : forall 'N , 'N >= 2. bits('N) -> {'n, 0 <= 'n < 'N . (bool, atom('n))}
-function HighestSetBit x = {
- foreach (i from ('N - 1) to 0 by 1 in dec)
- if [x[i]] == 0b1 then return (true, i);
- return (false, 0)
-}
-
-/* hw rounds up E to multiple of 4 */
-function roundUp(e) : range(0, 45) -> range(0, 48) =
- let 'r = e % 4 in
- if (r == 0)
- then e
- else (e - r + 4)
-
-function computeE (rlength) : bits(65) -> range(0, 48) =
- let (nonzero, 'msb) = HighestSetBit((rlength + (rlength >> 6)) >> 19) in
- if nonzero then
- /* above will always return <= 45 because 19 bits of zero are shifted in from right */
- {assert(0 <= msb & msb <= 45); roundUp (min(msb,45)) }
- else
- 0
-
-function setCapBounds(cap, base, top) : (CapStruct, bits(64), bits(65)) -> (bool, CapStruct) =
- /* {cap with base=base; length=(bits(64)) length; offset=0} */
- let 'e = computeE(top - (0b0 @ base)) in
- let Bc : bits(20) = mask(base >> e) in
- let T : bits(20) = mask(top >> e) in
- let e_mask : bits(65) = zero_extend(replicate_bits(0b1, e)) in
- let e_bits = top & e_mask in
- let T2 : bits(20) = T + (if unsigned(e_bits) == 0 then 0x00000 else 0x00001) in
- let newCap = {cap with address=base, E=to_bits(6, e), B=Bc, T=T2} in
- let newBase = getCapBase(newCap) in
- let newTop = getCapTop(newCap) in
- let exact = (unsigned(base) == newBase) & (unsigned(top) == newTop) in
- (exact, newCap)
-
-function int_to_cap (offset) : bits(64) -> CapStruct =
- {null_cap with address = offset}
diff --git a/cheri/cheri_prelude_256.sail b/cheri/cheri_prelude_256.sail
deleted file mode 100644
index 08e285e7..00000000
--- a/cheri/cheri_prelude_256.sail
+++ /dev/null
@@ -1,229 +0,0 @@
-/*========================================================================*/
-/* */
-/* Copyright (c) 2015-2017 Robert M. Norton */
-/* Copyright (c) 2015-2017 Kathyrn Gray */
-/* All rights reserved. */
-/* */
-/* This software was developed by the University of Cambridge Computer */
-/* Laboratory as part of the Rigorous Engineering of Mainstream Systems */
-/* (REMS) project, funded by EPSRC grant EP/K008528/1. */
-/* */
-/* Redistribution and use in source and binary forms, with or without */
-/* modification, are permitted provided that the following conditions */
-/* are met: */
-/* 1. Redistributions of source code must retain the above copyright */
-/* notice, this list of conditions and the following disclaimer. */
-/* 2. Redistributions in binary form must reproduce the above copyright */
-/* notice, this list of conditions and the following disclaimer in */
-/* the documentation and/or other materials provided with the */
-/* distribution. */
-/* */
-/* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' */
-/* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED */
-/* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A */
-/* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR */
-/* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
-/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
-/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF */
-/* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND */
-/* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, */
-/* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT */
-/* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF */
-/* SUCH DAMAGE. */
-/*========================================================================*/
-
-/* 256 bit cap + tag */
-type CapReg = bits(257)
-
-struct CapStruct = {
- tag : bool ,
- padding : bits(8) ,
- otype : bits(24),
- uperms : bits(16),
- perm_reserved11_14 : bits(4) ,
- access_system_regs : bool ,
- permit_unseal : bool ,
- permit_ccall : bool ,
- permit_seal : bool ,
- permit_store_local_cap : bool ,
- permit_store_cap : bool ,
- permit_load_cap : bool ,
- permit_store : bool ,
- permit_load : bool ,
- permit_execute : bool ,
- global : bool ,
- sealed : bool ,
- address : bits(64),
- base : bits(64),
- length : bits(64),
-}
-
-let null_cap : CapStruct = struct {
- tag = false,
- padding = zeros(),
- otype = zeros(),
- uperms = zeros(),
- perm_reserved11_14 = zeros(),
- access_system_regs = false,
- permit_unseal = false,
- permit_ccall = false,
- permit_seal = false,
- permit_store_local_cap = false,
- permit_store_cap = false,
- permit_load_cap = false,
- permit_store = false,
- permit_load = false,
- permit_execute = false,
- global = false,
- sealed = false,
- address = zeros(),
- base = zeros(),
- length = 0xffffffffffffffff
-}
-
-let default_cap : CapStruct = struct {
- tag = true,
- padding = zeros(),
- otype = zeros(),
- uperms = ones(),
- perm_reserved11_14 = zeros(),
- access_system_regs = true,
- permit_unseal = true,
- permit_ccall = true,
- permit_seal = true,
- permit_store_local_cap = true,
- permit_store_cap = true,
- permit_load_cap = true,
- permit_store = true,
- permit_load = true,
- permit_execute = true,
- global = true,
- sealed = false,
- address = zeros(),
- base = zeros(),
- length = 0xffffffffffffffff
-}
-
-let 'cap_size = 32
-
-function capRegToCapStruct(capReg) : CapReg -> CapStruct =
- struct {
- tag = capReg[256],
- padding = capReg[255..248],
- otype = capReg[247..224],
- uperms = capReg[223..208],
- perm_reserved11_14 = capReg[207..204],
- access_system_regs = capReg[203],
- permit_unseal = capReg[202],
- permit_ccall = capReg[201],
- permit_seal = capReg[200],
- permit_store_local_cap = capReg[199],
- permit_store_cap = capReg[198],
- permit_load_cap = capReg[197],
- permit_store = capReg[196],
- permit_load = capReg[195],
- permit_execute = capReg[194],
- global = capReg[193],
- sealed = capReg[192],
- address = capReg[191..128],
- base = capReg[127..64],
- length = capReg[63..0]
- }
-
-function getCapPerms(cap) : CapStruct -> bits(31) =
- (
- cap.uperms
- @ cap.perm_reserved11_14
- @ cap.access_system_regs
- @ cap.permit_unseal
- @ cap.permit_ccall
- @ cap.permit_seal
- @ cap.permit_store_local_cap
- @ cap.permit_store_cap
- @ cap.permit_load_cap
- @ cap.permit_store
- @ cap.permit_load
- @ cap.permit_execute
- @ cap.global
- )
-
-
-/* Function to convert capabilities to in-memory format. */
-function capStructToMemBits256(cap) : CapStruct -> bits(256) =
- (
- cap.padding
- @ cap.otype
- @ getCapPerms(cap)
- @ cap.sealed
- @ cap.address
- @ cap.base
- @ cap.length
- )
-
-
-/* When saving/restoring capabilities xor them with bits of null_cap --
- this ensures that canonical null_cap is always all-zeros in memory
- even though it may have bits set logically (e.g. length or exponent) */
-
-let null_cap_bits : bits(256) = capStructToMemBits256(null_cap)
-
-function capStructToMemBits(cap) : CapStruct -> bits(256)=
- capStructToMemBits256(cap) ^ null_cap_bits
-
-function memBitsToCapBits(tag, b) : (bool, bits(256)) -> bits(257) =
- tag @ (b ^ null_cap_bits)
-
-function capStructToCapReg(cap) : CapStruct -> CapReg = cap.tag @ capStructToMemBits256(cap)
-
-function setCapPerms(cap, perms) : (CapStruct, bits(31)) -> CapStruct =
- { cap with
- uperms = perms[30..15],
- /* perm_reserved11_14 = perms[14..11], XXX should allow to set? only affects cbuildcap. */
- access_system_regs = perms[10],
- permit_unseal = perms[9],
- permit_ccall = perms[8],
- permit_seal = perms[7],
- permit_store_local_cap = perms[6],
- permit_store_cap = perms[5],
- permit_load_cap = perms[4],
- permit_store = perms[3],
- permit_load = perms[2],
- permit_execute = perms[1],
- global = perms[0]
- }
-
-function sealCap(cap, otype) : (CapStruct, bits(24)) -> (bool, CapStruct) =
- (true, {cap with sealed=true, otype=otype})
-
-function getCapBase(c) : CapStruct -> uint64 = unsigned(c.base)
-function getCapTop(c) : CapStruct -> CapLen = unsigned(c.base) + unsigned(c.length) /* XXX bug here? -- should be mod 2^64 */
-function getCapOffset(c) : CapStruct -> uint64 = (unsigned(c.address) - unsigned(c.base)) % (pow2(64))
-function getCapLength(c) : CapStruct -> CapLen = unsigned(c.length)
-
-function getCapCursor(c) : CapStruct -> uint64 = unsigned(c.address)
-
-/*!
-Set the offset capability of the a capability to given value and return the result, along with a boolean indicating true if the operation preserved the existing bounds of the capability. When using compressed capabilities, setting the offset far outside the capability bounds can cause the result to become unrepresentable (XXX mention guarantees). Additionally in some implementations a fast representablity check may be used that could cause the operation to return failure even though the capability would be representable (XXX provide details).
- */
-val setCapOffset : (CapStruct, bits(64)) -> (bool, CapStruct)
-function setCapOffset(c, offset) =
- (true, {c with address=c.base + offset})
-
-/*!
-\function{incCapOffset} is the same as \function{setCapOffset} except that the 64-bit value is added to the current capability offset modulo $2^{64}$ (i.e. signed twos-complement arithemtic).
- */
-val incCapOffset : (CapStruct, bits(64)) -> (bool, CapStruct)
-function incCapOffset(c, delta) =
- let newAddr : bits(64) = c.address + delta in
- (true, {c with address = newAddr})
-
-/*!
-Returns a capability derived from the given capability by setting the base and top to values provided. The offset of the resulting capability is zero. In case the requested bounds are not exactly representable the returned boolean is false and the returned capability has bounds at least including the region bounded by base and top but rounded to representable values.
- */
-val setCapBounds : (CapStruct, bits(64), bits(65)) -> (bool, CapStruct)
-function setCapBounds(cap, base, top) =
- let length : bits(65) = top - (0b0 @ base) in
- (true, {cap with base = base, length = length[63..0], address = base})
-
-function int_to_cap (address) : bits(64) -> CapStruct =
- {null_cap with address = address}
diff --git a/cheri/cheri_prelude_common.sail b/cheri/cheri_prelude_common.sail
deleted file mode 100644
index 764a4ff1..00000000
--- a/cheri/cheri_prelude_common.sail
+++ /dev/null
@@ -1,534 +0,0 @@
-/*========================================================================*/
-/* */
-/* Copyright (c) 2015-2017 Robert M. Norton */
-/* Copyright (c) 2015-2017 Kathyrn Gray */
-/* All rights reserved. */
-/* */
-/* This software was developed by the University of Cambridge Computer */
-/* Laboratory as part of the Rigorous Engineering of Mainstream Systems */
-/* (REMS) project, funded by EPSRC grant EP/K008528/1. */
-/* */
-/* Redistribution and use in source and binary forms, with or without */
-/* modification, are permitted provided that the following conditions */
-/* are met: */
-/* 1. Redistributions of source code must retain the above copyright */
-/* notice, this list of conditions and the following disclaimer. */
-/* 2. Redistributions in binary form must reproduce the above copyright */
-/* notice, this list of conditions and the following disclaimer in */
-/* the documentation and/or other materials provided with the */
-/* distribution. */
-/* */
-/* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' */
-/* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED */
-/* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A */
-/* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR */
-/* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
-/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
-/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF */
-/* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND */
-/* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, */
-/* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT */
-/* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF */
-/* SUCH DAMAGE. */
-/*========================================================================*/
-
-
-scattered union ast
-
-val execute : ast -> unit effect {barr, eamem, escape, rmem, rmemt, rreg, undef, wmv, wmvt, wreg}
-scattered function execute
-
-val decode : bits(32) -> option(ast) effect pure
-scattered function decode
-
-register PCC : CapReg
-register nextPCC : CapReg
-register delayedPCC : CapReg
-register inCCallDelay : bits(1)
-register DDC : CapReg
-register C01 : CapReg
-register C02 : CapReg
-register C03 : CapReg
-register C04 : CapReg
-register C05 : CapReg
-register C06 : CapReg
-register C07 : CapReg
-register C08 : CapReg
-register C09 : CapReg
-register C10 : CapReg
-register C11 : CapReg
-register C12 : CapReg
-register C13 : CapReg
-register C14 : CapReg
-register C15 : CapReg
-register C16 : CapReg
-register C17 : CapReg
-register C18 : CapReg
-register C19 : CapReg
-register C20 : CapReg
-register C21 : CapReg
-register C22 : CapReg
-register C23 : CapReg
-register C24 : CapReg /* aka return code capability, RCC */
-register C25 : CapReg
-register C26 : CapReg /* aka invoked data capability, IDC */
-register C27 : CapReg
-register C28 : CapReg
-register C29 : CapReg
-register C30 : CapReg
-register C31 : CapReg
-
-register CTLSU : CapReg /* User thread local storage capabiltiy */
-register CTLSP : CapReg /* Privileged thread local storage capabiltiy */
-register KR1C : CapReg /* kernel reserved capability 1 */
-register KR2C : CapReg /* kernel reserved capability 2 */
-register KCC : CapReg /* kernel code capability */
-register KDC : CapReg /* kernel data capability */
-register EPCC : CapReg /* exception program counter capability */
-
-let IDCNO : regno = 0b11010 /* C26, invoked data capability used be CCall */
-
-/* Special register used to have these numbers -- here for transition purposes */
-let KR1CNO : regno = 0b11011 /* C27 */
-let KR2CNO : regno = 0b11100 /* C28 */
-let KCCNO : regno = 0b11101 /* C29 */
-let KDCNO : regno = 0b11110 /* C30 */
-let EPCCNO : regno = 0b11111 /* C31 */
-
-let CapRegs : vector(32, dec, register(CapReg)) =
- [
- ref C31,
- ref C30,
- ref C29,
- ref C28,
- ref C27,
- ref C26,
- ref C25,
- ref C24,
- ref C23,
- ref C22,
- ref C21,
- ref C20,
- ref C19,
- ref C18,
- ref C17,
- ref C16,
- ref C15,
- ref C14,
- ref C13,
- ref C12,
- ref C11,
- ref C10,
- ref C09,
- ref C08,
- ref C07,
- ref C06,
- ref C05,
- ref C04,
- ref C03,
- ref C02,
- ref C01,
- ref DDC
- ]
-
-let max_otype = MAX(24) /*0xffffff*/
-let have_cp2 = true
-
-/*!
-This function reads a given capability register and returns its contents converted to a CapStruct.
-If the argument is zero then the null capability is returned.
-*/
-val readCapReg : regno -> CapStruct effect {rreg}
-function readCapReg(n) =
- if (n == 0b00000) then
- null_cap
- else
- let i = unsigned(n) in
- capRegToCapStruct(reg_deref(CapRegs[i]))
-
-/*!
-This is the same as readCapReg except that when the argument is zero the value of DDC is returned
-instead of the null capability. This is used for instructions that expect an address, where using
-null would always generate an exception.
-*/
-val readCapRegDDC : regno -> CapStruct effect {rreg}
-function readCapRegDDC(n) =
- let i = unsigned(n) in
- capRegToCapStruct(reg_deref(CapRegs[i])) /* NB CapRegs[0] is points to DDC */
-
-function writeCapReg(n, cap) : (regno, CapStruct) -> unit =
- if (n == 0b00000) then
- ()
- else
- let i = unsigned(n) in
- (*CapRegs[i]) = capStructToCapReg(cap)
-
-enum CapEx = {
- CapEx_None,
- CapEx_LengthViolation,
- CapEx_TagViolation,
- CapEx_SealViolation,
- CapEx_TypeViolation,
- CapEx_CallTrap,
- CapEx_ReturnTrap,
- CapEx_TSSUnderFlow,
- CapEx_UserDefViolation,
- CapEx_TLBNoStoreCap,
- CapEx_InexactBounds,
- CapEx_GlobalViolation,
- CapEx_PermitExecuteViolation,
- CapEx_PermitLoadViolation,
- CapEx_PermitStoreViolation,
- CapEx_PermitLoadCapViolation,
- CapEx_PermitStoreCapViolation,
- CapEx_PermitStoreLocalCapViolation,
- CapEx_PermitSealViolation,
- CapEx_AccessSystemRegsViolation,
- CapEx_PermitCCallViolation,
- CapEx_AccessCCallIDCViolation,
- CapEx_PermitUnsealViolation
-}
-
-function CapExCode(ex) : CapEx -> bits(8)=
- match ex {
- CapEx_None => 0x00,
- CapEx_LengthViolation => 0x01,
- CapEx_TagViolation => 0x02,
- CapEx_SealViolation => 0x03,
- CapEx_TypeViolation => 0x04,
- CapEx_CallTrap => 0x05,
- CapEx_ReturnTrap => 0x06,
- CapEx_TSSUnderFlow => 0x07,
- CapEx_UserDefViolation => 0x08,
- CapEx_TLBNoStoreCap => 0x09,
- CapEx_InexactBounds => 0x0a,
- CapEx_GlobalViolation => 0x10,
- CapEx_PermitExecuteViolation => 0x11,
- CapEx_PermitLoadViolation => 0x12,
- CapEx_PermitStoreViolation => 0x13,
- CapEx_PermitLoadCapViolation => 0x14,
- CapEx_PermitStoreCapViolation => 0x15,
- CapEx_PermitStoreLocalCapViolation => 0x16,
- CapEx_PermitSealViolation => 0x17,
- CapEx_AccessSystemRegsViolation => 0x18,
- CapEx_PermitCCallViolation => 0x19,
- CapEx_AccessCCallIDCViolation => 0x1a,
- CapEx_PermitUnsealViolation => 0x1b
- }
-
-bitfield CapCauseReg : bits(16) = {
- ExcCode : 15..8,
- RegNum : 7..0,
-}
-
-register CapCause : CapCauseReg
-
-val execute_branch_pcc : CapStruct -> unit effect {wreg}
-function execute_branch_pcc(newPCC) = {
- delayedPC = to_bits(64, getCapOffset(newPCC));
- delayedPCC = capStructToCapReg(newPCC);
- branchPending = 0b1;
-}
-
-function SignalException (ex) =
- {
- if (not (CP0Status.EXL())) then {
- let pc = PC in
- let pcc = capRegToCapStruct(PCC) in
- let (success, epcc) = setCapOffset(pcc, pc) in
- if (success) then
- EPCC = capStructToCapReg(epcc)
- else
- EPCC = capStructToCapReg(int_to_cap(to_bits(64, getCapBase(pcc)) + unsigned(pc)));
- };
-
- nextPCC = KCC;
- delayedPCC = KCC; /* always write delayedPCC together with nextPCC so
- that non-capability branches don't override PCC */
- let base = getCapBase(capRegToCapStruct(KCC)) in
- SignalExceptionMIPS(ex, to_bits(64, base));
- }
-
-function ERETHook() : unit -> unit =
- {
- nextPCC = EPCC;
- delayedPCC = EPCC; /* always write delayedPCC together with nextPCC so
- that non-capability branches don't override PCC */
- }
-
-val raise_c2_exception8 : forall ('o : Type) . (CapEx, bits(8)) -> 'o effect {escape, rreg, wreg}
-function raise_c2_exception8(capEx, regnum) =
- {
- CapCause->ExcCode() = CapExCode(capEx);
- CapCause->RegNum() = regnum;
- let mipsEx =
- if ((capEx == CapEx_CallTrap) | (capEx == CapEx_ReturnTrap))
- then C2Trap else C2E in
- SignalException(mipsEx);
- }
-
-val raise_c2_exception : forall ('o : Type) . (CapEx, regno) -> 'o effect {escape, rreg, wreg}
-function raise_c2_exception(capEx, regnum) =
- let reg8 = 0b000 @ regnum in
- if ((capEx == CapEx_AccessSystemRegsViolation) & (regnum == IDCNO)) then
- raise_c2_exception8(CapEx_AccessCCallIDCViolation, reg8)
- else
- raise_c2_exception8(capEx, reg8)
-
-val raise_c2_exception_noreg : forall ('o : Type) . (CapEx) -> 'o effect {escape, rreg, wreg}
-function raise_c2_exception_noreg(capEx) =
- raise_c2_exception8(capEx, 0xff)
-
-val pcc_access_system_regs : unit -> bool effect {rreg}
-function pcc_access_system_regs () =
- let pcc = capRegToCapStruct(PCC) in
- (pcc.access_system_regs)
-
-/*!
-The following function should be called before reading or writing any capability register to check whether it is one of the protected system capabilities. Although it is usually a general purpose capabilty the invoked data capabiltiy (IDC) is restricted in the branch delay slot of the CCall (selector one) instruction to protect the confidentiality and integrity of the invoked sandbox.
- */
-val register_inaccessible : regno -> bool effect {rreg}
-function register_inaccessible(r) =
- ((r == IDCNO) & inCCallDelay) |
- ((r == KR1CNO |
- r == KR2CNO |
- r == KDCNO |
- r == KCCNO |
- r == EPCCNO) & not (pcc_access_system_regs ()))
-
-val MEMr_tag = "read_tag_bool" : bits(64) -> bool effect { rmemt }
-val MEMw_tag = "write_tag_bool" : (bits(64) , bool) -> unit effect { wmvt }
-
-val MEMr_tagged : bits(64) -> (bool, bits('cap_size * 8)) effect { escape, rmem, rmemt }
-function MEMr_tagged (addr) =
-{
- /* assumes addr is cap. aligned */
- assert(unsigned(addr) % cap_size == 0);
- let tag = MEMr_tag(addr) in
- let data = MEMr(addr, cap_size) in
- (tag, reverse_endianness(data))
-}
-
-val MEMr_tagged_reserve : bits(64) -> (bool, bits('cap_size * 8)) effect { escape, rmem, rmemt }
-function MEMr_tagged_reserve (addr) =
-{
- /* assumes addr is cap. aligned */
- assert(unsigned(addr) % cap_size == 0);
- let tag = MEMr_tag(addr) in
- let data = MEMr_reserve(addr, cap_size) in
- (tag, reverse_endianness(data))
-}
-
-val MEMw_tagged : (bits(64), bool, bits('cap_size * 8)) -> unit effect { escape, eamem, wmv, wmvt }
-function MEMw_tagged(addr, tag, data) =
-{
- /* assumes addr is cap. aligned */
- assert(unsigned(addr) % cap_size == 0);
- MEMea(addr, cap_size);
- MEMval(addr, cap_size, reverse_endianness(data));
- MEMw_tag(addr, tag);
-}
-
-val MEMw_tagged_conditional : (bits(64), bool, bits('cap_size * 8)) -> bool effect { escape, eamem, wmv, wmvt }
-function MEMw_tagged_conditional(addr, tag, data) =
-{
- /* assumes addr is cap. aligned */
- assert(unsigned(addr) % cap_size == 0);
- MEMea_conditional(addr, cap_size);
- success = MEMval_conditional(addr, cap_size, reverse_endianness(data));
- if success then
- MEMw_tag(addr, tag);
- success;
-}
-
-let cap_addr_mask = to_bits(64, pow2(64) - cap_size)
-
-val MEMw_wrapper : forall 'n, 'n >= 1. (bits(64), atom('n), bits(8 * 'n)) -> unit effect {escape, wmv, wmvt, wreg, eamem}
-function MEMw_wrapper(addr, size, data) =
- let ledata = reverse_endianness(data) in
- if (addr == 0x000000007f000000) then
- {
- UART_WDATA = ledata[7..0];
- UART_WRITTEN = 0b1;
- }
- else
- {
- /* require that writes don't cross capability boundaries (should be true due to mips alignment requirements) */
- assert((addr & cap_addr_mask) == ((addr + to_bits(64, size - 1)) & cap_addr_mask));
- MEMea(addr, size);
- MEMval(addr, size, ledata);
- /* On cheri non-capability writes must clear the corresponding tag*/
- MEMw_tag(addr & cap_addr_mask, false);
- }
-
-val MEMw_conditional_wrapper : forall 'n, 'n >= 1. (bits(64), atom('n), bits(8 * 'n)) -> bool effect {escape, wmv, wmvt, eamem}
-function MEMw_conditional_wrapper(addr, size, data) =
- {
- /* require that writes don't cross capability boundaries (should be true due to mips alignment requirements) */
- assert((addr & cap_addr_mask) == ((addr + to_bits(64, size - 1)) & cap_addr_mask));
- MEMea_conditional(addr, size);
- success = MEMval_conditional(addr,size,reverse_endianness(data));
- if success then
- /* On cheri non-capability writes must clear the corresponding tag */
- MEMw_tag(addr & cap_addr_mask, false);
- success;
- }
-
-val checkDDCPerms : (CapStruct, MemAccessType) -> unit effect {escape, rreg, wreg}
-function checkDDCPerms(ddc : CapStruct, accessType: MemAccessType) =
- {
- if (not (ddc.tag)) then
- raise_c2_exception(CapEx_TagViolation, 0b00000)
- else if (ddc.sealed) then
- raise_c2_exception(CapEx_SealViolation, 0b00000);
- match accessType {
- Instruction => assert(false), /* Only data accesses use DDC */
- LoadData => if (~(ddc.permit_load)) then (raise_c2_exception(CapEx_PermitLoadViolation, 0b00000)),
- StoreData => if (~(ddc.permit_store)) then (raise_c2_exception(CapEx_PermitStoreViolation, 0b00000))
- };
- }
-
-val addrWrapper : (bits(64), MemAccessType, WordType) -> bits(64) effect {rreg, wreg, escape}
-function addrWrapper(addr, accessType, width) =
- {
- ddc = capRegToCapStruct(DDC);
- checkDDCPerms(ddc, accessType);
- cursor = getCapCursor(ddc);
- vAddr = (cursor + unsigned(addr)) % pow2(64);
- size = wordWidthBytes(width);
- base = getCapBase(ddc);
- top = getCapTop(ddc);
- if ((vAddr + size) > top) then
- (raise_c2_exception(CapEx_LengthViolation, 0b00000))
- else if (vAddr < base) then
- (raise_c2_exception(CapEx_LengthViolation, 0b00000))
- else
- to_bits(64, vAddr);
- }
-
-val addrWrapperUnaligned : (bits(64), MemAccessType, WordTypeUnaligned) -> bits(64) effect {rreg, wreg, escape}
-function addrWrapperUnaligned(addr, accessType, width) =
- {
- ddc = capRegToCapStruct(DDC);
- checkDDCPerms(ddc, accessType);
- cursor = getCapCursor(ddc);
- vAddr = (cursor + unsigned(addr)) % pow2(64);
- woffset = vAddr % 4;
- doffset = vAddr % 8;
- /* Compute the address and size of the bytes touched -- this depends on alignment. */
- let (waddr, size) : (int, int) = match width {
- WL => (vAddr, 4 - woffset),
- WR => (vAddr - woffset, woffset + 1),
- DL => (vAddr, 8 - doffset),
- DR => (vAddr - doffset, doffset + 1)
- };
- base = getCapBase(ddc);
- top = getCapTop(ddc);
- if ((waddr + size) > top) then
- (raise_c2_exception(CapEx_LengthViolation, 0b00000))
- else if (waddr < base) then
- (raise_c2_exception(CapEx_LengthViolation, 0b00000))
- else
- to_bits(64, vAddr);
- }
-
-$ifdef _MIPS_TLB_STUB
-val TranslatePC : bits(64) -> bits(64) effect {rreg, wreg, escape}
-$else
-val TranslatePC : bits(64) -> bits(64) effect {rreg, wreg, escape, undef}
-$endif
-
-function TranslatePC (vAddr) = {
- incrementCP0Count();
- let pcc = capRegToCapStruct(PCC);
- let base = getCapBase(pcc);
- let top = getCapTop(pcc);
- let absPC = base + unsigned(vAddr);
- if ((absPC % 4) != 0) then /* bad PC alignment */
- (SignalExceptionBadAddr(AdEL, to_bits(64, absPC))) /* XXX absPC may be truncated */
- else if not (pcc.tag) then
- (raise_c2_exception_noreg(CapEx_TagViolation))
- else if ((absPC + 4) > top) then
- (raise_c2_exception_noreg(CapEx_LengthViolation))
- else
- TLBTranslate(to_bits(64, absPC), Instruction) /* XXX assert absPC never gets truncated due to above check and top <= 2^64 for valid caps */
-}
-
-/*!
-All capability instrucitons must first check that the capability
-co-processor is enabled using the following function that raises a
-co-processor unusable exception if a CP0Status.CU2 is not set. This
-allows the operating system to only save and restore the full
-capability context for processes that use capabilities.
-*/
-val checkCP2usable : unit -> unit effect {rreg, wreg, escape}
-function checkCP2usable () =
- if not (CP0Status.CU()[2]) then {
- CP0Cause->CE() = 0b10;
- SignalException(CpU);
- }
-
-function init_cp2_state () = {
- let defaultBits = capStructToCapReg(default_cap);
- let nullBits = capStructToCapReg(null_cap);
- PCC = defaultBits;
- nextPCC = defaultBits;
- delayedPCC = defaultBits;
- DDC = defaultBits;
- KCC = defaultBits;
- EPCC = defaultBits;
- KDC = nullBits;
- KR1C = nullBits;
- KR2C = nullBits;
- CTLSP = nullBits;
- CTLSU = nullBits;
- foreach(i from 1 to 31) {
- let idx = to_bits(5, i) in
- writeCapReg(idx, null_cap)
- }
-}
-
-function cp2_next_pc () = {
- PCC = nextPCC;
- if inBranchDelay then {
- nextPCC = delayedPCC;
- } else {
- inCCallDelay = 0b0;
- };
-}
-
-val capToString : CapStruct -> string effect {escape}
-function capToString cap = {
- skip_escape(); /* because cheri128 getCapX functions contain asserts but cheri256 ones do not */
- concat_str(" t:",
- concat_str(if cap.tag then "1" else "0",
- concat_str(" s:",
- concat_str(if cap.sealed then "1" else "0",
- concat_str(" perms:",
- concat_str(BitStr(0b0 @ getCapPerms(cap)),
- concat_str(" type:",
- concat_str(BitStr(cap.otype),
- concat_str(" offset:",
- concat_str(BitStr(to_bits(64, getCapOffset(cap))),
- concat_str(" base:",
- concat_str(BitStr(to_bits(64, getCapBase(cap))),
- concat_str(" length:", BitStr(to_bits(64, min(getCapLength(cap), MAX(64)))))))))))))))))
- }
-
-function dump_cp2_state () = {
- print(concat_str("DEBUG CAP PCC", capToString(capRegToCapStruct(PCC))));
- foreach(i from 0 to 31) {
- print(concat_str("DEBUG CAP REG ", concat_str(string_of_int(i), capToString(readCapReg(to_bits(5, i))))))
- };
- print(concat_str("DEBUG CAP HWREG 00", capToString(capRegToCapStruct(DDC))));
- print(concat_str("DEBUG CAP HWREG 01", capToString(capRegToCapStruct(CTLSU))));
- print(concat_str("DEBUG CAP HWREG 08", capToString(capRegToCapStruct(CTLSP))));
- /* TODO: these two should not be mirrored to match the FPGA */
- print(concat_str("DEBUG CAP HWREG 22", capToString(capRegToCapStruct(KR1C))));
- print(concat_str("DEBUG CAP HWREG 23", capToString(capRegToCapStruct(KR2C))));
- /* KCC, KDC, EPCC */
- print(concat_str("DEBUG CAP HWREG 29", capToString(capRegToCapStruct(KCC))));
- print(concat_str("DEBUG CAP HWREG 30", capToString(capRegToCapStruct(KDC))));
- print(concat_str("DEBUG CAP HWREG 31", capToString(capRegToCapStruct(EPCC))));
-
-}
diff --git a/cheri/cheri_types.sail b/cheri/cheri_types.sail
deleted file mode 100644
index af23bcb4..00000000
--- a/cheri/cheri_types.sail
+++ /dev/null
@@ -1,55 +0,0 @@
-/*========================================================================*/
-/* */
-/* Copyright (c) 2015-2017 Robert M. Norton */
-/* Copyright (c) 2015-2017 Kathyrn Gray */
-/* All rights reserved. */
-/* */
-/* This software was developed by the University of Cambridge Computer */
-/* Laboratory as part of the Rigorous Engineering of Mainstream Systems */
-/* (REMS) project, funded by EPSRC grant EP/K008528/1. */
-/* */
-/* Redistribution and use in source and binary forms, with or without */
-/* modification, are permitted provided that the following conditions */
-/* are met: */
-/* 1. Redistributions of source code must retain the above copyright */
-/* notice, this list of conditions and the following disclaimer. */
-/* 2. Redistributions in binary form must reproduce the above copyright */
-/* notice, this list of conditions and the following disclaimer in */
-/* the documentation and/or other materials provided with the */
-/* distribution. */
-/* */
-/* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' */
-/* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED */
-/* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A */
-/* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR */
-/* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
-/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
-/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF */
-/* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND */
-/* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, */
-/* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT */
-/* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF */
-/* SUCH DAMAGE. */
-/*========================================================================*/
-
-type CapLen = range(0, 2 ^ 65)
-type uint64 = range(0, (2 ^ 64) - 1)
-
-enum CPtrCmpOp = {
- CEQ,
- CNE,
- CLT,
- CLE,
- CLTU,
- CLEU,
- CEXEQ,
- CNEXEQ
-}
-
-enum ClearRegSet = {
-GPLo,
-GPHi,
-CLo,
-CHi
-}
-
diff --git a/cheri/sail_latex/commands.tex b/cheri/sail_latex/commands.tex
deleted file mode 100644
index 76072eaf..00000000
--- a/cheri/sail_latex/commands.tex
+++ /dev/null
@@ -1,2667 +0,0 @@
-\newcommand{\sailsailregderefv}{\label{zregzyderef} \lstinputlisting[language=sail]{sail_latex/sailsailregderefv.tex}}
-
-\newcommand{\sailregderef}{\label{zzyregzyderef} \lstinputlisting[language=sail]{sail_latex/sailregderef.tex}}
-
-\newcommand{\saileqbittwo}{\label{zeqzybittwo} \lstinputlisting[language=sail]{sail_latex/saileqbittwo.tex}}
-
-\newcommand{\sailsailsailsailzeightoperatorzzerozJzJzninevvv}{\label{zzeightoperatorzzerozJzJznine} \lstinputlisting[language=sail]{sail_latex/sailsailsailsailzeightoperatorzzerozJzJzninevvv.tex}}
-
-\newcommand{\saildiv}{\label{zdiv} \lstinputlisting[language=sail]{sail_latex/saildiv.tex}}
-
-\newcommand{\sailsailsailzeightoperatorzzerozFzninevv}{\label{zzeightoperatorzzerozFznine} \lstinputlisting[language=sail]{sail_latex/sailsailsailzeightoperatorzzerozFzninevv.tex}}
-
-\newcommand{\sailmod}{\label{zmod} \lstinputlisting[language=sail]{sail_latex/sailmod.tex}}
-
-\newcommand{\sailsailsailzeightoperatorzzerozfivezninevv}{\label{zzeightoperatorzzerozfiveznine} \lstinputlisting[language=sail]{sail_latex/sailsailsailzeightoperatorzzerozfivezninevv.tex}}
-
-\newcommand{\sailabsatom}{\label{zabszyatom} \lstinputlisting[language=sail]{sail_latex/sailabsatom.tex}}
-
-\newcommand{\sailnotbool}{\label{znotzybool} \lstinputlisting[language=sail]{sail_latex/sailnotbool.tex}}
-
-\newcommand{\sailandbool}{\label{zandzybool} \lstinputlisting[language=sail]{sail_latex/sailandbool.tex}}
-
-\newcommand{\sailorbool}{\label{zorzybool} \lstinputlisting[language=sail]{sail_latex/sailorbool.tex}}
-
-\newcommand{\saileqatom}{\label{zeqzyatom} \lstinputlisting[language=sail]{sail_latex/saileqatom.tex}}
-
-\newcommand{\sailneqatom}{\label{zneqzyatom} \lstinputlisting[language=sail]{sail_latex/sailneqatom.tex}}
-
-\newcommand{\sailfnneqatom}{\label{zneqzyatom} \lstinputlisting[language=sail]{sail_latex/sailfnneqatom.tex}}
-
-\newcommand{\saillteqatom}{\label{zlteqzyatom} \lstinputlisting[language=sail]{sail_latex/saillteqatom.tex}}
-
-\newcommand{\sailgteqatom}{\label{zgteqzyatom} \lstinputlisting[language=sail]{sail_latex/sailgteqatom.tex}}
-
-\newcommand{\sailltatom}{\label{zltzyatom} \lstinputlisting[language=sail]{sail_latex/sailltatom.tex}}
-
-\newcommand{\sailgtatom}{\label{zgtzyatom} \lstinputlisting[language=sail]{sail_latex/sailgtatom.tex}}
-
-\newcommand{\sailltrangeatom}{\label{zltzyrangezyatom} \lstinputlisting[language=sail]{sail_latex/sailltrangeatom.tex}}
-
-\newcommand{\saillteqrangeatom}{\label{zlteqzyrangezyatom} \lstinputlisting[language=sail]{sail_latex/saillteqrangeatom.tex}}
-
-\newcommand{\sailgtrangeatom}{\label{zgtzyrangezyatom} \lstinputlisting[language=sail]{sail_latex/sailgtrangeatom.tex}}
-
-\newcommand{\sailgteqrangeatom}{\label{zgteqzyrangezyatom} \lstinputlisting[language=sail]{sail_latex/sailgteqrangeatom.tex}}
-
-\newcommand{\sailltatomrange}{\label{zltzyatomzyrange} \lstinputlisting[language=sail]{sail_latex/sailltatomrange.tex}}
-
-\newcommand{\saillteqatomrange}{\label{zlteqzyatomzyrange} \lstinputlisting[language=sail]{sail_latex/saillteqatomrange.tex}}
-
-\newcommand{\sailgtatomrange}{\label{zgtzyatomzyrange} \lstinputlisting[language=sail]{sail_latex/sailgtatomrange.tex}}
-
-\newcommand{\sailgteqatomrange}{\label{zgteqzyatomzyrange} \lstinputlisting[language=sail]{sail_latex/sailgteqatomrange.tex}}
-
-\newcommand{\saileqrange}{\label{zeqzyrange} \lstinputlisting[language=sail]{sail_latex/saileqrange.tex}}
-
-\newcommand{\saileqint}{\label{zeqzyint} \lstinputlisting[language=sail]{sail_latex/saileqint.tex}}
-
-\newcommand{\saileqbool}{\label{zeqzybool} \lstinputlisting[language=sail]{sail_latex/saileqbool.tex}}
-
-\newcommand{\sailneqrange}{\label{zneqzyrange} \lstinputlisting[language=sail]{sail_latex/sailneqrange.tex}}
-
-\newcommand{\sailfnneqrange}{\label{zneqzyrange} \lstinputlisting[language=sail]{sail_latex/sailfnneqrange.tex}}
-
-\newcommand{\sailneqint}{\label{zneqzyint} \lstinputlisting[language=sail]{sail_latex/sailneqint.tex}}
-
-\newcommand{\sailfnneqint}{\label{zneqzyint} \lstinputlisting[language=sail]{sail_latex/sailfnneqint.tex}}
-
-\newcommand{\sailneqbool}{\label{zneqzybool} \lstinputlisting[language=sail]{sail_latex/sailneqbool.tex}}
-
-\newcommand{\sailfnneqbool}{\label{zneqzybool} \lstinputlisting[language=sail]{sail_latex/sailfnneqbool.tex}}
-
-\newcommand{\saillteqint}{\label{zlteqzyint} \lstinputlisting[language=sail]{sail_latex/saillteqint.tex}}
-
-\newcommand{\sailgteqint}{\label{zgteqzyint} \lstinputlisting[language=sail]{sail_latex/sailgteqint.tex}}
-
-\newcommand{\sailltint}{\label{zltzyint} \lstinputlisting[language=sail]{sail_latex/sailltint.tex}}
-
-\newcommand{\sailgtint}{\label{zgtzyint} \lstinputlisting[language=sail]{sail_latex/sailgtint.tex}}
-
-\newcommand{\sailsailsailzeightoperatorzzerozJzJzninevv}{\label{zzeightoperatorzzerozJzJznine} \lstinputlisting[language=sail]{sail_latex/sailsailsailzeightoperatorzzerozJzJzninevv.tex}}
-
-\newcommand{\sailsailzeightoperatorzzerozonezJzninev}{\label{zzeightoperatorzzerozonezJznine} \lstinputlisting[language=sail]{sail_latex/sailsailzeightoperatorzzerozonezJzninev.tex}}
-
-\newcommand{\sailsailzeightoperatorzzerozUzninev}{\label{zzeightoperatorzzerozUznine} \lstinputlisting[language=sail]{sail_latex/sailsailzeightoperatorzzerozUzninev.tex}}
-
-\newcommand{\sailsailzeightoperatorzzerozsixzninev}{\label{zzeightoperatorzzerozsixznine} \lstinputlisting[language=sail]{sail_latex/sailsailzeightoperatorzzerozsixzninev.tex}}
-
-\newcommand{\sailzeightoperatorzzerozIzJznine}{\label{zzeightoperatorzzerozIzJznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozIzJznine.tex}}
-
-\newcommand{\sailzeightoperatorzzerozIznine}{\label{zzeightoperatorzzerozIznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozIznine.tex}}
-
-\newcommand{\sailzeightoperatorzzerozKzJznine}{\label{zzeightoperatorzzerozKzJznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozKzJznine.tex}}
-
-\newcommand{\sailzeightoperatorzzerozKznine}{\label{zzeightoperatorzzerozKznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozKznine.tex}}
-
-\newcommand{\sailaddatom}{\label{zaddzyatom} \lstinputlisting[language=sail]{sail_latex/sailaddatom.tex}}
-
-\newcommand{\sailaddint}{\label{zaddzyint} \lstinputlisting[language=sail]{sail_latex/sailaddint.tex}}
-
-\newcommand{\sailsailsailzeightoperatorzzerozBzninevv}{\label{zzeightoperatorzzerozBznine} \lstinputlisting[language=sail]{sail_latex/sailsailsailzeightoperatorzzerozBzninevv.tex}}
-
-\newcommand{\sailsubatom}{\label{zsubzyatom} \lstinputlisting[language=sail]{sail_latex/sailsubatom.tex}}
-
-\newcommand{\sailsubint}{\label{zsubzyint} \lstinputlisting[language=sail]{sail_latex/sailsubint.tex}}
-
-\newcommand{\sailsailzeightoperatorzzerozDzninev}{\label{zzeightoperatorzzerozDznine} \lstinputlisting[language=sail]{sail_latex/sailsailzeightoperatorzzerozDzninev.tex}}
-
-\newcommand{\sailnegateatom}{\label{znegatezyatom} \lstinputlisting[language=sail]{sail_latex/sailnegateatom.tex}}
-
-\newcommand{\sailnegateint}{\label{znegatezyint} \lstinputlisting[language=sail]{sail_latex/sailnegateint.tex}}
-
-\newcommand{\sailsailnegatev}{\label{znegate} \lstinputlisting[language=sail]{sail_latex/sailsailnegatev.tex}}
-
-\newcommand{\sailmultatom}{\label{zmultzyatom} \lstinputlisting[language=sail]{sail_latex/sailmultatom.tex}}
-
-\newcommand{\sailmultint}{\label{zmultzyint} \lstinputlisting[language=sail]{sail_latex/sailmultint.tex}}
-
-\newcommand{\sailsailzeightoperatorzzerozAzninev}{\label{zzeightoperatorzzerozAznine} \lstinputlisting[language=sail]{sail_latex/sailsailzeightoperatorzzerozAzninev.tex}}
-
-\newcommand{\sailprintint}{\label{zprintzyint} \lstinputlisting[language=sail]{sail_latex/sailprintint.tex}}
-
-\newcommand{\sailprerrint}{\label{zprerrzyint} \lstinputlisting[language=sail]{sail_latex/sailprerrint.tex}}
-
-\newcommand{\sailshlint}{\label{zshlzyint} \lstinputlisting[language=sail]{sail_latex/sailshlint.tex}}
-
-\newcommand{\sailshrint}{\label{zshrzyint} \lstinputlisting[language=sail]{sail_latex/sailshrint.tex}}
-
-\newcommand{\saildivint}{\label{zdivzyint} \lstinputlisting[language=sail]{sail_latex/saildivint.tex}}
-
-\newcommand{\sailsailzeightoperatorzzerozFzninev}{\label{zzeightoperatorzzerozFznine} \lstinputlisting[language=sail]{sail_latex/sailsailzeightoperatorzzerozFzninev.tex}}
-
-\newcommand{\sailmodint}{\label{zmodzyint} \lstinputlisting[language=sail]{sail_latex/sailmodint.tex}}
-
-\newcommand{\sailsailzeightoperatorzzerozfivezninev}{\label{zzeightoperatorzzerozfiveznine} \lstinputlisting[language=sail]{sail_latex/sailsailzeightoperatorzzerozfivezninev.tex}}
-
-\newcommand{\sailabsint}{\label{zabszyint} \lstinputlisting[language=sail]{sail_latex/sailabsint.tex}}
-
-\newcommand{\sailisnone}{\label{ziszynone} \lstinputlisting[language=sail]{sail_latex/sailisnone.tex}}
-
-\newcommand{\sailfnisnone}{\label{ziszynone} \lstinputlisting[language=sail]{sail_latex/sailfnisnone.tex}}
-
-\newcommand{\sailissome}{\label{ziszysome} \lstinputlisting[language=sail]{sail_latex/sailissome.tex}}
-
-\newcommand{\sailfnissome}{\label{ziszysome} \lstinputlisting[language=sail]{sail_latex/sailfnissome.tex}}
-
-\newcommand{\sailbits}{\label{zbits} \lstinputlisting[language=sail]{sail_latex/sailbits.tex}}
-
-\newcommand{\saileqbit}{\label{zeqzybit} \lstinputlisting[language=sail]{sail_latex/saileqbit.tex}}
-
-\newcommand{\saileqbits}{\label{zeqzybits} \lstinputlisting[language=sail]{sail_latex/saileqbits.tex}}
-
-\newcommand{\sailsailzeightoperatorzzerozJzJzninev}{\label{zzeightoperatorzzerozJzJznine} \lstinputlisting[language=sail]{sail_latex/sailsailzeightoperatorzzerozJzJzninev.tex}}
-
-\newcommand{\sailbitvectorlength}{\label{zbitvectorzylength} \lstinputlisting[language=sail]{sail_latex/sailbitvectorlength.tex}}
-
-\newcommand{\sailvectorlength}{\label{zvectorzylength} \lstinputlisting[language=sail]{sail_latex/sailvectorlength.tex}}
-
-\newcommand{\saillength}{\label{zlength} \lstinputlisting[language=sail]{sail_latex/saillength.tex}}
-
-\newcommand{\sailsailzzeros}{\label{zsailzyzzeros} \lstinputlisting[language=sail]{sail_latex/sailsailzzeros.tex}}
-
-\newcommand{\sailprintbits}{\label{zprintzybits} \lstinputlisting[language=sail]{sail_latex/sailprintbits.tex}}
-
-\newcommand{\sailprerrbits}{\label{zprerrzybits} \lstinputlisting[language=sail]{sail_latex/sailprerrbits.tex}}
-
-\newcommand{\sailsailsignextend}{\label{zsailzysignzyextend} \lstinputlisting[language=sail]{sail_latex/sailsailsignextend.tex}}
-
-\newcommand{\sailsailzzeroextend}{\label{zsailzyzzerozyextend} \lstinputlisting[language=sail]{sail_latex/sailsailzzeroextend.tex}}
-
-\newcommand{\sailtruncate}{\label{ztruncate} \lstinputlisting[language=sail]{sail_latex/sailtruncate.tex}}
-
-\newcommand{\sailsailmask}{\label{zsailzymask} \lstinputlisting[language=sail]{sail_latex/sailsailmask.tex}}
-
-\newcommand{\sailfnsailmask}{\label{zsailzymask} \lstinputlisting[language=sail]{sail_latex/sailfnsailmask.tex}}
-
-\newcommand{\sailsailzeightoperatorzzerozQzninev}{\label{zzeightoperatorzzerozQznine} \lstinputlisting[language=sail]{sail_latex/sailsailzeightoperatorzzerozQzninev.tex}}
-
-\newcommand{\sailbitvectorconcat}{\label{zbitvectorzyconcat} \lstinputlisting[language=sail]{sail_latex/sailbitvectorconcat.tex}}
-
-\newcommand{\sailappend}{\label{zappend} \lstinputlisting[language=sail]{sail_latex/sailappend.tex}}
-
-\newcommand{\sailappendsixfour}{\label{zappendzysixfour} \lstinputlisting[language=sail]{sail_latex/sailappendsixfour.tex}}
-
-\newcommand{\sailbitvectoraccess}{\label{zbitvectorzyaccess} \lstinputlisting[language=sail]{sail_latex/sailbitvectoraccess.tex}}
-
-\newcommand{\sailplainvectoraccess}{\label{zplainzyvectorzyaccess} \lstinputlisting[language=sail]{sail_latex/sailplainvectoraccess.tex}}
-
-\newcommand{\sailvectoraccess}{\label{zvectorzyaccess} \lstinputlisting[language=sail]{sail_latex/sailvectoraccess.tex}}
-
-\newcommand{\sailbitvectorupdate}{\label{zbitvectorzyupdate} \lstinputlisting[language=sail]{sail_latex/sailbitvectorupdate.tex}}
-
-\newcommand{\sailplainvectorupdate}{\label{zplainzyvectorzyupdate} \lstinputlisting[language=sail]{sail_latex/sailplainvectorupdate.tex}}
-
-\newcommand{\sailvectorupdate}{\label{zvectorzyupdate} \lstinputlisting[language=sail]{sail_latex/sailvectorupdate.tex}}
-
-\newcommand{\sailaddbits}{\label{zaddzybits} \lstinputlisting[language=sail]{sail_latex/sailaddbits.tex}}
-
-\newcommand{\sailaddbitsint}{\label{zaddzybitszyint} \lstinputlisting[language=sail]{sail_latex/sailaddbitsint.tex}}
-
-\newcommand{\sailsailzeightoperatorzzerozBzninev}{\label{zzeightoperatorzzerozBznine} \lstinputlisting[language=sail]{sail_latex/sailsailzeightoperatorzzerozBzninev.tex}}
-
-\newcommand{\sailvectorsubrange}{\label{zvectorzysubrange} \lstinputlisting[language=sail]{sail_latex/sailvectorsubrange.tex}}
-
-\newcommand{\sailvectorupdatesubrange}{\label{zvectorzyupdatezysubrange} \lstinputlisting[language=sail]{sail_latex/sailvectorupdatesubrange.tex}}
-
-\newcommand{\sailgetsliceint}{\label{zgetzyslicezyint} \lstinputlisting[language=sail]{sail_latex/sailgetsliceint.tex}}
-
-\newcommand{\sailsetsliceint}{\label{zsetzyslicezyint} \lstinputlisting[language=sail]{sail_latex/sailsetsliceint.tex}}
-
-\newcommand{\sailsetslicebits}{\label{zsetzyslicezybits} \lstinputlisting[language=sail]{sail_latex/sailsetslicebits.tex}}
-
-\newcommand{\sailslice}{\label{zslice} \lstinputlisting[language=sail]{sail_latex/sailslice.tex}}
-
-\newcommand{\sailreplicatebits}{\label{zreplicatezybits} \lstinputlisting[language=sail]{sail_latex/sailreplicatebits.tex}}
-
-\newcommand{\sailunsigned}{\label{zunsigned} \lstinputlisting[language=sail]{sail_latex/sailunsigned.tex}}
-
-\newcommand{\sailsigned}{\label{zsigned} \lstinputlisting[language=sail]{sail_latex/sailsigned.tex}}
-
-\newcommand{\saileqanything}{\label{zeqzyanything} \lstinputlisting[language=sail]{sail_latex/saileqanything.tex}}
-
-\newcommand{\sailzeightoperatorzzerozJzJznine}{\label{zzeightoperatorzzerozJzJznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozJzJznine.tex}}
-
-\newcommand{\sailnotvec}{\label{znotzyvec} \lstinputlisting[language=sail]{sail_latex/sailnotvec.tex}}
-
-\newcommand{\sailzW}{\label{zzW} \lstinputlisting[language=sail]{sail_latex/sailzW.tex}}
-
-\newcommand{\sailnot}{\label{znot} \lstinputlisting[language=sail]{sail_latex/sailnot.tex}}
-
-\newcommand{\sailneqvec}{\label{zneqzyvec} \lstinputlisting[language=sail]{sail_latex/sailneqvec.tex}}
-
-\newcommand{\sailfnneqvec}{\label{zneqzyvec} \lstinputlisting[language=sail]{sail_latex/sailfnneqvec.tex}}
-
-\newcommand{\sailneqanything}{\label{zneqzyanything} \lstinputlisting[language=sail]{sail_latex/sailneqanything.tex}}
-
-\newcommand{\sailfnneqanything}{\label{zneqzyanything} \lstinputlisting[language=sail]{sail_latex/sailfnneqanything.tex}}
-
-\newcommand{\sailzeightoperatorzzerozonezJznine}{\label{zzeightoperatorzzerozonezJznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozonezJznine.tex}}
-
-\newcommand{\sailandbits}{\label{zandzybits} \lstinputlisting[language=sail]{sail_latex/sailandbits.tex}}
-
-\newcommand{\sailzeightoperatorzzerozsixznine}{\label{zzeightoperatorzzerozsixznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozsixznine.tex}}
-
-\newcommand{\sailorbits}{\label{zorzybits} \lstinputlisting[language=sail]{sail_latex/sailorbits.tex}}
-
-\newcommand{\sailzeightoperatorzzerozUznine}{\label{zzeightoperatorzzerozUznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozUznine.tex}}
-
-\newcommand{\sailcastunitvec}{\label{zcastzyunitzyvec} \lstinputlisting[language=sail]{sail_latex/sailcastunitvec.tex}}
-
-\newcommand{\sailfncastunitvec}{\label{zcastzyunitzyvec} \lstinputlisting[language=sail]{sail_latex/sailfncastunitvec.tex}}
-
-\newcommand{\sailprint}{\label{zprint} \lstinputlisting[language=sail]{sail_latex/sailprint.tex}}
-
-\newcommand{\sailprerrendline}{\label{zprerrzyendline} \lstinputlisting[language=sail]{sail_latex/sailprerrendline.tex}}
-
-\newcommand{\sailprerrstring}{\label{zprerrzystring} \lstinputlisting[language=sail]{sail_latex/sailprerrstring.tex}}
-
-\newcommand{\sailputchar}{\label{zputchar} \lstinputlisting[language=sail]{sail_latex/sailputchar.tex}}
-
-\newcommand{\sailconcatstr}{\label{zconcatzystr} \lstinputlisting[language=sail]{sail_latex/sailconcatstr.tex}}
-
-\newcommand{\sailstringofint}{\label{zstringzyofzyint} \lstinputlisting[language=sail]{sail_latex/sailstringofint.tex}}
-
-\newcommand{\sailBitStr}{\label{zBitStr} \lstinputlisting[language=sail]{sail_latex/sailBitStr.tex}}
-
-\newcommand{\sailxorvec}{\label{zxorzyvec} \lstinputlisting[language=sail]{sail_latex/sailxorvec.tex}}
-
-\newcommand{\sailintpower}{\label{zintzypower} \lstinputlisting[language=sail]{sail_latex/sailintpower.tex}}
-
-\newcommand{\sailzeightoperatorzzerozQznine}{\label{zzeightoperatorzzerozQznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozQznine.tex}}
-
-\newcommand{\sailaddrange}{\label{zaddzyrange} \lstinputlisting[language=sail]{sail_latex/sailaddrange.tex}}
-
-\newcommand{\sailaddvec}{\label{zaddzyvec} \lstinputlisting[language=sail]{sail_latex/sailaddvec.tex}}
-
-\newcommand{\sailaddvecint}{\label{zaddzyveczyint} \lstinputlisting[language=sail]{sail_latex/sailaddvecint.tex}}
-
-\newcommand{\sailzeightoperatorzzerozBznine}{\label{zzeightoperatorzzerozBznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozBznine.tex}}
-
-\newcommand{\sailsubrange}{\label{zsubzyrange} \lstinputlisting[language=sail]{sail_latex/sailsubrange.tex}}
-
-\newcommand{\sailsubvec}{\label{zsubzyvec} \lstinputlisting[language=sail]{sail_latex/sailsubvec.tex}}
-
-\newcommand{\sailsubvecint}{\label{zsubzyveczyint} \lstinputlisting[language=sail]{sail_latex/sailsubvecint.tex}}
-
-\newcommand{\sailnegaterange}{\label{znegatezyrange} \lstinputlisting[language=sail]{sail_latex/sailnegaterange.tex}}
-
-\newcommand{\sailzeightoperatorzzerozDznine}{\label{zzeightoperatorzzerozDznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozDznine.tex}}
-
-\newcommand{\sailnegate}{\label{znegate} \lstinputlisting[language=sail]{sail_latex/sailnegate.tex}}
-
-\newcommand{\sailzeightoperatorzzerozAznine}{\label{zzeightoperatorzzerozAznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozAznine.tex}}
-
-\newcommand{\sailquotientnat}{\label{zquotientzynat} \lstinputlisting[language=sail]{sail_latex/sailquotientnat.tex}}
-
-\newcommand{\sailquotient}{\label{zquotient} \lstinputlisting[language=sail]{sail_latex/sailquotient.tex}}
-
-\newcommand{\sailzeightoperatorzzerozFznine}{\label{zzeightoperatorzzerozFznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozFznine.tex}}
-
-\newcommand{\sailquotroundzzero}{\label{zquotzyroundzyzzero} \lstinputlisting[language=sail]{sail_latex/sailquotroundzzero.tex}}
-
-\newcommand{\sailremroundzzero}{\label{zremzyroundzyzzero} \lstinputlisting[language=sail]{sail_latex/sailremroundzzero.tex}}
-
-\newcommand{\sailmodulus}{\label{zmodulus} \lstinputlisting[language=sail]{sail_latex/sailmodulus.tex}}
-
-\newcommand{\sailzeightoperatorzzerozfiveznine}{\label{zzeightoperatorzzerozfiveznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozfiveznine.tex}}
-
-\newcommand{\sailminnat}{\label{zminzynat} \lstinputlisting[language=sail]{sail_latex/sailminnat.tex}}
-
-\newcommand{\sailminint}{\label{zminzyint} \lstinputlisting[language=sail]{sail_latex/sailminint.tex}}
-
-\newcommand{\sailmaxnat}{\label{zmaxzynat} \lstinputlisting[language=sail]{sail_latex/sailmaxnat.tex}}
-
-\newcommand{\sailmaxint}{\label{zmaxzyint} \lstinputlisting[language=sail]{sail_latex/sailmaxint.tex}}
-
-\newcommand{\sailminatom}{\label{zminzyatom} \lstinputlisting[language=sail]{sail_latex/sailminatom.tex}}
-
-\newcommand{\sailmaxatom}{\label{zmaxzyatom} \lstinputlisting[language=sail]{sail_latex/sailmaxatom.tex}}
-
-\newcommand{\sailmin}{\label{zmin} \lstinputlisting[language=sail]{sail_latex/sailmin.tex}}
-
-\newcommand{\sailsailmaxv}{\label{zmax} \lstinputlisting[language=sail]{sail_latex/sailsailmaxv.tex}}
-
-\newcommand{\sailWriteRAM}{\label{zzyzyWriteRAM} \lstinputlisting[language=sail]{sail_latex/sailWriteRAM.tex}}
-
-\newcommand{\sailMIPSwrite}{\label{zzyzyMIPSzywrite} \lstinputlisting[language=sail]{sail_latex/sailMIPSwrite.tex}}
-
-\newcommand{\sailfnMIPSwrite}{\label{zzyzyMIPSzywrite} \lstinputlisting[language=sail]{sail_latex/sailfnMIPSwrite.tex}}
-
-\newcommand{\sailReadRAM}{\label{zzyzyReadRAM} \lstinputlisting[language=sail]{sail_latex/sailReadRAM.tex}}
-
-\newcommand{\sailMIPSread}{\label{zzyzyMIPSzyread} \lstinputlisting[language=sail]{sail_latex/sailMIPSread.tex}}
-
-\newcommand{\sailfnMIPSread}{\label{zzyzyMIPSzyread} \lstinputlisting[language=sail]{sail_latex/sailfnMIPSread.tex}}
-
-\newcommand{\sailzeightoperatorzzerozQzQznine}{\label{zzeightoperatorzzerozQzQznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozQzQznine.tex}}
-
-\newcommand{\sailfnzeightoperatorzzerozQzQznine}{\label{zzeightoperatorzzerozQzQznine} \lstinputlisting[language=sail]{sail_latex/sailfnzeightoperatorzzerozQzQznine.tex}}
-
-\newcommand{\sailpowtwo}{\label{zpowtwo} \lstinputlisting[language=sail]{sail_latex/sailpowtwo.tex}}
-
-\newcommand{\sailmipssignextend}{\label{zmipszysignzyextend} \lstinputlisting[language=sail]{sail_latex/sailmipssignextend.tex}}
-
-\newcommand{\sailmipszzeroextend}{\label{zmipszyzzerozyextend} \lstinputlisting[language=sail]{sail_latex/sailmipszzeroextend.tex}}
-
-\newcommand{\sailfnmipssignextend}{\label{zmipszysignzyextend} \lstinputlisting[language=sail]{sail_latex/sailfnmipssignextend.tex}}
-
-\newcommand{\sailfnmipszzeroextend}{\label{zmipszyzzerozyextend} \lstinputlisting[language=sail]{sail_latex/sailfnmipszzeroextend.tex}}
-
-\newcommand{\sailsignextend}{\label{zsignzyextend} \lstinputlisting[language=sail]{sail_latex/sailsignextend.tex}}
-
-\newcommand{\sailzzeroextend}{\label{zzzerozyextend} \lstinputlisting[language=sail]{sail_latex/sailzzeroextend.tex}}
-
-\newcommand{\sailzzeros}{\label{zzzeros} \lstinputlisting[language=sail]{sail_latex/sailzzeros.tex}}
-
-\newcommand{\sailfnzzeros}{\label{zzzeros} \lstinputlisting[language=sail]{sail_latex/sailfnzzeros.tex}}
-
-\newcommand{\sailones}{\label{zones} \lstinputlisting[language=sail]{sail_latex/sailones.tex}}
-
-\newcommand{\sailfnones}{\label{zones} \lstinputlisting[language=sail]{sail_latex/sailfnones.tex}}
-
-\newcommand{\sailzeightoperatorzzerozIsznine}{\label{zzeightoperatorzzerozIzysznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozIsznine.tex}}
-
-\newcommand{\sailzeightoperatorzzerozKzJsznine}{\label{zzeightoperatorzzerozKzJzysznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozKzJsznine.tex}}
-
-\newcommand{\sailzeightoperatorzzerozIuznine}{\label{zzeightoperatorzzerozIzyuznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozIuznine.tex}}
-
-\newcommand{\sailzeightoperatorzzerozKzJuznine}{\label{zzeightoperatorzzerozKzJzyuznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozKzJuznine.tex}}
-
-\newcommand{\sailfnzeightoperatorzzerozIsznine}{\label{zzeightoperatorzzerozIzysznine} \lstinputlisting[language=sail]{sail_latex/sailfnzeightoperatorzzerozIsznine.tex}}
-
-\newcommand{\sailfnzeightoperatorzzerozKzJsznine}{\label{zzeightoperatorzzerozKzJzysznine} \lstinputlisting[language=sail]{sail_latex/sailfnzeightoperatorzzerozKzJsznine.tex}}
-
-\newcommand{\sailfnzeightoperatorzzerozIuznine}{\label{zzeightoperatorzzerozIzyuznine} \lstinputlisting[language=sail]{sail_latex/sailfnzeightoperatorzzerozIuznine.tex}}
-
-\newcommand{\sailfnzeightoperatorzzerozKzJuznine}{\label{zzeightoperatorzzerozKzJzyuznine} \lstinputlisting[language=sail]{sail_latex/sailfnzeightoperatorzzerozKzJuznine.tex}}
-
-\newcommand{\sailbooltobits}{\label{zboolzytozybits} \lstinputlisting[language=sail]{sail_latex/sailbooltobits.tex}}
-
-\newcommand{\sailfnbooltobits}{\label{zboolzytozybits} \lstinputlisting[language=sail]{sail_latex/sailfnbooltobits.tex}}
-
-\newcommand{\sailbittobool}{\label{zbitzytozybool} \lstinputlisting[language=sail]{sail_latex/sailbittobool.tex}}
-
-\newcommand{\sailfnbittobool}{\label{zbitzytozybool} \lstinputlisting[language=sail]{sail_latex/sailfnbittobool.tex}}
-
-\newcommand{\sailbitstobool}{\label{zbitszytozybool} \lstinputlisting[language=sail]{sail_latex/sailbitstobool.tex}}
-
-\newcommand{\sailfnbitstobool}{\label{zbitszytozybool} \lstinputlisting[language=sail]{sail_latex/sailfnbitstobool.tex}}
-
-\newcommand{\sailshiftbitsright}{\label{zshiftzybitszyright} \lstinputlisting[language=sail]{sail_latex/sailshiftbitsright.tex}}
-
-\newcommand{\sailshiftbitsleft}{\label{zshiftzybitszyleft} \lstinputlisting[language=sail]{sail_latex/sailshiftbitsleft.tex}}
-
-\newcommand{\sailshiftl}{\label{zshiftl} \lstinputlisting[language=sail]{sail_latex/sailshiftl.tex}}
-
-\newcommand{\sailshiftr}{\label{zshiftr} \lstinputlisting[language=sail]{sail_latex/sailshiftr.tex}}
-
-\newcommand{\sailzeightoperatorzzerozKzKznine}{\label{zzeightoperatorzzerozKzKznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozKzKznine.tex}}
-
-\newcommand{\sailzeightoperatorzzerozIzIznine}{\label{zzeightoperatorzzerozIzIznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozIzIznine.tex}}
-
-\newcommand{\sailzeightoperatorzzerozKzKsznine}{\label{zzeightoperatorzzerozKzKzysznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozKzKsznine.tex}}
-
-\newcommand{\sailzeightoperatorzzerozAsznine}{\label{zzeightoperatorzzerozAzysznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozAsznine.tex}}
-
-\newcommand{\sailzeightoperatorzzerozAuznine}{\label{zzeightoperatorzzerozAzyuznine} \lstinputlisting[language=sail]{sail_latex/sailzeightoperatorzzerozAuznine.tex}}
-
-\newcommand{\sailtobits}{\label{ztozybits}
-\function{to\_bits} converts an integer to a bit vector of given length. If the integer is negative a twos-complement representation is used. If the integer is too large (or too negative) to fit in the requested length then it is truncated to the least significant bits.
-\lstinputlisting[language=sail]{sail_latex/sailtobits.tex}}
-
-\newcommand{\sailfntobits}{\label{ztozybits} \lstinputlisting[language=sail]{sail_latex/sailfntobits.tex}}
-
-\newcommand{\sailmask}{\label{zmask} \lstinputlisting[language=sail]{sail_latex/sailmask.tex}}
-
-\newcommand{\sailfnmask}{\label{zmask} \lstinputlisting[language=sail]{sail_latex/sailfnmask.tex}}
-
-\newcommand{\sailgettimens}{\label{zgetzytimezyns} \lstinputlisting[language=sail]{sail_latex/sailgettimens.tex}}
-
-\newcommand{\sailCauseReg}{\label{zCauseReg} \lstinputlisting[language=sail]{sail_latex/sailCauseReg.tex}}
-
-\newcommand{\sailMkCauseReg}{\label{zMkzyCauseReg} \lstinputlisting[language=sail]{sail_latex/sailMkCauseReg.tex}}
-
-\newcommand{\sailfnMkCauseReg}{\label{zMkzyCauseReg} \lstinputlisting[language=sail]{sail_latex/sailfnMkCauseReg.tex}}
-
-\newcommand{\sailgetCauseRegbits}{\label{zzygetzyCauseRegzybits} \lstinputlisting[language=sail]{sail_latex/sailgetCauseRegbits.tex}}
-
-\newcommand{\sailfngetCauseRegbits}{\label{zzygetzyCauseRegzybits} \lstinputlisting[language=sail]{sail_latex/sailfngetCauseRegbits.tex}}
-
-\newcommand{\sailsetCauseRegbits}{\label{zzysetzyCauseRegzybits} \lstinputlisting[language=sail]{sail_latex/sailsetCauseRegbits.tex}}
-
-\newcommand{\sailfnsetCauseRegbits}{\label{zzysetzyCauseRegzybits} \lstinputlisting[language=sail]{sail_latex/sailfnsetCauseRegbits.tex}}
-
-\newcommand{\sailupdateCauseRegbits}{\label{zzyupdatezyCauseRegzybits} \lstinputlisting[language=sail]{sail_latex/sailupdateCauseRegbits.tex}}
-
-\newcommand{\sailfnupdateCauseRegbits}{\label{zzyupdatezyCauseRegzybits} \lstinputlisting[language=sail]{sail_latex/sailfnupdateCauseRegbits.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailupdatebitsvvvvvvv}{\label{zupdatezybits} \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailupdatebitsvvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailmodbitsvvvvvvv}{\label{zzymodzybits} \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailmodbitsvvvvvvv.tex}}
-
-\newcommand{\sailgetCauseRegBD}{\label{zzygetzyCauseRegzyBD} \lstinputlisting[language=sail]{sail_latex/sailgetCauseRegBD.tex}}
-
-\newcommand{\sailfngetCauseRegBD}{\label{zzygetzyCauseRegzyBD} \lstinputlisting[language=sail]{sail_latex/sailfngetCauseRegBD.tex}}
-
-\newcommand{\sailsetCauseRegBD}{\label{zzysetzyCauseRegzyBD} \lstinputlisting[language=sail]{sail_latex/sailsetCauseRegBD.tex}}
-
-\newcommand{\sailfnsetCauseRegBD}{\label{zzysetzyCauseRegzyBD} \lstinputlisting[language=sail]{sail_latex/sailfnsetCauseRegBD.tex}}
-
-\newcommand{\sailupdateCauseRegBD}{\label{zzyupdatezyCauseRegzyBD} \lstinputlisting[language=sail]{sail_latex/sailupdateCauseRegBD.tex}}
-
-\newcommand{\sailfnupdateCauseRegBD}{\label{zzyupdatezyCauseRegzyBD} \lstinputlisting[language=sail]{sail_latex/sailfnupdateCauseRegBD.tex}}
-
-\newcommand{\sailupdateBD}{\label{zupdatezyBD} \lstinputlisting[language=sail]{sail_latex/sailupdateBD.tex}}
-
-\newcommand{\sailmodBD}{\label{zzymodzyBD} \lstinputlisting[language=sail]{sail_latex/sailmodBD.tex}}
-
-\newcommand{\sailgetCauseRegCE}{\label{zzygetzyCauseRegzyCE} \lstinputlisting[language=sail]{sail_latex/sailgetCauseRegCE.tex}}
-
-\newcommand{\sailfngetCauseRegCE}{\label{zzygetzyCauseRegzyCE} \lstinputlisting[language=sail]{sail_latex/sailfngetCauseRegCE.tex}}
-
-\newcommand{\sailsetCauseRegCE}{\label{zzysetzyCauseRegzyCE} \lstinputlisting[language=sail]{sail_latex/sailsetCauseRegCE.tex}}
-
-\newcommand{\sailfnsetCauseRegCE}{\label{zzysetzyCauseRegzyCE} \lstinputlisting[language=sail]{sail_latex/sailfnsetCauseRegCE.tex}}
-
-\newcommand{\sailupdateCauseRegCE}{\label{zzyupdatezyCauseRegzyCE} \lstinputlisting[language=sail]{sail_latex/sailupdateCauseRegCE.tex}}
-
-\newcommand{\sailfnupdateCauseRegCE}{\label{zzyupdatezyCauseRegzyCE} \lstinputlisting[language=sail]{sail_latex/sailfnupdateCauseRegCE.tex}}
-
-\newcommand{\sailupdateCE}{\label{zupdatezyCE} \lstinputlisting[language=sail]{sail_latex/sailupdateCE.tex}}
-
-\newcommand{\sailmodCE}{\label{zzymodzyCE} \lstinputlisting[language=sail]{sail_latex/sailmodCE.tex}}
-
-\newcommand{\sailgetCauseRegIV}{\label{zzygetzyCauseRegzyIV} \lstinputlisting[language=sail]{sail_latex/sailgetCauseRegIV.tex}}
-
-\newcommand{\sailfngetCauseRegIV}{\label{zzygetzyCauseRegzyIV} \lstinputlisting[language=sail]{sail_latex/sailfngetCauseRegIV.tex}}
-
-\newcommand{\sailsetCauseRegIV}{\label{zzysetzyCauseRegzyIV} \lstinputlisting[language=sail]{sail_latex/sailsetCauseRegIV.tex}}
-
-\newcommand{\sailfnsetCauseRegIV}{\label{zzysetzyCauseRegzyIV} \lstinputlisting[language=sail]{sail_latex/sailfnsetCauseRegIV.tex}}
-
-\newcommand{\sailupdateCauseRegIV}{\label{zzyupdatezyCauseRegzyIV} \lstinputlisting[language=sail]{sail_latex/sailupdateCauseRegIV.tex}}
-
-\newcommand{\sailfnupdateCauseRegIV}{\label{zzyupdatezyCauseRegzyIV} \lstinputlisting[language=sail]{sail_latex/sailfnupdateCauseRegIV.tex}}
-
-\newcommand{\sailupdateIV}{\label{zupdatezyIV} \lstinputlisting[language=sail]{sail_latex/sailupdateIV.tex}}
-
-\newcommand{\sailmodIV}{\label{zzymodzyIV} \lstinputlisting[language=sail]{sail_latex/sailmodIV.tex}}
-
-\newcommand{\sailgetCauseRegWP}{\label{zzygetzyCauseRegzyWP} \lstinputlisting[language=sail]{sail_latex/sailgetCauseRegWP.tex}}
-
-\newcommand{\sailfngetCauseRegWP}{\label{zzygetzyCauseRegzyWP} \lstinputlisting[language=sail]{sail_latex/sailfngetCauseRegWP.tex}}
-
-\newcommand{\sailsetCauseRegWP}{\label{zzysetzyCauseRegzyWP} \lstinputlisting[language=sail]{sail_latex/sailsetCauseRegWP.tex}}
-
-\newcommand{\sailfnsetCauseRegWP}{\label{zzysetzyCauseRegzyWP} \lstinputlisting[language=sail]{sail_latex/sailfnsetCauseRegWP.tex}}
-
-\newcommand{\sailupdateCauseRegWP}{\label{zzyupdatezyCauseRegzyWP} \lstinputlisting[language=sail]{sail_latex/sailupdateCauseRegWP.tex}}
-
-\newcommand{\sailfnupdateCauseRegWP}{\label{zzyupdatezyCauseRegzyWP} \lstinputlisting[language=sail]{sail_latex/sailfnupdateCauseRegWP.tex}}
-
-\newcommand{\sailupdateWP}{\label{zupdatezyWP} \lstinputlisting[language=sail]{sail_latex/sailupdateWP.tex}}
-
-\newcommand{\sailmodWP}{\label{zzymodzyWP} \lstinputlisting[language=sail]{sail_latex/sailmodWP.tex}}
-
-\newcommand{\sailgetCauseRegIP}{\label{zzygetzyCauseRegzyIP} \lstinputlisting[language=sail]{sail_latex/sailgetCauseRegIP.tex}}
-
-\newcommand{\sailfngetCauseRegIP}{\label{zzygetzyCauseRegzyIP} \lstinputlisting[language=sail]{sail_latex/sailfngetCauseRegIP.tex}}
-
-\newcommand{\sailsetCauseRegIP}{\label{zzysetzyCauseRegzyIP} \lstinputlisting[language=sail]{sail_latex/sailsetCauseRegIP.tex}}
-
-\newcommand{\sailfnsetCauseRegIP}{\label{zzysetzyCauseRegzyIP} \lstinputlisting[language=sail]{sail_latex/sailfnsetCauseRegIP.tex}}
-
-\newcommand{\sailupdateCauseRegIP}{\label{zzyupdatezyCauseRegzyIP} \lstinputlisting[language=sail]{sail_latex/sailupdateCauseRegIP.tex}}
-
-\newcommand{\sailfnupdateCauseRegIP}{\label{zzyupdatezyCauseRegzyIP} \lstinputlisting[language=sail]{sail_latex/sailfnupdateCauseRegIP.tex}}
-
-\newcommand{\sailupdateIP}{\label{zupdatezyIP} \lstinputlisting[language=sail]{sail_latex/sailupdateIP.tex}}
-
-\newcommand{\sailmodIP}{\label{zzymodzyIP} \lstinputlisting[language=sail]{sail_latex/sailmodIP.tex}}
-
-\newcommand{\sailgetCauseRegExcCode}{\label{zzygetzyCauseRegzyExcCode} \lstinputlisting[language=sail]{sail_latex/sailgetCauseRegExcCode.tex}}
-
-\newcommand{\sailfngetCauseRegExcCode}{\label{zzygetzyCauseRegzyExcCode} \lstinputlisting[language=sail]{sail_latex/sailfngetCauseRegExcCode.tex}}
-
-\newcommand{\sailsetCauseRegExcCode}{\label{zzysetzyCauseRegzyExcCode} \lstinputlisting[language=sail]{sail_latex/sailsetCauseRegExcCode.tex}}
-
-\newcommand{\sailfnsetCauseRegExcCode}{\label{zzysetzyCauseRegzyExcCode} \lstinputlisting[language=sail]{sail_latex/sailfnsetCauseRegExcCode.tex}}
-
-\newcommand{\sailupdateCauseRegExcCode}{\label{zzyupdatezyCauseRegzyExcCode} \lstinputlisting[language=sail]{sail_latex/sailupdateCauseRegExcCode.tex}}
-
-\newcommand{\sailfnupdateCauseRegExcCode}{\label{zzyupdatezyCauseRegzyExcCode} \lstinputlisting[language=sail]{sail_latex/sailfnupdateCauseRegExcCode.tex}}
-
-\newcommand{\sailsailupdateExcCodev}{\label{zupdatezyExcCode} \lstinputlisting[language=sail]{sail_latex/sailsailupdateExcCodev.tex}}
-
-\newcommand{\sailsailmodExcCodev}{\label{zzymodzyExcCode} \lstinputlisting[language=sail]{sail_latex/sailsailmodExcCodev.tex}}
-
-\newcommand{\sailTLBEntryLoReg}{\label{zTLBEntryLoReg} \lstinputlisting[language=sail]{sail_latex/sailTLBEntryLoReg.tex}}
-
-\newcommand{\sailMkTLBEntryLoReg}{\label{zMkzyTLBEntryLoReg} \lstinputlisting[language=sail]{sail_latex/sailMkTLBEntryLoReg.tex}}
-
-\newcommand{\sailfnMkTLBEntryLoReg}{\label{zMkzyTLBEntryLoReg} \lstinputlisting[language=sail]{sail_latex/sailfnMkTLBEntryLoReg.tex}}
-
-\newcommand{\sailgetTLBEntryLoRegbits}{\label{zzygetzyTLBEntryLoRegzybits} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntryLoRegbits.tex}}
-
-\newcommand{\sailfngetTLBEntryLoRegbits}{\label{zzygetzyTLBEntryLoRegzybits} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntryLoRegbits.tex}}
-
-\newcommand{\sailsetTLBEntryLoRegbits}{\label{zzysetzyTLBEntryLoRegzybits} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntryLoRegbits.tex}}
-
-\newcommand{\sailfnsetTLBEntryLoRegbits}{\label{zzysetzyTLBEntryLoRegzybits} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntryLoRegbits.tex}}
-
-\newcommand{\sailupdateTLBEntryLoRegbits}{\label{zzyupdatezyTLBEntryLoRegzybits} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntryLoRegbits.tex}}
-
-\newcommand{\sailfnupdateTLBEntryLoRegbits}{\label{zzyupdatezyTLBEntryLoRegzybits} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntryLoRegbits.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailupdatebitsvvvvvv}{\label{zupdatezybits} \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailupdatebitsvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailmodbitsvvvvvv}{\label{zzymodzybits} \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailmodbitsvvvvvv.tex}}
-
-\newcommand{\sailgetTLBEntryLoRegCapS}{\label{zzygetzyTLBEntryLoRegzyCapS} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntryLoRegCapS.tex}}
-
-\newcommand{\sailfngetTLBEntryLoRegCapS}{\label{zzygetzyTLBEntryLoRegzyCapS} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntryLoRegCapS.tex}}
-
-\newcommand{\sailsetTLBEntryLoRegCapS}{\label{zzysetzyTLBEntryLoRegzyCapS} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntryLoRegCapS.tex}}
-
-\newcommand{\sailfnsetTLBEntryLoRegCapS}{\label{zzysetzyTLBEntryLoRegzyCapS} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntryLoRegCapS.tex}}
-
-\newcommand{\sailupdateTLBEntryLoRegCapS}{\label{zzyupdatezyTLBEntryLoRegzyCapS} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntryLoRegCapS.tex}}
-
-\newcommand{\sailfnupdateTLBEntryLoRegCapS}{\label{zzyupdatezyTLBEntryLoRegzyCapS} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntryLoRegCapS.tex}}
-
-\newcommand{\sailupdateCapS}{\label{zupdatezyCapS} \lstinputlisting[language=sail]{sail_latex/sailupdateCapS.tex}}
-
-\newcommand{\sailmodCapS}{\label{zzymodzyCapS} \lstinputlisting[language=sail]{sail_latex/sailmodCapS.tex}}
-
-\newcommand{\sailgetTLBEntryLoRegCapL}{\label{zzygetzyTLBEntryLoRegzyCapL} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntryLoRegCapL.tex}}
-
-\newcommand{\sailfngetTLBEntryLoRegCapL}{\label{zzygetzyTLBEntryLoRegzyCapL} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntryLoRegCapL.tex}}
-
-\newcommand{\sailsetTLBEntryLoRegCapL}{\label{zzysetzyTLBEntryLoRegzyCapL} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntryLoRegCapL.tex}}
-
-\newcommand{\sailfnsetTLBEntryLoRegCapL}{\label{zzysetzyTLBEntryLoRegzyCapL} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntryLoRegCapL.tex}}
-
-\newcommand{\sailupdateTLBEntryLoRegCapL}{\label{zzyupdatezyTLBEntryLoRegzyCapL} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntryLoRegCapL.tex}}
-
-\newcommand{\sailfnupdateTLBEntryLoRegCapL}{\label{zzyupdatezyTLBEntryLoRegzyCapL} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntryLoRegCapL.tex}}
-
-\newcommand{\sailupdateCapL}{\label{zupdatezyCapL} \lstinputlisting[language=sail]{sail_latex/sailupdateCapL.tex}}
-
-\newcommand{\sailmodCapL}{\label{zzymodzyCapL} \lstinputlisting[language=sail]{sail_latex/sailmodCapL.tex}}
-
-\newcommand{\sailgetTLBEntryLoRegPFN}{\label{zzygetzyTLBEntryLoRegzyPFN} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntryLoRegPFN.tex}}
-
-\newcommand{\sailfngetTLBEntryLoRegPFN}{\label{zzygetzyTLBEntryLoRegzyPFN} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntryLoRegPFN.tex}}
-
-\newcommand{\sailsetTLBEntryLoRegPFN}{\label{zzysetzyTLBEntryLoRegzyPFN} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntryLoRegPFN.tex}}
-
-\newcommand{\sailfnsetTLBEntryLoRegPFN}{\label{zzysetzyTLBEntryLoRegzyPFN} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntryLoRegPFN.tex}}
-
-\newcommand{\sailupdateTLBEntryLoRegPFN}{\label{zzyupdatezyTLBEntryLoRegzyPFN} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntryLoRegPFN.tex}}
-
-\newcommand{\sailfnupdateTLBEntryLoRegPFN}{\label{zzyupdatezyTLBEntryLoRegzyPFN} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntryLoRegPFN.tex}}
-
-\newcommand{\sailupdatePFN}{\label{zupdatezyPFN} \lstinputlisting[language=sail]{sail_latex/sailupdatePFN.tex}}
-
-\newcommand{\sailmodPFN}{\label{zzymodzyPFN} \lstinputlisting[language=sail]{sail_latex/sailmodPFN.tex}}
-
-\newcommand{\sailgetTLBEntryLoRegC}{\label{zzygetzyTLBEntryLoRegzyC} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntryLoRegC.tex}}
-
-\newcommand{\sailfngetTLBEntryLoRegC}{\label{zzygetzyTLBEntryLoRegzyC} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntryLoRegC.tex}}
-
-\newcommand{\sailsetTLBEntryLoRegC}{\label{zzysetzyTLBEntryLoRegzyC} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntryLoRegC.tex}}
-
-\newcommand{\sailfnsetTLBEntryLoRegC}{\label{zzysetzyTLBEntryLoRegzyC} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntryLoRegC.tex}}
-
-\newcommand{\sailupdateTLBEntryLoRegC}{\label{zzyupdatezyTLBEntryLoRegzyC} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntryLoRegC.tex}}
-
-\newcommand{\sailfnupdateTLBEntryLoRegC}{\label{zzyupdatezyTLBEntryLoRegzyC} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntryLoRegC.tex}}
-
-\newcommand{\sailupdateC}{\label{zupdatezyC} \lstinputlisting[language=sail]{sail_latex/sailupdateC.tex}}
-
-\newcommand{\sailmodC}{\label{zzymodzyC} \lstinputlisting[language=sail]{sail_latex/sailmodC.tex}}
-
-\newcommand{\sailgetTLBEntryLoRegD}{\label{zzygetzyTLBEntryLoRegzyD} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntryLoRegD.tex}}
-
-\newcommand{\sailfngetTLBEntryLoRegD}{\label{zzygetzyTLBEntryLoRegzyD} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntryLoRegD.tex}}
-
-\newcommand{\sailsetTLBEntryLoRegD}{\label{zzysetzyTLBEntryLoRegzyD} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntryLoRegD.tex}}
-
-\newcommand{\sailfnsetTLBEntryLoRegD}{\label{zzysetzyTLBEntryLoRegzyD} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntryLoRegD.tex}}
-
-\newcommand{\sailupdateTLBEntryLoRegD}{\label{zzyupdatezyTLBEntryLoRegzyD} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntryLoRegD.tex}}
-
-\newcommand{\sailfnupdateTLBEntryLoRegD}{\label{zzyupdatezyTLBEntryLoRegzyD} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntryLoRegD.tex}}
-
-\newcommand{\sailupdateD}{\label{zupdatezyD} \lstinputlisting[language=sail]{sail_latex/sailupdateD.tex}}
-
-\newcommand{\sailmodD}{\label{zzymodzyD} \lstinputlisting[language=sail]{sail_latex/sailmodD.tex}}
-
-\newcommand{\sailgetTLBEntryLoRegV}{\label{zzygetzyTLBEntryLoRegzyV} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntryLoRegV.tex}}
-
-\newcommand{\sailfngetTLBEntryLoRegV}{\label{zzygetzyTLBEntryLoRegzyV} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntryLoRegV.tex}}
-
-\newcommand{\sailsetTLBEntryLoRegV}{\label{zzysetzyTLBEntryLoRegzyV} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntryLoRegV.tex}}
-
-\newcommand{\sailfnsetTLBEntryLoRegV}{\label{zzysetzyTLBEntryLoRegzyV} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntryLoRegV.tex}}
-
-\newcommand{\sailupdateTLBEntryLoRegV}{\label{zzyupdatezyTLBEntryLoRegzyV} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntryLoRegV.tex}}
-
-\newcommand{\sailfnupdateTLBEntryLoRegV}{\label{zzyupdatezyTLBEntryLoRegzyV} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntryLoRegV.tex}}
-
-\newcommand{\sailupdateV}{\label{zupdatezyV} \lstinputlisting[language=sail]{sail_latex/sailupdateV.tex}}
-
-\newcommand{\sailmodV}{\label{zzymodzyV} \lstinputlisting[language=sail]{sail_latex/sailmodV.tex}}
-
-\newcommand{\sailgetTLBEntryLoRegG}{\label{zzygetzyTLBEntryLoRegzyG} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntryLoRegG.tex}}
-
-\newcommand{\sailfngetTLBEntryLoRegG}{\label{zzygetzyTLBEntryLoRegzyG} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntryLoRegG.tex}}
-
-\newcommand{\sailsetTLBEntryLoRegG}{\label{zzysetzyTLBEntryLoRegzyG} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntryLoRegG.tex}}
-
-\newcommand{\sailfnsetTLBEntryLoRegG}{\label{zzysetzyTLBEntryLoRegzyG} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntryLoRegG.tex}}
-
-\newcommand{\sailupdateTLBEntryLoRegG}{\label{zzyupdatezyTLBEntryLoRegzyG} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntryLoRegG.tex}}
-
-\newcommand{\sailfnupdateTLBEntryLoRegG}{\label{zzyupdatezyTLBEntryLoRegzyG} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntryLoRegG.tex}}
-
-\newcommand{\sailsailupdateGv}{\label{zupdatezyG} \lstinputlisting[language=sail]{sail_latex/sailsailupdateGv.tex}}
-
-\newcommand{\sailsailmodGv}{\label{zzymodzyG} \lstinputlisting[language=sail]{sail_latex/sailsailmodGv.tex}}
-
-\newcommand{\sailTLBEntryHiReg}{\label{zTLBEntryHiReg} \lstinputlisting[language=sail]{sail_latex/sailTLBEntryHiReg.tex}}
-
-\newcommand{\sailMkTLBEntryHiReg}{\label{zMkzyTLBEntryHiReg} \lstinputlisting[language=sail]{sail_latex/sailMkTLBEntryHiReg.tex}}
-
-\newcommand{\sailfnMkTLBEntryHiReg}{\label{zMkzyTLBEntryHiReg} \lstinputlisting[language=sail]{sail_latex/sailfnMkTLBEntryHiReg.tex}}
-
-\newcommand{\sailgetTLBEntryHiRegbits}{\label{zzygetzyTLBEntryHiRegzybits} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntryHiRegbits.tex}}
-
-\newcommand{\sailfngetTLBEntryHiRegbits}{\label{zzygetzyTLBEntryHiRegzybits} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntryHiRegbits.tex}}
-
-\newcommand{\sailsetTLBEntryHiRegbits}{\label{zzysetzyTLBEntryHiRegzybits} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntryHiRegbits.tex}}
-
-\newcommand{\sailfnsetTLBEntryHiRegbits}{\label{zzysetzyTLBEntryHiRegzybits} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntryHiRegbits.tex}}
-
-\newcommand{\sailupdateTLBEntryHiRegbits}{\label{zzyupdatezyTLBEntryHiRegzybits} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntryHiRegbits.tex}}
-
-\newcommand{\sailfnupdateTLBEntryHiRegbits}{\label{zzyupdatezyTLBEntryHiRegzybits} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntryHiRegbits.tex}}
-
-\newcommand{\sailsailsailsailsailsailupdatebitsvvvvv}{\label{zupdatezybits} \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailupdatebitsvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailmodbitsvvvvv}{\label{zzymodzybits} \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailmodbitsvvvvv.tex}}
-
-\newcommand{\sailgetTLBEntryHiRegR}{\label{zzygetzyTLBEntryHiRegzyR} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntryHiRegR.tex}}
-
-\newcommand{\sailfngetTLBEntryHiRegR}{\label{zzygetzyTLBEntryHiRegzyR} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntryHiRegR.tex}}
-
-\newcommand{\sailsetTLBEntryHiRegR}{\label{zzysetzyTLBEntryHiRegzyR} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntryHiRegR.tex}}
-
-\newcommand{\sailfnsetTLBEntryHiRegR}{\label{zzysetzyTLBEntryHiRegzyR} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntryHiRegR.tex}}
-
-\newcommand{\sailupdateTLBEntryHiRegR}{\label{zzyupdatezyTLBEntryHiRegzyR} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntryHiRegR.tex}}
-
-\newcommand{\sailfnupdateTLBEntryHiRegR}{\label{zzyupdatezyTLBEntryHiRegzyR} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntryHiRegR.tex}}
-
-\newcommand{\sailsailupdateRv}{\label{zupdatezyR} \lstinputlisting[language=sail]{sail_latex/sailsailupdateRv.tex}}
-
-\newcommand{\sailsailmodRv}{\label{zzymodzyR} \lstinputlisting[language=sail]{sail_latex/sailsailmodRv.tex}}
-
-\newcommand{\sailgetTLBEntryHiRegVPNtwo}{\label{zzygetzyTLBEntryHiRegzyVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntryHiRegVPNtwo.tex}}
-
-\newcommand{\sailfngetTLBEntryHiRegVPNtwo}{\label{zzygetzyTLBEntryHiRegzyVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntryHiRegVPNtwo.tex}}
-
-\newcommand{\sailsetTLBEntryHiRegVPNtwo}{\label{zzysetzyTLBEntryHiRegzyVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntryHiRegVPNtwo.tex}}
-
-\newcommand{\sailfnsetTLBEntryHiRegVPNtwo}{\label{zzysetzyTLBEntryHiRegzyVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntryHiRegVPNtwo.tex}}
-
-\newcommand{\sailupdateTLBEntryHiRegVPNtwo}{\label{zzyupdatezyTLBEntryHiRegzyVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntryHiRegVPNtwo.tex}}
-
-\newcommand{\sailfnupdateTLBEntryHiRegVPNtwo}{\label{zzyupdatezyTLBEntryHiRegzyVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntryHiRegVPNtwo.tex}}
-
-\newcommand{\sailsailupdateVPNtwov}{\label{zupdatezyVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailsailupdateVPNtwov.tex}}
-
-\newcommand{\sailsailmodVPNtwov}{\label{zzymodzyVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailsailmodVPNtwov.tex}}
-
-\newcommand{\sailgetTLBEntryHiRegASID}{\label{zzygetzyTLBEntryHiRegzyASID} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntryHiRegASID.tex}}
-
-\newcommand{\sailfngetTLBEntryHiRegASID}{\label{zzygetzyTLBEntryHiRegzyASID} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntryHiRegASID.tex}}
-
-\newcommand{\sailsetTLBEntryHiRegASID}{\label{zzysetzyTLBEntryHiRegzyASID} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntryHiRegASID.tex}}
-
-\newcommand{\sailfnsetTLBEntryHiRegASID}{\label{zzysetzyTLBEntryHiRegzyASID} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntryHiRegASID.tex}}
-
-\newcommand{\sailupdateTLBEntryHiRegASID}{\label{zzyupdatezyTLBEntryHiRegzyASID} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntryHiRegASID.tex}}
-
-\newcommand{\sailfnupdateTLBEntryHiRegASID}{\label{zzyupdatezyTLBEntryHiRegzyASID} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntryHiRegASID.tex}}
-
-\newcommand{\sailsailupdateASIDv}{\label{zupdatezyASID} \lstinputlisting[language=sail]{sail_latex/sailsailupdateASIDv.tex}}
-
-\newcommand{\sailsailmodASIDv}{\label{zzymodzyASID} \lstinputlisting[language=sail]{sail_latex/sailsailmodASIDv.tex}}
-
-\newcommand{\sailContextReg}{\label{zContextReg} \lstinputlisting[language=sail]{sail_latex/sailContextReg.tex}}
-
-\newcommand{\sailMkContextReg}{\label{zMkzyContextReg} \lstinputlisting[language=sail]{sail_latex/sailMkContextReg.tex}}
-
-\newcommand{\sailfnMkContextReg}{\label{zMkzyContextReg} \lstinputlisting[language=sail]{sail_latex/sailfnMkContextReg.tex}}
-
-\newcommand{\sailgetContextRegbits}{\label{zzygetzyContextRegzybits} \lstinputlisting[language=sail]{sail_latex/sailgetContextRegbits.tex}}
-
-\newcommand{\sailfngetContextRegbits}{\label{zzygetzyContextRegzybits} \lstinputlisting[language=sail]{sail_latex/sailfngetContextRegbits.tex}}
-
-\newcommand{\sailsetContextRegbits}{\label{zzysetzyContextRegzybits} \lstinputlisting[language=sail]{sail_latex/sailsetContextRegbits.tex}}
-
-\newcommand{\sailfnsetContextRegbits}{\label{zzysetzyContextRegzybits} \lstinputlisting[language=sail]{sail_latex/sailfnsetContextRegbits.tex}}
-
-\newcommand{\sailupdateContextRegbits}{\label{zzyupdatezyContextRegzybits} \lstinputlisting[language=sail]{sail_latex/sailupdateContextRegbits.tex}}
-
-\newcommand{\sailfnupdateContextRegbits}{\label{zzyupdatezyContextRegzybits} \lstinputlisting[language=sail]{sail_latex/sailfnupdateContextRegbits.tex}}
-
-\newcommand{\sailsailsailsailsailupdatebitsvvvv}{\label{zupdatezybits} \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailupdatebitsvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailmodbitsvvvv}{\label{zzymodzybits} \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailmodbitsvvvv.tex}}
-
-\newcommand{\sailgetContextRegPTEBase}{\label{zzygetzyContextRegzyPTEBase} \lstinputlisting[language=sail]{sail_latex/sailgetContextRegPTEBase.tex}}
-
-\newcommand{\sailfngetContextRegPTEBase}{\label{zzygetzyContextRegzyPTEBase} \lstinputlisting[language=sail]{sail_latex/sailfngetContextRegPTEBase.tex}}
-
-\newcommand{\sailsetContextRegPTEBase}{\label{zzysetzyContextRegzyPTEBase} \lstinputlisting[language=sail]{sail_latex/sailsetContextRegPTEBase.tex}}
-
-\newcommand{\sailfnsetContextRegPTEBase}{\label{zzysetzyContextRegzyPTEBase} \lstinputlisting[language=sail]{sail_latex/sailfnsetContextRegPTEBase.tex}}
-
-\newcommand{\sailupdateContextRegPTEBase}{\label{zzyupdatezyContextRegzyPTEBase} \lstinputlisting[language=sail]{sail_latex/sailupdateContextRegPTEBase.tex}}
-
-\newcommand{\sailfnupdateContextRegPTEBase}{\label{zzyupdatezyContextRegzyPTEBase} \lstinputlisting[language=sail]{sail_latex/sailfnupdateContextRegPTEBase.tex}}
-
-\newcommand{\sailupdatePTEBase}{\label{zupdatezyPTEBase} \lstinputlisting[language=sail]{sail_latex/sailupdatePTEBase.tex}}
-
-\newcommand{\sailmodPTEBase}{\label{zzymodzyPTEBase} \lstinputlisting[language=sail]{sail_latex/sailmodPTEBase.tex}}
-
-\newcommand{\sailgetContextRegBadVPNtwo}{\label{zzygetzyContextRegzyBadVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailgetContextRegBadVPNtwo.tex}}
-
-\newcommand{\sailfngetContextRegBadVPNtwo}{\label{zzygetzyContextRegzyBadVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailfngetContextRegBadVPNtwo.tex}}
-
-\newcommand{\sailsetContextRegBadVPNtwo}{\label{zzysetzyContextRegzyBadVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailsetContextRegBadVPNtwo.tex}}
-
-\newcommand{\sailfnsetContextRegBadVPNtwo}{\label{zzysetzyContextRegzyBadVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailfnsetContextRegBadVPNtwo.tex}}
-
-\newcommand{\sailupdateContextRegBadVPNtwo}{\label{zzyupdatezyContextRegzyBadVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailupdateContextRegBadVPNtwo.tex}}
-
-\newcommand{\sailfnupdateContextRegBadVPNtwo}{\label{zzyupdatezyContextRegzyBadVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailfnupdateContextRegBadVPNtwo.tex}}
-
-\newcommand{\sailupdateBadVPNtwo}{\label{zupdatezyBadVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailupdateBadVPNtwo.tex}}
-
-\newcommand{\sailmodBadVPNtwo}{\label{zzymodzyBadVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailmodBadVPNtwo.tex}}
-
-\newcommand{\sailXContextReg}{\label{zXContextReg} \lstinputlisting[language=sail]{sail_latex/sailXContextReg.tex}}
-
-\newcommand{\sailMkXContextReg}{\label{zMkzyXContextReg} \lstinputlisting[language=sail]{sail_latex/sailMkXContextReg.tex}}
-
-\newcommand{\sailfnMkXContextReg}{\label{zMkzyXContextReg} \lstinputlisting[language=sail]{sail_latex/sailfnMkXContextReg.tex}}
-
-\newcommand{\sailgetXContextRegbits}{\label{zzygetzyXContextRegzybits} \lstinputlisting[language=sail]{sail_latex/sailgetXContextRegbits.tex}}
-
-\newcommand{\sailfngetXContextRegbits}{\label{zzygetzyXContextRegzybits} \lstinputlisting[language=sail]{sail_latex/sailfngetXContextRegbits.tex}}
-
-\newcommand{\sailsetXContextRegbits}{\label{zzysetzyXContextRegzybits} \lstinputlisting[language=sail]{sail_latex/sailsetXContextRegbits.tex}}
-
-\newcommand{\sailfnsetXContextRegbits}{\label{zzysetzyXContextRegzybits} \lstinputlisting[language=sail]{sail_latex/sailfnsetXContextRegbits.tex}}
-
-\newcommand{\sailupdateXContextRegbits}{\label{zzyupdatezyXContextRegzybits} \lstinputlisting[language=sail]{sail_latex/sailupdateXContextRegbits.tex}}
-
-\newcommand{\sailfnupdateXContextRegbits}{\label{zzyupdatezyXContextRegzybits} \lstinputlisting[language=sail]{sail_latex/sailfnupdateXContextRegbits.tex}}
-
-\newcommand{\sailsailsailsailupdatebitsvvv}{\label{zupdatezybits} \lstinputlisting[language=sail]{sail_latex/sailsailsailsailupdatebitsvvv.tex}}
-
-\newcommand{\sailsailsailsailmodbitsvvv}{\label{zzymodzybits} \lstinputlisting[language=sail]{sail_latex/sailsailsailsailmodbitsvvv.tex}}
-
-\newcommand{\sailgetXContextRegXPTEBase}{\label{zzygetzyXContextRegzyXPTEBase} \lstinputlisting[language=sail]{sail_latex/sailgetXContextRegXPTEBase.tex}}
-
-\newcommand{\sailfngetXContextRegXPTEBase}{\label{zzygetzyXContextRegzyXPTEBase} \lstinputlisting[language=sail]{sail_latex/sailfngetXContextRegXPTEBase.tex}}
-
-\newcommand{\sailsetXContextRegXPTEBase}{\label{zzysetzyXContextRegzyXPTEBase} \lstinputlisting[language=sail]{sail_latex/sailsetXContextRegXPTEBase.tex}}
-
-\newcommand{\sailfnsetXContextRegXPTEBase}{\label{zzysetzyXContextRegzyXPTEBase} \lstinputlisting[language=sail]{sail_latex/sailfnsetXContextRegXPTEBase.tex}}
-
-\newcommand{\sailupdateXContextRegXPTEBase}{\label{zzyupdatezyXContextRegzyXPTEBase} \lstinputlisting[language=sail]{sail_latex/sailupdateXContextRegXPTEBase.tex}}
-
-\newcommand{\sailfnupdateXContextRegXPTEBase}{\label{zzyupdatezyXContextRegzyXPTEBase} \lstinputlisting[language=sail]{sail_latex/sailfnupdateXContextRegXPTEBase.tex}}
-
-\newcommand{\sailupdateXPTEBase}{\label{zupdatezyXPTEBase} \lstinputlisting[language=sail]{sail_latex/sailupdateXPTEBase.tex}}
-
-\newcommand{\sailmodXPTEBase}{\label{zzymodzyXPTEBase} \lstinputlisting[language=sail]{sail_latex/sailmodXPTEBase.tex}}
-
-\newcommand{\sailgetXContextRegXR}{\label{zzygetzyXContextRegzyXR} \lstinputlisting[language=sail]{sail_latex/sailgetXContextRegXR.tex}}
-
-\newcommand{\sailfngetXContextRegXR}{\label{zzygetzyXContextRegzyXR} \lstinputlisting[language=sail]{sail_latex/sailfngetXContextRegXR.tex}}
-
-\newcommand{\sailsetXContextRegXR}{\label{zzysetzyXContextRegzyXR} \lstinputlisting[language=sail]{sail_latex/sailsetXContextRegXR.tex}}
-
-\newcommand{\sailfnsetXContextRegXR}{\label{zzysetzyXContextRegzyXR} \lstinputlisting[language=sail]{sail_latex/sailfnsetXContextRegXR.tex}}
-
-\newcommand{\sailupdateXContextRegXR}{\label{zzyupdatezyXContextRegzyXR} \lstinputlisting[language=sail]{sail_latex/sailupdateXContextRegXR.tex}}
-
-\newcommand{\sailfnupdateXContextRegXR}{\label{zzyupdatezyXContextRegzyXR} \lstinputlisting[language=sail]{sail_latex/sailfnupdateXContextRegXR.tex}}
-
-\newcommand{\sailupdateXR}{\label{zupdatezyXR} \lstinputlisting[language=sail]{sail_latex/sailupdateXR.tex}}
-
-\newcommand{\sailmodXR}{\label{zzymodzyXR} \lstinputlisting[language=sail]{sail_latex/sailmodXR.tex}}
-
-\newcommand{\sailgetXContextRegXBadVPNtwo}{\label{zzygetzyXContextRegzyXBadVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailgetXContextRegXBadVPNtwo.tex}}
-
-\newcommand{\sailfngetXContextRegXBadVPNtwo}{\label{zzygetzyXContextRegzyXBadVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailfngetXContextRegXBadVPNtwo.tex}}
-
-\newcommand{\sailsetXContextRegXBadVPNtwo}{\label{zzysetzyXContextRegzyXBadVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailsetXContextRegXBadVPNtwo.tex}}
-
-\newcommand{\sailfnsetXContextRegXBadVPNtwo}{\label{zzysetzyXContextRegzyXBadVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailfnsetXContextRegXBadVPNtwo.tex}}
-
-\newcommand{\sailupdateXContextRegXBadVPNtwo}{\label{zzyupdatezyXContextRegzyXBadVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailupdateXContextRegXBadVPNtwo.tex}}
-
-\newcommand{\sailfnupdateXContextRegXBadVPNtwo}{\label{zzyupdatezyXContextRegzyXBadVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailfnupdateXContextRegXBadVPNtwo.tex}}
-
-\newcommand{\sailupdateXBadVPNtwo}{\label{zupdatezyXBadVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailupdateXBadVPNtwo.tex}}
-
-\newcommand{\sailmodXBadVPNtwo}{\label{zzymodzyXBadVPNtwo} \lstinputlisting[language=sail]{sail_latex/sailmodXBadVPNtwo.tex}}
-
-\newcommand{\sailTLBIndexT}{\label{zTLBIndexT} \lstinputlisting[language=sail]{sail_latex/sailTLBIndexT.tex}}
-
-\newcommand{\sailMAX}{\label{zMAX} \lstinputlisting[language=sail]{sail_latex/sailMAX.tex}}
-
-\newcommand{\sailfnMAX}{\label{zMAX} \lstinputlisting[language=sail]{sail_latex/sailfnMAX.tex}}
-
-\newcommand{\sailTLBEntry}{\label{zTLBEntry} \lstinputlisting[language=sail]{sail_latex/sailTLBEntry.tex}}
-
-\newcommand{\sailMkTLBEntry}{\label{zMkzyTLBEntry} \lstinputlisting[language=sail]{sail_latex/sailMkTLBEntry.tex}}
-
-\newcommand{\sailfnMkTLBEntry}{\label{zMkzyTLBEntry} \lstinputlisting[language=sail]{sail_latex/sailfnMkTLBEntry.tex}}
-
-\newcommand{\sailgetTLBEntrybits}{\label{zzygetzyTLBEntryzybits} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntrybits.tex}}
-
-\newcommand{\sailfngetTLBEntrybits}{\label{zzygetzyTLBEntryzybits} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntrybits.tex}}
-
-\newcommand{\sailsetTLBEntrybits}{\label{zzysetzyTLBEntryzybits} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntrybits.tex}}
-
-\newcommand{\sailfnsetTLBEntrybits}{\label{zzysetzyTLBEntryzybits} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntrybits.tex}}
-
-\newcommand{\sailupdateTLBEntrybits}{\label{zzyupdatezyTLBEntryzybits} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntrybits.tex}}
-
-\newcommand{\sailfnupdateTLBEntrybits}{\label{zzyupdatezyTLBEntryzybits} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntrybits.tex}}
-
-\newcommand{\sailsailsailupdatebitsvv}{\label{zupdatezybits} \lstinputlisting[language=sail]{sail_latex/sailsailsailupdatebitsvv.tex}}
-
-\newcommand{\sailsailsailmodbitsvv}{\label{zzymodzybits} \lstinputlisting[language=sail]{sail_latex/sailsailsailmodbitsvv.tex}}
-
-\newcommand{\sailgetTLBEntrypagemask}{\label{zzygetzyTLBEntryzypagemask} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntrypagemask.tex}}
-
-\newcommand{\sailfngetTLBEntrypagemask}{\label{zzygetzyTLBEntryzypagemask} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntrypagemask.tex}}
-
-\newcommand{\sailsetTLBEntrypagemask}{\label{zzysetzyTLBEntryzypagemask} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntrypagemask.tex}}
-
-\newcommand{\sailfnsetTLBEntrypagemask}{\label{zzysetzyTLBEntryzypagemask} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntrypagemask.tex}}
-
-\newcommand{\sailupdateTLBEntrypagemask}{\label{zzyupdatezyTLBEntryzypagemask} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntrypagemask.tex}}
-
-\newcommand{\sailfnupdateTLBEntrypagemask}{\label{zzyupdatezyTLBEntryzypagemask} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntrypagemask.tex}}
-
-\newcommand{\sailupdatepagemask}{\label{zupdatezypagemask} \lstinputlisting[language=sail]{sail_latex/sailupdatepagemask.tex}}
-
-\newcommand{\sailmodpagemask}{\label{zzymodzypagemask} \lstinputlisting[language=sail]{sail_latex/sailmodpagemask.tex}}
-
-\newcommand{\sailgetTLBEntryr}{\label{zzygetzyTLBEntryzyr} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntryr.tex}}
-
-\newcommand{\sailfngetTLBEntryr}{\label{zzygetzyTLBEntryzyr} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntryr.tex}}
-
-\newcommand{\sailsetTLBEntryr}{\label{zzysetzyTLBEntryzyr} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntryr.tex}}
-
-\newcommand{\sailfnsetTLBEntryr}{\label{zzysetzyTLBEntryzyr} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntryr.tex}}
-
-\newcommand{\sailupdateTLBEntryr}{\label{zzyupdatezyTLBEntryzyr} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntryr.tex}}
-
-\newcommand{\sailfnupdateTLBEntryr}{\label{zzyupdatezyTLBEntryzyr} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntryr.tex}}
-
-\newcommand{\sailupdater}{\label{zupdatezyr} \lstinputlisting[language=sail]{sail_latex/sailupdater.tex}}
-
-\newcommand{\sailmodr}{\label{zzymodzyr} \lstinputlisting[language=sail]{sail_latex/sailmodr.tex}}
-
-\newcommand{\sailgetTLBEntryvpntwo}{\label{zzygetzyTLBEntryzyvpntwo} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntryvpntwo.tex}}
-
-\newcommand{\sailfngetTLBEntryvpntwo}{\label{zzygetzyTLBEntryzyvpntwo} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntryvpntwo.tex}}
-
-\newcommand{\sailsetTLBEntryvpntwo}{\label{zzysetzyTLBEntryzyvpntwo} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntryvpntwo.tex}}
-
-\newcommand{\sailfnsetTLBEntryvpntwo}{\label{zzysetzyTLBEntryzyvpntwo} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntryvpntwo.tex}}
-
-\newcommand{\sailupdateTLBEntryvpntwo}{\label{zzyupdatezyTLBEntryzyvpntwo} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntryvpntwo.tex}}
-
-\newcommand{\sailfnupdateTLBEntryvpntwo}{\label{zzyupdatezyTLBEntryzyvpntwo} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntryvpntwo.tex}}
-
-\newcommand{\sailupdatevpntwo}{\label{zupdatezyvpntwo} \lstinputlisting[language=sail]{sail_latex/sailupdatevpntwo.tex}}
-
-\newcommand{\sailmodvpntwo}{\label{zzymodzyvpntwo} \lstinputlisting[language=sail]{sail_latex/sailmodvpntwo.tex}}
-
-\newcommand{\sailgetTLBEntryasid}{\label{zzygetzyTLBEntryzyasid} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntryasid.tex}}
-
-\newcommand{\sailfngetTLBEntryasid}{\label{zzygetzyTLBEntryzyasid} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntryasid.tex}}
-
-\newcommand{\sailsetTLBEntryasid}{\label{zzysetzyTLBEntryzyasid} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntryasid.tex}}
-
-\newcommand{\sailfnsetTLBEntryasid}{\label{zzysetzyTLBEntryzyasid} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntryasid.tex}}
-
-\newcommand{\sailupdateTLBEntryasid}{\label{zzyupdatezyTLBEntryzyasid} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntryasid.tex}}
-
-\newcommand{\sailfnupdateTLBEntryasid}{\label{zzyupdatezyTLBEntryzyasid} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntryasid.tex}}
-
-\newcommand{\sailupdateasid}{\label{zupdatezyasid} \lstinputlisting[language=sail]{sail_latex/sailupdateasid.tex}}
-
-\newcommand{\sailmodasid}{\label{zzymodzyasid} \lstinputlisting[language=sail]{sail_latex/sailmodasid.tex}}
-
-\newcommand{\sailgetTLBEntryg}{\label{zzygetzyTLBEntryzyg} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntryg.tex}}
-
-\newcommand{\sailfngetTLBEntryg}{\label{zzygetzyTLBEntryzyg} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntryg.tex}}
-
-\newcommand{\sailsetTLBEntryg}{\label{zzysetzyTLBEntryzyg} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntryg.tex}}
-
-\newcommand{\sailfnsetTLBEntryg}{\label{zzysetzyTLBEntryzyg} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntryg.tex}}
-
-\newcommand{\sailupdateTLBEntryg}{\label{zzyupdatezyTLBEntryzyg} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntryg.tex}}
-
-\newcommand{\sailfnupdateTLBEntryg}{\label{zzyupdatezyTLBEntryzyg} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntryg.tex}}
-
-\newcommand{\sailupdateg}{\label{zupdatezyg} \lstinputlisting[language=sail]{sail_latex/sailupdateg.tex}}
-
-\newcommand{\sailmodg}{\label{zzymodzyg} \lstinputlisting[language=sail]{sail_latex/sailmodg.tex}}
-
-\newcommand{\sailgetTLBEntryvalid}{\label{zzygetzyTLBEntryzyvalid} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntryvalid.tex}}
-
-\newcommand{\sailfngetTLBEntryvalid}{\label{zzygetzyTLBEntryzyvalid} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntryvalid.tex}}
-
-\newcommand{\sailsetTLBEntryvalid}{\label{zzysetzyTLBEntryzyvalid} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntryvalid.tex}}
-
-\newcommand{\sailfnsetTLBEntryvalid}{\label{zzysetzyTLBEntryzyvalid} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntryvalid.tex}}
-
-\newcommand{\sailupdateTLBEntryvalid}{\label{zzyupdatezyTLBEntryzyvalid} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntryvalid.tex}}
-
-\newcommand{\sailfnupdateTLBEntryvalid}{\label{zzyupdatezyTLBEntryzyvalid} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntryvalid.tex}}
-
-\newcommand{\sailupdatevalid}{\label{zupdatezyvalid} \lstinputlisting[language=sail]{sail_latex/sailupdatevalid.tex}}
-
-\newcommand{\sailmodvalid}{\label{zzymodzyvalid} \lstinputlisting[language=sail]{sail_latex/sailmodvalid.tex}}
-
-\newcommand{\sailgetTLBEntrycapsone}{\label{zzygetzyTLBEntryzycapsone} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntrycapsone.tex}}
-
-\newcommand{\sailfngetTLBEntrycapsone}{\label{zzygetzyTLBEntryzycapsone} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntrycapsone.tex}}
-
-\newcommand{\sailsetTLBEntrycapsone}{\label{zzysetzyTLBEntryzycapsone} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntrycapsone.tex}}
-
-\newcommand{\sailfnsetTLBEntrycapsone}{\label{zzysetzyTLBEntryzycapsone} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntrycapsone.tex}}
-
-\newcommand{\sailupdateTLBEntrycapsone}{\label{zzyupdatezyTLBEntryzycapsone} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntrycapsone.tex}}
-
-\newcommand{\sailfnupdateTLBEntrycapsone}{\label{zzyupdatezyTLBEntryzycapsone} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntrycapsone.tex}}
-
-\newcommand{\sailupdatecapsone}{\label{zupdatezycapsone} \lstinputlisting[language=sail]{sail_latex/sailupdatecapsone.tex}}
-
-\newcommand{\sailmodcapsone}{\label{zzymodzycapsone} \lstinputlisting[language=sail]{sail_latex/sailmodcapsone.tex}}
-
-\newcommand{\sailgetTLBEntrycaplone}{\label{zzygetzyTLBEntryzycaplone} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntrycaplone.tex}}
-
-\newcommand{\sailfngetTLBEntrycaplone}{\label{zzygetzyTLBEntryzycaplone} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntrycaplone.tex}}
-
-\newcommand{\sailsetTLBEntrycaplone}{\label{zzysetzyTLBEntryzycaplone} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntrycaplone.tex}}
-
-\newcommand{\sailfnsetTLBEntrycaplone}{\label{zzysetzyTLBEntryzycaplone} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntrycaplone.tex}}
-
-\newcommand{\sailupdateTLBEntrycaplone}{\label{zzyupdatezyTLBEntryzycaplone} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntrycaplone.tex}}
-
-\newcommand{\sailfnupdateTLBEntrycaplone}{\label{zzyupdatezyTLBEntryzycaplone} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntrycaplone.tex}}
-
-\newcommand{\sailupdatecaplone}{\label{zupdatezycaplone} \lstinputlisting[language=sail]{sail_latex/sailupdatecaplone.tex}}
-
-\newcommand{\sailmodcaplone}{\label{zzymodzycaplone} \lstinputlisting[language=sail]{sail_latex/sailmodcaplone.tex}}
-
-\newcommand{\sailgetTLBEntrypfnone}{\label{zzygetzyTLBEntryzypfnone} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntrypfnone.tex}}
-
-\newcommand{\sailfngetTLBEntrypfnone}{\label{zzygetzyTLBEntryzypfnone} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntrypfnone.tex}}
-
-\newcommand{\sailsetTLBEntrypfnone}{\label{zzysetzyTLBEntryzypfnone} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntrypfnone.tex}}
-
-\newcommand{\sailfnsetTLBEntrypfnone}{\label{zzysetzyTLBEntryzypfnone} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntrypfnone.tex}}
-
-\newcommand{\sailupdateTLBEntrypfnone}{\label{zzyupdatezyTLBEntryzypfnone} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntrypfnone.tex}}
-
-\newcommand{\sailfnupdateTLBEntrypfnone}{\label{zzyupdatezyTLBEntryzypfnone} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntrypfnone.tex}}
-
-\newcommand{\sailupdatepfnone}{\label{zupdatezypfnone} \lstinputlisting[language=sail]{sail_latex/sailupdatepfnone.tex}}
-
-\newcommand{\sailmodpfnone}{\label{zzymodzypfnone} \lstinputlisting[language=sail]{sail_latex/sailmodpfnone.tex}}
-
-\newcommand{\sailgetTLBEntrycone}{\label{zzygetzyTLBEntryzycone} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntrycone.tex}}
-
-\newcommand{\sailfngetTLBEntrycone}{\label{zzygetzyTLBEntryzycone} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntrycone.tex}}
-
-\newcommand{\sailsetTLBEntrycone}{\label{zzysetzyTLBEntryzycone} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntrycone.tex}}
-
-\newcommand{\sailfnsetTLBEntrycone}{\label{zzysetzyTLBEntryzycone} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntrycone.tex}}
-
-\newcommand{\sailupdateTLBEntrycone}{\label{zzyupdatezyTLBEntryzycone} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntrycone.tex}}
-
-\newcommand{\sailfnupdateTLBEntrycone}{\label{zzyupdatezyTLBEntryzycone} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntrycone.tex}}
-
-\newcommand{\sailupdatecone}{\label{zupdatezycone} \lstinputlisting[language=sail]{sail_latex/sailupdatecone.tex}}
-
-\newcommand{\sailmodcone}{\label{zzymodzycone} \lstinputlisting[language=sail]{sail_latex/sailmodcone.tex}}
-
-\newcommand{\sailgetTLBEntrydone}{\label{zzygetzyTLBEntryzydone} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntrydone.tex}}
-
-\newcommand{\sailfngetTLBEntrydone}{\label{zzygetzyTLBEntryzydone} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntrydone.tex}}
-
-\newcommand{\sailsetTLBEntrydone}{\label{zzysetzyTLBEntryzydone} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntrydone.tex}}
-
-\newcommand{\sailfnsetTLBEntrydone}{\label{zzysetzyTLBEntryzydone} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntrydone.tex}}
-
-\newcommand{\sailupdateTLBEntrydone}{\label{zzyupdatezyTLBEntryzydone} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntrydone.tex}}
-
-\newcommand{\sailfnupdateTLBEntrydone}{\label{zzyupdatezyTLBEntryzydone} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntrydone.tex}}
-
-\newcommand{\sailupdatedone}{\label{zupdatezydone} \lstinputlisting[language=sail]{sail_latex/sailupdatedone.tex}}
-
-\newcommand{\sailmoddone}{\label{zzymodzydone} \lstinputlisting[language=sail]{sail_latex/sailmoddone.tex}}
-
-\newcommand{\sailgetTLBEntryvone}{\label{zzygetzyTLBEntryzyvone} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntryvone.tex}}
-
-\newcommand{\sailfngetTLBEntryvone}{\label{zzygetzyTLBEntryzyvone} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntryvone.tex}}
-
-\newcommand{\sailsetTLBEntryvone}{\label{zzysetzyTLBEntryzyvone} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntryvone.tex}}
-
-\newcommand{\sailfnsetTLBEntryvone}{\label{zzysetzyTLBEntryzyvone} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntryvone.tex}}
-
-\newcommand{\sailupdateTLBEntryvone}{\label{zzyupdatezyTLBEntryzyvone} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntryvone.tex}}
-
-\newcommand{\sailfnupdateTLBEntryvone}{\label{zzyupdatezyTLBEntryzyvone} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntryvone.tex}}
-
-\newcommand{\sailupdatevone}{\label{zupdatezyvone} \lstinputlisting[language=sail]{sail_latex/sailupdatevone.tex}}
-
-\newcommand{\sailmodvone}{\label{zzymodzyvone} \lstinputlisting[language=sail]{sail_latex/sailmodvone.tex}}
-
-\newcommand{\sailgetTLBEntrycapszero}{\label{zzygetzyTLBEntryzycapszero} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntrycapszero.tex}}
-
-\newcommand{\sailfngetTLBEntrycapszero}{\label{zzygetzyTLBEntryzycapszero} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntrycapszero.tex}}
-
-\newcommand{\sailsetTLBEntrycapszero}{\label{zzysetzyTLBEntryzycapszero} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntrycapszero.tex}}
-
-\newcommand{\sailfnsetTLBEntrycapszero}{\label{zzysetzyTLBEntryzycapszero} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntrycapszero.tex}}
-
-\newcommand{\sailupdateTLBEntrycapszero}{\label{zzyupdatezyTLBEntryzycapszero} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntrycapszero.tex}}
-
-\newcommand{\sailfnupdateTLBEntrycapszero}{\label{zzyupdatezyTLBEntryzycapszero} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntrycapszero.tex}}
-
-\newcommand{\sailupdatecapszero}{\label{zupdatezycapszero} \lstinputlisting[language=sail]{sail_latex/sailupdatecapszero.tex}}
-
-\newcommand{\sailmodcapszero}{\label{zzymodzycapszero} \lstinputlisting[language=sail]{sail_latex/sailmodcapszero.tex}}
-
-\newcommand{\sailgetTLBEntrycaplzero}{\label{zzygetzyTLBEntryzycaplzero} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntrycaplzero.tex}}
-
-\newcommand{\sailfngetTLBEntrycaplzero}{\label{zzygetzyTLBEntryzycaplzero} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntrycaplzero.tex}}
-
-\newcommand{\sailsetTLBEntrycaplzero}{\label{zzysetzyTLBEntryzycaplzero} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntrycaplzero.tex}}
-
-\newcommand{\sailfnsetTLBEntrycaplzero}{\label{zzysetzyTLBEntryzycaplzero} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntrycaplzero.tex}}
-
-\newcommand{\sailupdateTLBEntrycaplzero}{\label{zzyupdatezyTLBEntryzycaplzero} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntrycaplzero.tex}}
-
-\newcommand{\sailfnupdateTLBEntrycaplzero}{\label{zzyupdatezyTLBEntryzycaplzero} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntrycaplzero.tex}}
-
-\newcommand{\sailupdatecaplzero}{\label{zupdatezycaplzero} \lstinputlisting[language=sail]{sail_latex/sailupdatecaplzero.tex}}
-
-\newcommand{\sailmodcaplzero}{\label{zzymodzycaplzero} \lstinputlisting[language=sail]{sail_latex/sailmodcaplzero.tex}}
-
-\newcommand{\sailgetTLBEntrypfnzero}{\label{zzygetzyTLBEntryzypfnzero} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntrypfnzero.tex}}
-
-\newcommand{\sailfngetTLBEntrypfnzero}{\label{zzygetzyTLBEntryzypfnzero} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntrypfnzero.tex}}
-
-\newcommand{\sailsetTLBEntrypfnzero}{\label{zzysetzyTLBEntryzypfnzero} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntrypfnzero.tex}}
-
-\newcommand{\sailfnsetTLBEntrypfnzero}{\label{zzysetzyTLBEntryzypfnzero} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntrypfnzero.tex}}
-
-\newcommand{\sailupdateTLBEntrypfnzero}{\label{zzyupdatezyTLBEntryzypfnzero} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntrypfnzero.tex}}
-
-\newcommand{\sailfnupdateTLBEntrypfnzero}{\label{zzyupdatezyTLBEntryzypfnzero} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntrypfnzero.tex}}
-
-\newcommand{\sailupdatepfnzero}{\label{zupdatezypfnzero} \lstinputlisting[language=sail]{sail_latex/sailupdatepfnzero.tex}}
-
-\newcommand{\sailmodpfnzero}{\label{zzymodzypfnzero} \lstinputlisting[language=sail]{sail_latex/sailmodpfnzero.tex}}
-
-\newcommand{\sailgetTLBEntryczero}{\label{zzygetzyTLBEntryzyczero} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntryczero.tex}}
-
-\newcommand{\sailfngetTLBEntryczero}{\label{zzygetzyTLBEntryzyczero} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntryczero.tex}}
-
-\newcommand{\sailsetTLBEntryczero}{\label{zzysetzyTLBEntryzyczero} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntryczero.tex}}
-
-\newcommand{\sailfnsetTLBEntryczero}{\label{zzysetzyTLBEntryzyczero} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntryczero.tex}}
-
-\newcommand{\sailupdateTLBEntryczero}{\label{zzyupdatezyTLBEntryzyczero} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntryczero.tex}}
-
-\newcommand{\sailfnupdateTLBEntryczero}{\label{zzyupdatezyTLBEntryzyczero} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntryczero.tex}}
-
-\newcommand{\sailupdateczero}{\label{zupdatezyczero} \lstinputlisting[language=sail]{sail_latex/sailupdateczero.tex}}
-
-\newcommand{\sailmodczero}{\label{zzymodzyczero} \lstinputlisting[language=sail]{sail_latex/sailmodczero.tex}}
-
-\newcommand{\sailgetTLBEntrydzero}{\label{zzygetzyTLBEntryzydzero} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntrydzero.tex}}
-
-\newcommand{\sailfngetTLBEntrydzero}{\label{zzygetzyTLBEntryzydzero} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntrydzero.tex}}
-
-\newcommand{\sailsetTLBEntrydzero}{\label{zzysetzyTLBEntryzydzero} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntrydzero.tex}}
-
-\newcommand{\sailfnsetTLBEntrydzero}{\label{zzysetzyTLBEntryzydzero} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntrydzero.tex}}
-
-\newcommand{\sailupdateTLBEntrydzero}{\label{zzyupdatezyTLBEntryzydzero} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntrydzero.tex}}
-
-\newcommand{\sailfnupdateTLBEntrydzero}{\label{zzyupdatezyTLBEntryzydzero} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntrydzero.tex}}
-
-\newcommand{\sailupdatedzero}{\label{zupdatezydzero} \lstinputlisting[language=sail]{sail_latex/sailupdatedzero.tex}}
-
-\newcommand{\sailmoddzero}{\label{zzymodzydzero} \lstinputlisting[language=sail]{sail_latex/sailmoddzero.tex}}
-
-\newcommand{\sailgetTLBEntryvzero}{\label{zzygetzyTLBEntryzyvzero} \lstinputlisting[language=sail]{sail_latex/sailgetTLBEntryvzero.tex}}
-
-\newcommand{\sailfngetTLBEntryvzero}{\label{zzygetzyTLBEntryzyvzero} \lstinputlisting[language=sail]{sail_latex/sailfngetTLBEntryvzero.tex}}
-
-\newcommand{\sailsetTLBEntryvzero}{\label{zzysetzyTLBEntryzyvzero} \lstinputlisting[language=sail]{sail_latex/sailsetTLBEntryvzero.tex}}
-
-\newcommand{\sailfnsetTLBEntryvzero}{\label{zzysetzyTLBEntryzyvzero} \lstinputlisting[language=sail]{sail_latex/sailfnsetTLBEntryvzero.tex}}
-
-\newcommand{\sailupdateTLBEntryvzero}{\label{zzyupdatezyTLBEntryzyvzero} \lstinputlisting[language=sail]{sail_latex/sailupdateTLBEntryvzero.tex}}
-
-\newcommand{\sailfnupdateTLBEntryvzero}{\label{zzyupdatezyTLBEntryzyvzero} \lstinputlisting[language=sail]{sail_latex/sailfnupdateTLBEntryvzero.tex}}
-
-\newcommand{\sailupdatevzero}{\label{zupdatezyvzero} \lstinputlisting[language=sail]{sail_latex/sailupdatevzero.tex}}
-
-\newcommand{\sailmodvzero}{\label{zzymodzyvzero} \lstinputlisting[language=sail]{sail_latex/sailmodvzero.tex}}
-
-\newcommand{\sailStatusReg}{\label{zStatusReg} \lstinputlisting[language=sail]{sail_latex/sailStatusReg.tex}}
-
-\newcommand{\sailMkStatusReg}{\label{zMkzyStatusReg} \lstinputlisting[language=sail]{sail_latex/sailMkStatusReg.tex}}
-
-\newcommand{\sailfnMkStatusReg}{\label{zMkzyStatusReg} \lstinputlisting[language=sail]{sail_latex/sailfnMkStatusReg.tex}}
-
-\newcommand{\sailgetStatusRegbits}{\label{zzygetzyStatusRegzybits} \lstinputlisting[language=sail]{sail_latex/sailgetStatusRegbits.tex}}
-
-\newcommand{\sailfngetStatusRegbits}{\label{zzygetzyStatusRegzybits} \lstinputlisting[language=sail]{sail_latex/sailfngetStatusRegbits.tex}}
-
-\newcommand{\sailsetStatusRegbits}{\label{zzysetzyStatusRegzybits} \lstinputlisting[language=sail]{sail_latex/sailsetStatusRegbits.tex}}
-
-\newcommand{\sailfnsetStatusRegbits}{\label{zzysetzyStatusRegzybits} \lstinputlisting[language=sail]{sail_latex/sailfnsetStatusRegbits.tex}}
-
-\newcommand{\sailupdateStatusRegbits}{\label{zzyupdatezyStatusRegzybits} \lstinputlisting[language=sail]{sail_latex/sailupdateStatusRegbits.tex}}
-
-\newcommand{\sailfnupdateStatusRegbits}{\label{zzyupdatezyStatusRegzybits} \lstinputlisting[language=sail]{sail_latex/sailfnupdateStatusRegbits.tex}}
-
-\newcommand{\sailsailupdatebitsv}{\label{zupdatezybits} \lstinputlisting[language=sail]{sail_latex/sailsailupdatebitsv.tex}}
-
-\newcommand{\sailsailmodbitsv}{\label{zzymodzybits} \lstinputlisting[language=sail]{sail_latex/sailsailmodbitsv.tex}}
-
-\newcommand{\sailgetStatusRegCU}{\label{zzygetzyStatusRegzyCU} \lstinputlisting[language=sail]{sail_latex/sailgetStatusRegCU.tex}}
-
-\newcommand{\sailfngetStatusRegCU}{\label{zzygetzyStatusRegzyCU} \lstinputlisting[language=sail]{sail_latex/sailfngetStatusRegCU.tex}}
-
-\newcommand{\sailsetStatusRegCU}{\label{zzysetzyStatusRegzyCU} \lstinputlisting[language=sail]{sail_latex/sailsetStatusRegCU.tex}}
-
-\newcommand{\sailfnsetStatusRegCU}{\label{zzysetzyStatusRegzyCU} \lstinputlisting[language=sail]{sail_latex/sailfnsetStatusRegCU.tex}}
-
-\newcommand{\sailupdateStatusRegCU}{\label{zzyupdatezyStatusRegzyCU} \lstinputlisting[language=sail]{sail_latex/sailupdateStatusRegCU.tex}}
-
-\newcommand{\sailfnupdateStatusRegCU}{\label{zzyupdatezyStatusRegzyCU} \lstinputlisting[language=sail]{sail_latex/sailfnupdateStatusRegCU.tex}}
-
-\newcommand{\sailupdateCU}{\label{zupdatezyCU} \lstinputlisting[language=sail]{sail_latex/sailupdateCU.tex}}
-
-\newcommand{\sailmodCU}{\label{zzymodzyCU} \lstinputlisting[language=sail]{sail_latex/sailmodCU.tex}}
-
-\newcommand{\sailgetStatusRegBEV}{\label{zzygetzyStatusRegzyBEV} \lstinputlisting[language=sail]{sail_latex/sailgetStatusRegBEV.tex}}
-
-\newcommand{\sailfngetStatusRegBEV}{\label{zzygetzyStatusRegzyBEV} \lstinputlisting[language=sail]{sail_latex/sailfngetStatusRegBEV.tex}}
-
-\newcommand{\sailsetStatusRegBEV}{\label{zzysetzyStatusRegzyBEV} \lstinputlisting[language=sail]{sail_latex/sailsetStatusRegBEV.tex}}
-
-\newcommand{\sailfnsetStatusRegBEV}{\label{zzysetzyStatusRegzyBEV} \lstinputlisting[language=sail]{sail_latex/sailfnsetStatusRegBEV.tex}}
-
-\newcommand{\sailupdateStatusRegBEV}{\label{zzyupdatezyStatusRegzyBEV} \lstinputlisting[language=sail]{sail_latex/sailupdateStatusRegBEV.tex}}
-
-\newcommand{\sailfnupdateStatusRegBEV}{\label{zzyupdatezyStatusRegzyBEV} \lstinputlisting[language=sail]{sail_latex/sailfnupdateStatusRegBEV.tex}}
-
-\newcommand{\sailupdateBEV}{\label{zupdatezyBEV} \lstinputlisting[language=sail]{sail_latex/sailupdateBEV.tex}}
-
-\newcommand{\sailmodBEV}{\label{zzymodzyBEV} \lstinputlisting[language=sail]{sail_latex/sailmodBEV.tex}}
-
-\newcommand{\sailgetStatusRegIM}{\label{zzygetzyStatusRegzyIM} \lstinputlisting[language=sail]{sail_latex/sailgetStatusRegIM.tex}}
-
-\newcommand{\sailfngetStatusRegIM}{\label{zzygetzyStatusRegzyIM} \lstinputlisting[language=sail]{sail_latex/sailfngetStatusRegIM.tex}}
-
-\newcommand{\sailsetStatusRegIM}{\label{zzysetzyStatusRegzyIM} \lstinputlisting[language=sail]{sail_latex/sailsetStatusRegIM.tex}}
-
-\newcommand{\sailfnsetStatusRegIM}{\label{zzysetzyStatusRegzyIM} \lstinputlisting[language=sail]{sail_latex/sailfnsetStatusRegIM.tex}}
-
-\newcommand{\sailupdateStatusRegIM}{\label{zzyupdatezyStatusRegzyIM} \lstinputlisting[language=sail]{sail_latex/sailupdateStatusRegIM.tex}}
-
-\newcommand{\sailfnupdateStatusRegIM}{\label{zzyupdatezyStatusRegzyIM} \lstinputlisting[language=sail]{sail_latex/sailfnupdateStatusRegIM.tex}}
-
-\newcommand{\sailupdateIM}{\label{zupdatezyIM} \lstinputlisting[language=sail]{sail_latex/sailupdateIM.tex}}
-
-\newcommand{\sailmodIM}{\label{zzymodzyIM} \lstinputlisting[language=sail]{sail_latex/sailmodIM.tex}}
-
-\newcommand{\sailgetStatusRegKX}{\label{zzygetzyStatusRegzyKX} \lstinputlisting[language=sail]{sail_latex/sailgetStatusRegKX.tex}}
-
-\newcommand{\sailfngetStatusRegKX}{\label{zzygetzyStatusRegzyKX} \lstinputlisting[language=sail]{sail_latex/sailfngetStatusRegKX.tex}}
-
-\newcommand{\sailsetStatusRegKX}{\label{zzysetzyStatusRegzyKX} \lstinputlisting[language=sail]{sail_latex/sailsetStatusRegKX.tex}}
-
-\newcommand{\sailfnsetStatusRegKX}{\label{zzysetzyStatusRegzyKX} \lstinputlisting[language=sail]{sail_latex/sailfnsetStatusRegKX.tex}}
-
-\newcommand{\sailupdateStatusRegKX}{\label{zzyupdatezyStatusRegzyKX} \lstinputlisting[language=sail]{sail_latex/sailupdateStatusRegKX.tex}}
-
-\newcommand{\sailfnupdateStatusRegKX}{\label{zzyupdatezyStatusRegzyKX} \lstinputlisting[language=sail]{sail_latex/sailfnupdateStatusRegKX.tex}}
-
-\newcommand{\sailupdateKX}{\label{zupdatezyKX} \lstinputlisting[language=sail]{sail_latex/sailupdateKX.tex}}
-
-\newcommand{\sailmodKX}{\label{zzymodzyKX} \lstinputlisting[language=sail]{sail_latex/sailmodKX.tex}}
-
-\newcommand{\sailgetStatusRegSX}{\label{zzygetzyStatusRegzySX} \lstinputlisting[language=sail]{sail_latex/sailgetStatusRegSX.tex}}
-
-\newcommand{\sailfngetStatusRegSX}{\label{zzygetzyStatusRegzySX} \lstinputlisting[language=sail]{sail_latex/sailfngetStatusRegSX.tex}}
-
-\newcommand{\sailsetStatusRegSX}{\label{zzysetzyStatusRegzySX} \lstinputlisting[language=sail]{sail_latex/sailsetStatusRegSX.tex}}
-
-\newcommand{\sailfnsetStatusRegSX}{\label{zzysetzyStatusRegzySX} \lstinputlisting[language=sail]{sail_latex/sailfnsetStatusRegSX.tex}}
-
-\newcommand{\sailupdateStatusRegSX}{\label{zzyupdatezyStatusRegzySX} \lstinputlisting[language=sail]{sail_latex/sailupdateStatusRegSX.tex}}
-
-\newcommand{\sailfnupdateStatusRegSX}{\label{zzyupdatezyStatusRegzySX} \lstinputlisting[language=sail]{sail_latex/sailfnupdateStatusRegSX.tex}}
-
-\newcommand{\sailupdateSX}{\label{zupdatezySX} \lstinputlisting[language=sail]{sail_latex/sailupdateSX.tex}}
-
-\newcommand{\sailmodSX}{\label{zzymodzySX} \lstinputlisting[language=sail]{sail_latex/sailmodSX.tex}}
-
-\newcommand{\sailgetStatusRegUX}{\label{zzygetzyStatusRegzyUX} \lstinputlisting[language=sail]{sail_latex/sailgetStatusRegUX.tex}}
-
-\newcommand{\sailfngetStatusRegUX}{\label{zzygetzyStatusRegzyUX} \lstinputlisting[language=sail]{sail_latex/sailfngetStatusRegUX.tex}}
-
-\newcommand{\sailsetStatusRegUX}{\label{zzysetzyStatusRegzyUX} \lstinputlisting[language=sail]{sail_latex/sailsetStatusRegUX.tex}}
-
-\newcommand{\sailfnsetStatusRegUX}{\label{zzysetzyStatusRegzyUX} \lstinputlisting[language=sail]{sail_latex/sailfnsetStatusRegUX.tex}}
-
-\newcommand{\sailupdateStatusRegUX}{\label{zzyupdatezyStatusRegzyUX} \lstinputlisting[language=sail]{sail_latex/sailupdateStatusRegUX.tex}}
-
-\newcommand{\sailfnupdateStatusRegUX}{\label{zzyupdatezyStatusRegzyUX} \lstinputlisting[language=sail]{sail_latex/sailfnupdateStatusRegUX.tex}}
-
-\newcommand{\sailupdateUX}{\label{zupdatezyUX} \lstinputlisting[language=sail]{sail_latex/sailupdateUX.tex}}
-
-\newcommand{\sailmodUX}{\label{zzymodzyUX} \lstinputlisting[language=sail]{sail_latex/sailmodUX.tex}}
-
-\newcommand{\sailgetStatusRegKSU}{\label{zzygetzyStatusRegzyKSU} \lstinputlisting[language=sail]{sail_latex/sailgetStatusRegKSU.tex}}
-
-\newcommand{\sailfngetStatusRegKSU}{\label{zzygetzyStatusRegzyKSU} \lstinputlisting[language=sail]{sail_latex/sailfngetStatusRegKSU.tex}}
-
-\newcommand{\sailsetStatusRegKSU}{\label{zzysetzyStatusRegzyKSU} \lstinputlisting[language=sail]{sail_latex/sailsetStatusRegKSU.tex}}
-
-\newcommand{\sailfnsetStatusRegKSU}{\label{zzysetzyStatusRegzyKSU} \lstinputlisting[language=sail]{sail_latex/sailfnsetStatusRegKSU.tex}}
-
-\newcommand{\sailupdateStatusRegKSU}{\label{zzyupdatezyStatusRegzyKSU} \lstinputlisting[language=sail]{sail_latex/sailupdateStatusRegKSU.tex}}
-
-\newcommand{\sailfnupdateStatusRegKSU}{\label{zzyupdatezyStatusRegzyKSU} \lstinputlisting[language=sail]{sail_latex/sailfnupdateStatusRegKSU.tex}}
-
-\newcommand{\sailupdateKSU}{\label{zupdatezyKSU} \lstinputlisting[language=sail]{sail_latex/sailupdateKSU.tex}}
-
-\newcommand{\sailmodKSU}{\label{zzymodzyKSU} \lstinputlisting[language=sail]{sail_latex/sailmodKSU.tex}}
-
-\newcommand{\sailgetStatusRegERL}{\label{zzygetzyStatusRegzyERL} \lstinputlisting[language=sail]{sail_latex/sailgetStatusRegERL.tex}}
-
-\newcommand{\sailfngetStatusRegERL}{\label{zzygetzyStatusRegzyERL} \lstinputlisting[language=sail]{sail_latex/sailfngetStatusRegERL.tex}}
-
-\newcommand{\sailsetStatusRegERL}{\label{zzysetzyStatusRegzyERL} \lstinputlisting[language=sail]{sail_latex/sailsetStatusRegERL.tex}}
-
-\newcommand{\sailfnsetStatusRegERL}{\label{zzysetzyStatusRegzyERL} \lstinputlisting[language=sail]{sail_latex/sailfnsetStatusRegERL.tex}}
-
-\newcommand{\sailupdateStatusRegERL}{\label{zzyupdatezyStatusRegzyERL} \lstinputlisting[language=sail]{sail_latex/sailupdateStatusRegERL.tex}}
-
-\newcommand{\sailfnupdateStatusRegERL}{\label{zzyupdatezyStatusRegzyERL} \lstinputlisting[language=sail]{sail_latex/sailfnupdateStatusRegERL.tex}}
-
-\newcommand{\sailupdateERL}{\label{zupdatezyERL} \lstinputlisting[language=sail]{sail_latex/sailupdateERL.tex}}
-
-\newcommand{\sailmodERL}{\label{zzymodzyERL} \lstinputlisting[language=sail]{sail_latex/sailmodERL.tex}}
-
-\newcommand{\sailgetStatusRegEXL}{\label{zzygetzyStatusRegzyEXL} \lstinputlisting[language=sail]{sail_latex/sailgetStatusRegEXL.tex}}
-
-\newcommand{\sailfngetStatusRegEXL}{\label{zzygetzyStatusRegzyEXL} \lstinputlisting[language=sail]{sail_latex/sailfngetStatusRegEXL.tex}}
-
-\newcommand{\sailsetStatusRegEXL}{\label{zzysetzyStatusRegzyEXL} \lstinputlisting[language=sail]{sail_latex/sailsetStatusRegEXL.tex}}
-
-\newcommand{\sailfnsetStatusRegEXL}{\label{zzysetzyStatusRegzyEXL} \lstinputlisting[language=sail]{sail_latex/sailfnsetStatusRegEXL.tex}}
-
-\newcommand{\sailupdateStatusRegEXL}{\label{zzyupdatezyStatusRegzyEXL} \lstinputlisting[language=sail]{sail_latex/sailupdateStatusRegEXL.tex}}
-
-\newcommand{\sailfnupdateStatusRegEXL}{\label{zzyupdatezyStatusRegzyEXL} \lstinputlisting[language=sail]{sail_latex/sailfnupdateStatusRegEXL.tex}}
-
-\newcommand{\sailupdateEXL}{\label{zupdatezyEXL} \lstinputlisting[language=sail]{sail_latex/sailupdateEXL.tex}}
-
-\newcommand{\sailmodEXL}{\label{zzymodzyEXL} \lstinputlisting[language=sail]{sail_latex/sailmodEXL.tex}}
-
-\newcommand{\sailgetStatusRegIE}{\label{zzygetzyStatusRegzyIE} \lstinputlisting[language=sail]{sail_latex/sailgetStatusRegIE.tex}}
-
-\newcommand{\sailfngetStatusRegIE}{\label{zzygetzyStatusRegzyIE} \lstinputlisting[language=sail]{sail_latex/sailfngetStatusRegIE.tex}}
-
-\newcommand{\sailsetStatusRegIE}{\label{zzysetzyStatusRegzyIE} \lstinputlisting[language=sail]{sail_latex/sailsetStatusRegIE.tex}}
-
-\newcommand{\sailfnsetStatusRegIE}{\label{zzysetzyStatusRegzyIE} \lstinputlisting[language=sail]{sail_latex/sailfnsetStatusRegIE.tex}}
-
-\newcommand{\sailupdateStatusRegIE}{\label{zzyupdatezyStatusRegzyIE} \lstinputlisting[language=sail]{sail_latex/sailupdateStatusRegIE.tex}}
-
-\newcommand{\sailfnupdateStatusRegIE}{\label{zzyupdatezyStatusRegzyIE} \lstinputlisting[language=sail]{sail_latex/sailfnupdateStatusRegIE.tex}}
-
-\newcommand{\sailupdateIE}{\label{zupdatezyIE} \lstinputlisting[language=sail]{sail_latex/sailupdateIE.tex}}
-
-\newcommand{\sailmodIE}{\label{zzymodzyIE} \lstinputlisting[language=sail]{sail_latex/sailmodIE.tex}}
-
-\newcommand{\sailexecutebranch}{\label{zexecutezybranch} \lstinputlisting[language=sail]{sail_latex/sailexecutebranch.tex}}
-
-\newcommand{\sailfnexecutebranch}{\label{zexecutezybranch} \lstinputlisting[language=sail]{sail_latex/sailfnexecutebranch.tex}}
-
-\newcommand{\sailNotWordVal}{\label{zNotWordVal} \lstinputlisting[language=sail]{sail_latex/sailNotWordVal.tex}}
-
-\newcommand{\sailfnNotWordVal}{\label{zNotWordVal} \lstinputlisting[language=sail]{sail_latex/sailfnNotWordVal.tex}}
-
-\newcommand{\sailrGPR}{\label{zrGPR} \lstinputlisting[language=sail]{sail_latex/sailrGPR.tex}}
-
-\newcommand{\sailfnrGPR}{\label{zrGPR} \lstinputlisting[language=sail]{sail_latex/sailfnrGPR.tex}}
-
-\newcommand{\sailwGPR}{\label{zwGPR} \lstinputlisting[language=sail]{sail_latex/sailwGPR.tex}}
-
-\newcommand{\sailfnwGPR}{\label{zwGPR} \lstinputlisting[language=sail]{sail_latex/sailfnwGPR.tex}}
-
-\newcommand{\sailMEMr}{\label{zMEMr} \lstinputlisting[language=sail]{sail_latex/sailMEMr.tex}}
-
-\newcommand{\sailMEMrreserve}{\label{zMEMrzyreserve} \lstinputlisting[language=sail]{sail_latex/sailMEMrreserve.tex}}
-
-\newcommand{\sailMEMsync}{\label{zMEMzysync} \lstinputlisting[language=sail]{sail_latex/sailMEMsync.tex}}
-
-\newcommand{\sailMEMea}{\label{zMEMea} \lstinputlisting[language=sail]{sail_latex/sailMEMea.tex}}
-
-\newcommand{\sailMEMeaconditional}{\label{zMEMeazyconditional} \lstinputlisting[language=sail]{sail_latex/sailMEMeaconditional.tex}}
-
-\newcommand{\sailMEMval}{\label{zMEMval} \lstinputlisting[language=sail]{sail_latex/sailMEMval.tex}}
-
-\newcommand{\sailMEMvalconditional}{\label{zMEMvalzyconditional} \lstinputlisting[language=sail]{sail_latex/sailMEMvalconditional.tex}}
-
-\newcommand{\sailskipeamem}{\label{zskipzyeamem} \lstinputlisting[language=sail]{sail_latex/sailskipeamem.tex}}
-
-\newcommand{\sailskipbarr}{\label{zskipzybarr} \lstinputlisting[language=sail]{sail_latex/sailskipbarr.tex}}
-
-\newcommand{\sailskipwreg}{\label{zskipzywreg} \lstinputlisting[language=sail]{sail_latex/sailskipwreg.tex}}
-
-\newcommand{\sailskiprreg}{\label{zskipzyrreg} \lstinputlisting[language=sail]{sail_latex/sailskiprreg.tex}}
-
-\newcommand{\sailskipwmvt}{\label{zskipzywmvt} \lstinputlisting[language=sail]{sail_latex/sailskipwmvt.tex}}
-
-\newcommand{\sailskiprmemt}{\label{zskipzyrmemt} \lstinputlisting[language=sail]{sail_latex/sailskiprmemt.tex}}
-
-\newcommand{\sailskipescape}{\label{zskipzyescape} \lstinputlisting[language=sail]{sail_latex/sailskipescape.tex}}
-
-\newcommand{\sailfnMEMr}{\label{zMEMr} \lstinputlisting[language=sail]{sail_latex/sailfnMEMr.tex}}
-
-\newcommand{\sailfnMEMrreserve}{\label{zMEMrzyreserve} \lstinputlisting[language=sail]{sail_latex/sailfnMEMrreserve.tex}}
-
-\newcommand{\sailfnMEMsync}{\label{zMEMzysync} \lstinputlisting[language=sail]{sail_latex/sailfnMEMsync.tex}}
-
-\newcommand{\sailfnMEMea}{\label{zMEMea} \lstinputlisting[language=sail]{sail_latex/sailfnMEMea.tex}}
-
-\newcommand{\sailfnMEMeaconditional}{\label{zMEMeazyconditional} \lstinputlisting[language=sail]{sail_latex/sailfnMEMeaconditional.tex}}
-
-\newcommand{\sailfnMEMval}{\label{zMEMval} \lstinputlisting[language=sail]{sail_latex/sailfnMEMval.tex}}
-
-\newcommand{\sailfnMEMvalconditional}{\label{zMEMvalzyconditional} \lstinputlisting[language=sail]{sail_latex/sailfnMEMvalconditional.tex}}
-
-\newcommand{\sailException}{\label{zException} \lstinputlisting[language=sail]{sail_latex/sailException.tex}}
-
-\newcommand{\sailExceptionofnum}{\label{zExceptionzyofzynum} \lstinputlisting[language=sail]{sail_latex/sailExceptionofnum.tex}}
-
-\newcommand{\sailfnExceptionofnum}{\label{zExceptionzyofzynum} \lstinputlisting[language=sail]{sail_latex/sailfnExceptionofnum.tex}}
-
-\newcommand{\sailnumofException}{\label{znumzyofzyException} \lstinputlisting[language=sail]{sail_latex/sailnumofException.tex}}
-
-\newcommand{\sailfnnumofException}{\label{znumzyofzyException} \lstinputlisting[language=sail]{sail_latex/sailfnnumofException.tex}}
-
-\newcommand{\sailExceptionCode}{\label{zExceptionCode} \lstinputlisting[language=sail]{sail_latex/sailExceptionCode.tex}}
-
-\newcommand{\sailfnExceptionCode}{\label{zExceptionCode} \lstinputlisting[language=sail]{sail_latex/sailfnExceptionCode.tex}}
-
-\newcommand{\sailSignalExceptionMIPS}{\label{zSignalExceptionMIPS} \lstinputlisting[language=sail]{sail_latex/sailSignalExceptionMIPS.tex}}
-
-\newcommand{\sailfnSignalExceptionMIPS}{\label{zSignalExceptionMIPS} \lstinputlisting[language=sail]{sail_latex/sailfnSignalExceptionMIPS.tex}}
-
-\newcommand{\sailSignalException}{\label{zSignalException} \lstinputlisting[language=sail]{sail_latex/sailSignalException.tex}}
-
-\newcommand{\sailSignalExceptionBadAddr}{\label{zSignalExceptionBadAddr} \lstinputlisting[language=sail]{sail_latex/sailSignalExceptionBadAddr.tex}}
-
-\newcommand{\sailfnSignalExceptionBadAddr}{\label{zSignalExceptionBadAddr} \lstinputlisting[language=sail]{sail_latex/sailfnSignalExceptionBadAddr.tex}}
-
-\newcommand{\sailSignalExceptionTLB}{\label{zSignalExceptionTLB} \lstinputlisting[language=sail]{sail_latex/sailSignalExceptionTLB.tex}}
-
-\newcommand{\sailfnSignalExceptionTLB}{\label{zSignalExceptionTLB} \lstinputlisting[language=sail]{sail_latex/sailfnSignalExceptionTLB.tex}}
-
-\newcommand{\sailMemAccessType}{\label{zMemAccessType} \lstinputlisting[language=sail]{sail_latex/sailMemAccessType.tex}}
-
-\newcommand{\sailMemAccessTypeofnum}{\label{zMemAccessTypezyofzynum} \lstinputlisting[language=sail]{sail_latex/sailMemAccessTypeofnum.tex}}
-
-\newcommand{\sailfnMemAccessTypeofnum}{\label{zMemAccessTypezyofzynum} \lstinputlisting[language=sail]{sail_latex/sailfnMemAccessTypeofnum.tex}}
-
-\newcommand{\sailnumofMemAccessType}{\label{znumzyofzyMemAccessType} \lstinputlisting[language=sail]{sail_latex/sailnumofMemAccessType.tex}}
-
-\newcommand{\sailfnnumofMemAccessType}{\label{znumzyofzyMemAccessType} \lstinputlisting[language=sail]{sail_latex/sailfnnumofMemAccessType.tex}}
-
-\newcommand{\sailAccessLevel}{\label{zAccessLevel} \lstinputlisting[language=sail]{sail_latex/sailAccessLevel.tex}}
-
-\newcommand{\sailAccessLevelofnum}{\label{zAccessLevelzyofzynum} \lstinputlisting[language=sail]{sail_latex/sailAccessLevelofnum.tex}}
-
-\newcommand{\sailfnAccessLevelofnum}{\label{zAccessLevelzyofzynum} \lstinputlisting[language=sail]{sail_latex/sailfnAccessLevelofnum.tex}}
-
-\newcommand{\sailnumofAccessLevel}{\label{znumzyofzyAccessLevel} \lstinputlisting[language=sail]{sail_latex/sailnumofAccessLevel.tex}}
-
-\newcommand{\sailfnnumofAccessLevel}{\label{znumzyofzyAccessLevel} \lstinputlisting[language=sail]{sail_latex/sailfnnumofAccessLevel.tex}}
-
-\newcommand{\sailintofAccessLevel}{\label{zintzyofzyAccessLevel} \lstinputlisting[language=sail]{sail_latex/sailintofAccessLevel.tex}}
-
-\newcommand{\sailfnintofAccessLevel}{\label{zintzyofzyAccessLevel} \lstinputlisting[language=sail]{sail_latex/sailfnintofAccessLevel.tex}}
-
-\newcommand{\sailgrantsAccess}{\label{zgrantsAccess}
-Returns whether the first AccessLevel is sufficient to grant access at the second, required, access level.
- \lstinputlisting[language=sail]{sail_latex/sailgrantsAccess.tex}}
-
-\newcommand{\sailfngrantsAccess}{\label{zgrantsAccess} \lstinputlisting[language=sail]{sail_latex/sailfngrantsAccess.tex}}
-
-\newcommand{\sailgetAccessLevel}{\label{zgetAccessLevel}
-Returns the current effective access level determined by accessing the relevant parts of the MIPS status register.
- \lstinputlisting[language=sail]{sail_latex/sailgetAccessLevel.tex}}
-
-\newcommand{\sailfngetAccessLevel}{\label{zgetAccessLevel} \lstinputlisting[language=sail]{sail_latex/sailfngetAccessLevel.tex}}
-
-\newcommand{\sailcheckCPzeroAccess}{\label{zcheckCPzeroAccess} \lstinputlisting[language=sail]{sail_latex/sailcheckCPzeroAccess.tex}}
-
-\newcommand{\sailfncheckCPzeroAccess}{\label{zcheckCPzeroAccess} \lstinputlisting[language=sail]{sail_latex/sailfncheckCPzeroAccess.tex}}
-
-\newcommand{\sailincrementCPzeroCount}{\label{zincrementCPzeroCount} \lstinputlisting[language=sail]{sail_latex/sailincrementCPzeroCount.tex}}
-
-\newcommand{\sailfnincrementCPzeroCount}{\label{zincrementCPzeroCount} \lstinputlisting[language=sail]{sail_latex/sailfnincrementCPzeroCount.tex}}
-
-\newcommand{\sailregno}{\label{zregno} \lstinputlisting[language=sail]{sail_latex/sailregno.tex}}
-
-\newcommand{\sailimmonesix}{\label{zimmonesix} \lstinputlisting[language=sail]{sail_latex/sailimmonesix.tex}}
-
-\newcommand{\sailregregreg}{\label{zregregreg} \lstinputlisting[language=sail]{sail_latex/sailregregreg.tex}}
-
-\newcommand{\sailregregimmonesix}{\label{zregregimmonesix} \lstinputlisting[language=sail]{sail_latex/sailregregimmonesix.tex}}
-
-\newcommand{\saildecodefailure}{\label{zdecodezyfailure} \lstinputlisting[language=sail]{sail_latex/saildecodefailure.tex}}
-
-\newcommand{\saildecodefailureofnum}{\label{zdecodezyfailurezyofzynum} \lstinputlisting[language=sail]{sail_latex/saildecodefailureofnum.tex}}
-
-\newcommand{\sailfndecodefailureofnum}{\label{zdecodezyfailurezyofzynum} \lstinputlisting[language=sail]{sail_latex/sailfndecodefailureofnum.tex}}
-
-\newcommand{\sailnumofdecodefailure}{\label{znumzyofzydecodezyfailure} \lstinputlisting[language=sail]{sail_latex/sailnumofdecodefailure.tex}}
-
-\newcommand{\sailfnnumofdecodefailure}{\label{znumzyofzydecodezyfailure} \lstinputlisting[language=sail]{sail_latex/sailfnnumofdecodefailure.tex}}
-
-\newcommand{\sailComparison}{\label{zComparison} \lstinputlisting[language=sail]{sail_latex/sailComparison.tex}}
-
-\newcommand{\sailComparisonofnum}{\label{zComparisonzyofzynum} \lstinputlisting[language=sail]{sail_latex/sailComparisonofnum.tex}}
-
-\newcommand{\sailfnComparisonofnum}{\label{zComparisonzyofzynum} \lstinputlisting[language=sail]{sail_latex/sailfnComparisonofnum.tex}}
-
-\newcommand{\sailnumofComparison}{\label{znumzyofzyComparison} \lstinputlisting[language=sail]{sail_latex/sailnumofComparison.tex}}
-
-\newcommand{\sailfnnumofComparison}{\label{znumzyofzyComparison} \lstinputlisting[language=sail]{sail_latex/sailfnnumofComparison.tex}}
-
-\newcommand{\sailcompare}{\label{zcompare} \lstinputlisting[language=sail]{sail_latex/sailcompare.tex}}
-
-\newcommand{\sailfncompare}{\label{zcompare} \lstinputlisting[language=sail]{sail_latex/sailfncompare.tex}}
-
-\newcommand{\sailWordType}{\label{zWordType} \lstinputlisting[language=sail]{sail_latex/sailWordType.tex}}
-
-\newcommand{\sailWordTypeofnum}{\label{zWordTypezyofzynum} \lstinputlisting[language=sail]{sail_latex/sailWordTypeofnum.tex}}
-
-\newcommand{\sailfnWordTypeofnum}{\label{zWordTypezyofzynum} \lstinputlisting[language=sail]{sail_latex/sailfnWordTypeofnum.tex}}
-
-\newcommand{\sailnumofWordType}{\label{znumzyofzyWordType} \lstinputlisting[language=sail]{sail_latex/sailnumofWordType.tex}}
-
-\newcommand{\sailfnnumofWordType}{\label{znumzyofzyWordType} \lstinputlisting[language=sail]{sail_latex/sailfnnumofWordType.tex}}
-
-\newcommand{\sailWordTypeUnaligned}{\label{zWordTypeUnaligned} \lstinputlisting[language=sail]{sail_latex/sailWordTypeUnaligned.tex}}
-
-\newcommand{\sailWordTypeUnalignedofnum}{\label{zWordTypeUnalignedzyofzynum} \lstinputlisting[language=sail]{sail_latex/sailWordTypeUnalignedofnum.tex}}
-
-\newcommand{\sailfnWordTypeUnalignedofnum}{\label{zWordTypeUnalignedzyofzynum} \lstinputlisting[language=sail]{sail_latex/sailfnWordTypeUnalignedofnum.tex}}
-
-\newcommand{\sailnumofWordTypeUnaligned}{\label{znumzyofzyWordTypeUnaligned} \lstinputlisting[language=sail]{sail_latex/sailnumofWordTypeUnaligned.tex}}
-
-\newcommand{\sailfnnumofWordTypeUnaligned}{\label{znumzyofzyWordTypeUnaligned} \lstinputlisting[language=sail]{sail_latex/sailfnnumofWordTypeUnaligned.tex}}
-
-\newcommand{\sailwordWidthBytes}{\label{zwordWidthBytes} \lstinputlisting[language=sail]{sail_latex/sailwordWidthBytes.tex}}
-
-\newcommand{\sailfnwordWidthBytes}{\label{zwordWidthBytes} \lstinputlisting[language=sail]{sail_latex/sailfnwordWidthBytes.tex}}
-
-\newcommand{\sailisAddressAligned}{\label{zisAddressAligned} \lstinputlisting[language=sail]{sail_latex/sailisAddressAligned.tex}}
-
-\newcommand{\sailfnisAddressAligned}{\label{zisAddressAligned} \lstinputlisting[language=sail]{sail_latex/sailfnisAddressAligned.tex}}
-
-\newcommand{\sailreverseendianness}{\label{zreversezyendianness} \lstinputlisting[language=sail]{sail_latex/sailreverseendianness.tex}}
-
-\newcommand{\sailMEMrwrapper}{\label{zMEMrzywrapper} \lstinputlisting[language=sail]{sail_latex/sailMEMrwrapper.tex}}
-
-\newcommand{\sailfnMEMrwrapper}{\label{zMEMrzywrapper} \lstinputlisting[language=sail]{sail_latex/sailfnMEMrwrapper.tex}}
-
-\newcommand{\sailMEMrreservewrapper}{\label{zMEMrzyreservezywrapper} \lstinputlisting[language=sail]{sail_latex/sailMEMrreservewrapper.tex}}
-
-\newcommand{\sailfnMEMrreservewrapper}{\label{zMEMrzyreservezywrapper} \lstinputlisting[language=sail]{sail_latex/sailfnMEMrreservewrapper.tex}}
-
-\newcommand{\sailinitcpzerostate}{\label{zinitzycpzerozystate} \lstinputlisting[language=sail]{sail_latex/sailinitcpzerostate.tex}}
-
-\newcommand{\sailfninitcpzerostate}{\label{zinitzycpzerozystate} \lstinputlisting[language=sail]{sail_latex/sailfninitcpzerostate.tex}}
-
-\newcommand{\sailinitcptwostate}{\label{zinitzycptwozystate} \lstinputlisting[language=sail]{sail_latex/sailinitcptwostate.tex}}
-
-\newcommand{\sailcptwonextpc}{\label{zcptwozynextzypc} \lstinputlisting[language=sail]{sail_latex/sailcptwonextpc.tex}}
-
-\newcommand{\saildumpcptwostate}{\label{zdumpzycptwozystate} \lstinputlisting[language=sail]{sail_latex/saildumpcptwostate.tex}}
-
-\newcommand{\sailtlbEntryMatch}{\label{ztlbEntryMatch} \lstinputlisting[language=sail]{sail_latex/sailtlbEntryMatch.tex}}
-
-\newcommand{\sailfntlbEntryMatch}{\label{ztlbEntryMatch} \lstinputlisting[language=sail]{sail_latex/sailfntlbEntryMatch.tex}}
-
-\newcommand{\sailtlbSearch}{\label{ztlbSearch} \lstinputlisting[language=sail]{sail_latex/sailtlbSearch.tex}}
-
-\newcommand{\sailfntlbSearch}{\label{ztlbSearch} \lstinputlisting[language=sail]{sail_latex/sailfntlbSearch.tex}}
-
-\newcommand{\sailTLBTranslatetwo}{\label{zTLBTranslatetwo} \lstinputlisting[language=sail]{sail_latex/sailTLBTranslatetwo.tex}}
-
-\newcommand{\sailfnTLBTranslatetwo}{\label{zTLBTranslatetwo} \lstinputlisting[language=sail]{sail_latex/sailfnTLBTranslatetwo.tex}}
-
-\newcommand{\sailTLBTranslateC}{\label{zTLBTranslateC} \lstinputlisting[language=sail]{sail_latex/sailTLBTranslateC.tex}}
-
-\newcommand{\sailfnTLBTranslateC}{\label{zTLBTranslateC} \lstinputlisting[language=sail]{sail_latex/sailfnTLBTranslateC.tex}}
-
-\newcommand{\sailTLBTranslate}{\label{zTLBTranslate} \lstinputlisting[language=sail]{sail_latex/sailTLBTranslate.tex}}
-
-\newcommand{\sailfnTLBTranslate}{\label{zTLBTranslate} \lstinputlisting[language=sail]{sail_latex/sailfnTLBTranslate.tex}}
-
-\newcommand{\sailCapLen}{\label{zCapLen} \lstinputlisting[language=sail]{sail_latex/sailCapLen.tex}}
-
-\newcommand{\sailuintsixfour}{\label{zuintsixfour} \lstinputlisting[language=sail]{sail_latex/sailuintsixfour.tex}}
-
-\newcommand{\sailCPtrCmpOp}{\label{zCPtrCmpOp} \lstinputlisting[language=sail]{sail_latex/sailCPtrCmpOp.tex}}
-
-\newcommand{\sailCPtrCmpOpofnum}{\label{zCPtrCmpOpzyofzynum} \lstinputlisting[language=sail]{sail_latex/sailCPtrCmpOpofnum.tex}}
-
-\newcommand{\sailfnCPtrCmpOpofnum}{\label{zCPtrCmpOpzyofzynum} \lstinputlisting[language=sail]{sail_latex/sailfnCPtrCmpOpofnum.tex}}
-
-\newcommand{\sailnumofCPtrCmpOp}{\label{znumzyofzyCPtrCmpOp} \lstinputlisting[language=sail]{sail_latex/sailnumofCPtrCmpOp.tex}}
-
-\newcommand{\sailfnnumofCPtrCmpOp}{\label{znumzyofzyCPtrCmpOp} \lstinputlisting[language=sail]{sail_latex/sailfnnumofCPtrCmpOp.tex}}
-
-\newcommand{\sailClearRegSet}{\label{zClearRegSet} \lstinputlisting[language=sail]{sail_latex/sailClearRegSet.tex}}
-
-\newcommand{\sailClearRegSetofnum}{\label{zClearRegSetzyofzynum} \lstinputlisting[language=sail]{sail_latex/sailClearRegSetofnum.tex}}
-
-\newcommand{\sailfnClearRegSetofnum}{\label{zClearRegSetzyofzynum} \lstinputlisting[language=sail]{sail_latex/sailfnClearRegSetofnum.tex}}
-
-\newcommand{\sailnumofClearRegSet}{\label{znumzyofzyClearRegSet} \lstinputlisting[language=sail]{sail_latex/sailnumofClearRegSet.tex}}
-
-\newcommand{\sailfnnumofClearRegSet}{\label{znumzyofzyClearRegSet} \lstinputlisting[language=sail]{sail_latex/sailfnnumofClearRegSet.tex}}
-
-\newcommand{\sailCapReg}{\label{zCapReg} \lstinputlisting[language=sail]{sail_latex/sailCapReg.tex}}
-
-\newcommand{\sailCapStruct}{\label{zCapStruct} \lstinputlisting[language=sail]{sail_latex/sailCapStruct.tex}}
-
-\newcommand{\sailcapRegToCapStruct}{\label{zcapRegToCapStruct} \lstinputlisting[language=sail]{sail_latex/sailcapRegToCapStruct.tex}}
-
-\newcommand{\sailfncapRegToCapStruct}{\label{zcapRegToCapStruct} \lstinputlisting[language=sail]{sail_latex/sailfncapRegToCapStruct.tex}}
-
-\newcommand{\sailgetCapPerms}{\label{zgetCapPerms} \lstinputlisting[language=sail]{sail_latex/sailgetCapPerms.tex}}
-
-\newcommand{\sailfngetCapPerms}{\label{zgetCapPerms} \lstinputlisting[language=sail]{sail_latex/sailfngetCapPerms.tex}}
-
-\newcommand{\sailcapStructToMemBitstwofivesix}{\label{zcapStructToMemBitstwofivesix} \lstinputlisting[language=sail]{sail_latex/sailcapStructToMemBitstwofivesix.tex}}
-
-\newcommand{\sailfncapStructToMemBitstwofivesix}{\label{zcapStructToMemBitstwofivesix} \lstinputlisting[language=sail]{sail_latex/sailfncapStructToMemBitstwofivesix.tex}}
-
-\newcommand{\sailcapStructToMemBits}{\label{zcapStructToMemBits} \lstinputlisting[language=sail]{sail_latex/sailcapStructToMemBits.tex}}
-
-\newcommand{\sailfncapStructToMemBits}{\label{zcapStructToMemBits} \lstinputlisting[language=sail]{sail_latex/sailfncapStructToMemBits.tex}}
-
-\newcommand{\sailmemBitsToCapBits}{\label{zmemBitsToCapBits} \lstinputlisting[language=sail]{sail_latex/sailmemBitsToCapBits.tex}}
-
-\newcommand{\sailfnmemBitsToCapBits}{\label{zmemBitsToCapBits} \lstinputlisting[language=sail]{sail_latex/sailfnmemBitsToCapBits.tex}}
-
-\newcommand{\sailcapStructToCapReg}{\label{zcapStructToCapReg} \lstinputlisting[language=sail]{sail_latex/sailcapStructToCapReg.tex}}
-
-\newcommand{\sailfncapStructToCapReg}{\label{zcapStructToCapReg} \lstinputlisting[language=sail]{sail_latex/sailfncapStructToCapReg.tex}}
-
-\newcommand{\sailsetCapPerms}{\label{zsetCapPerms} \lstinputlisting[language=sail]{sail_latex/sailsetCapPerms.tex}}
-
-\newcommand{\sailfnsetCapPerms}{\label{zsetCapPerms} \lstinputlisting[language=sail]{sail_latex/sailfnsetCapPerms.tex}}
-
-\newcommand{\sailsealCap}{\label{zsealCap} \lstinputlisting[language=sail]{sail_latex/sailsealCap.tex}}
-
-\newcommand{\sailfnsealCap}{\label{zsealCap} \lstinputlisting[language=sail]{sail_latex/sailfnsealCap.tex}}
-
-\newcommand{\sailgetCapBase}{\label{zgetCapBase} \lstinputlisting[language=sail]{sail_latex/sailgetCapBase.tex}}
-
-\newcommand{\sailfngetCapBase}{\label{zgetCapBase} \lstinputlisting[language=sail]{sail_latex/sailfngetCapBase.tex}}
-
-\newcommand{\sailgetCapTop}{\label{zgetCapTop} \lstinputlisting[language=sail]{sail_latex/sailgetCapTop.tex}}
-
-\newcommand{\sailfngetCapTop}{\label{zgetCapTop} \lstinputlisting[language=sail]{sail_latex/sailfngetCapTop.tex}}
-
-\newcommand{\sailgetCapOffset}{\label{zgetCapOffset} \lstinputlisting[language=sail]{sail_latex/sailgetCapOffset.tex}}
-
-\newcommand{\sailfngetCapOffset}{\label{zgetCapOffset} \lstinputlisting[language=sail]{sail_latex/sailfngetCapOffset.tex}}
-
-\newcommand{\sailgetCapLength}{\label{zgetCapLength} \lstinputlisting[language=sail]{sail_latex/sailgetCapLength.tex}}
-
-\newcommand{\sailfngetCapLength}{\label{zgetCapLength} \lstinputlisting[language=sail]{sail_latex/sailfngetCapLength.tex}}
-
-\newcommand{\sailgetCapCursor}{\label{zgetCapCursor} \lstinputlisting[language=sail]{sail_latex/sailgetCapCursor.tex}}
-
-\newcommand{\sailfngetCapCursor}{\label{zgetCapCursor} \lstinputlisting[language=sail]{sail_latex/sailfngetCapCursor.tex}}
-
-\newcommand{\sailsetCapOffset}{\label{zsetCapOffset}
-Set the offset capability of the a capability to given value and return the result, along with a boolean indicating true if the operation preserved the existing bounds of the capability. When using compressed capabilities, setting the offset far outside the capability bounds can cause the result to become unrepresentable (XXX mention guarantees). Additionally in some implementations a fast representablity check may be used that could cause the operation to return failure even though the capability would be representable (XXX provide details).
- \lstinputlisting[language=sail]{sail_latex/sailsetCapOffset.tex}}
-
-\newcommand{\sailfnsetCapOffset}{\label{zsetCapOffset} \lstinputlisting[language=sail]{sail_latex/sailfnsetCapOffset.tex}}
-
-\newcommand{\sailincCapOffset}{\label{zincCapOffset}
-\function{incCapOffset} is the same as \function{setCapOffset} except that the 64-bit value is added to the current capability offset modulo $2^{64}$ (i.e. signed twos-complement arithemtic).
- \lstinputlisting[language=sail]{sail_latex/sailincCapOffset.tex}}
-
-\newcommand{\sailfnincCapOffset}{\label{zincCapOffset} \lstinputlisting[language=sail]{sail_latex/sailfnincCapOffset.tex}}
-
-\newcommand{\sailsetCapBounds}{\label{zsetCapBounds}
-Returns a capability derived from the given capability by setting the base and top to values provided. The offset of the resulting capability is zero. In case the requested bounds are not exactly representable the returned boolean is false and the returned capability has bounds at least including the region bounded by base and top but rounded to representable values.
- \lstinputlisting[language=sail]{sail_latex/sailsetCapBounds.tex}}
-
-\newcommand{\sailfnsetCapBounds}{\label{zsetCapBounds} \lstinputlisting[language=sail]{sail_latex/sailfnsetCapBounds.tex}}
-
-\newcommand{\sailinttocap}{\label{zintzytozycap} \lstinputlisting[language=sail]{sail_latex/sailinttocap.tex}}
-
-\newcommand{\sailfninttocap}{\label{zintzytozycap} \lstinputlisting[language=sail]{sail_latex/sailfninttocap.tex}}
-
-\newcommand{\sailexecute}{\label{zexecute} \lstinputlisting[language=sail]{sail_latex/sailexecute.tex}}
-
-\newcommand{\saildecode}{\label{zdecode} \lstinputlisting[language=sail]{sail_latex/saildecode.tex}}
-
-\newcommand{\sailreadCapReg}{\label{zreadCapReg}
-This function reads a given capability register and returns its contents converted to a CapStruct.
-If the argument is zero then the null capability is returned.
-\lstinputlisting[language=sail]{sail_latex/sailreadCapReg.tex}}
-
-\newcommand{\sailfnreadCapReg}{\label{zreadCapReg} \lstinputlisting[language=sail]{sail_latex/sailfnreadCapReg.tex}}
-
-\newcommand{\sailreadCapRegDDC}{\label{zreadCapRegDDC}
-This is the same as readCapReg except that when the argument is zero the value of DDC is returned
-instead of the null capability. This is used for instructions that expect an address, where using
-null would always generate an exception.
-\lstinputlisting[language=sail]{sail_latex/sailreadCapRegDDC.tex}}
-
-\newcommand{\sailfnreadCapRegDDC}{\label{zreadCapRegDDC} \lstinputlisting[language=sail]{sail_latex/sailfnreadCapRegDDC.tex}}
-
-\newcommand{\sailwriteCapReg}{\label{zwriteCapReg} \lstinputlisting[language=sail]{sail_latex/sailwriteCapReg.tex}}
-
-\newcommand{\sailfnwriteCapReg}{\label{zwriteCapReg} \lstinputlisting[language=sail]{sail_latex/sailfnwriteCapReg.tex}}
-
-\newcommand{\sailCapEx}{\label{zCapEx} \lstinputlisting[language=sail]{sail_latex/sailCapEx.tex}}
-
-\newcommand{\sailCapExofnum}{\label{zCapExzyofzynum} \lstinputlisting[language=sail]{sail_latex/sailCapExofnum.tex}}
-
-\newcommand{\sailfnCapExofnum}{\label{zCapExzyofzynum} \lstinputlisting[language=sail]{sail_latex/sailfnCapExofnum.tex}}
-
-\newcommand{\sailnumofCapEx}{\label{znumzyofzyCapEx} \lstinputlisting[language=sail]{sail_latex/sailnumofCapEx.tex}}
-
-\newcommand{\sailfnnumofCapEx}{\label{znumzyofzyCapEx} \lstinputlisting[language=sail]{sail_latex/sailfnnumofCapEx.tex}}
-
-\newcommand{\sailCapExCode}{\label{zCapExCode} \lstinputlisting[language=sail]{sail_latex/sailCapExCode.tex}}
-
-\newcommand{\sailfnCapExCode}{\label{zCapExCode} \lstinputlisting[language=sail]{sail_latex/sailfnCapExCode.tex}}
-
-\newcommand{\sailCapCauseReg}{\label{zCapCauseReg} \lstinputlisting[language=sail]{sail_latex/sailCapCauseReg.tex}}
-
-\newcommand{\sailMkCapCauseReg}{\label{zMkzyCapCauseReg} \lstinputlisting[language=sail]{sail_latex/sailMkCapCauseReg.tex}}
-
-\newcommand{\sailfnMkCapCauseReg}{\label{zMkzyCapCauseReg} \lstinputlisting[language=sail]{sail_latex/sailfnMkCapCauseReg.tex}}
-
-\newcommand{\sailgetCapCauseRegbits}{\label{zzygetzyCapCauseRegzybits} \lstinputlisting[language=sail]{sail_latex/sailgetCapCauseRegbits.tex}}
-
-\newcommand{\sailfngetCapCauseRegbits}{\label{zzygetzyCapCauseRegzybits} \lstinputlisting[language=sail]{sail_latex/sailfngetCapCauseRegbits.tex}}
-
-\newcommand{\sailsetCapCauseRegbits}{\label{zzysetzyCapCauseRegzybits} \lstinputlisting[language=sail]{sail_latex/sailsetCapCauseRegbits.tex}}
-
-\newcommand{\sailfnsetCapCauseRegbits}{\label{zzysetzyCapCauseRegzybits} \lstinputlisting[language=sail]{sail_latex/sailfnsetCapCauseRegbits.tex}}
-
-\newcommand{\sailupdateCapCauseRegbits}{\label{zzyupdatezyCapCauseRegzybits} \lstinputlisting[language=sail]{sail_latex/sailupdateCapCauseRegbits.tex}}
-
-\newcommand{\sailfnupdateCapCauseRegbits}{\label{zzyupdatezyCapCauseRegzybits} \lstinputlisting[language=sail]{sail_latex/sailfnupdateCapCauseRegbits.tex}}
-
-\newcommand{\sailupdatebits}{\label{zupdatezybits} \lstinputlisting[language=sail]{sail_latex/sailupdatebits.tex}}
-
-\newcommand{\sailmodbits}{\label{zzymodzybits} \lstinputlisting[language=sail]{sail_latex/sailmodbits.tex}}
-
-\newcommand{\sailgetCapCauseRegExcCode}{\label{zzygetzyCapCauseRegzyExcCode} \lstinputlisting[language=sail]{sail_latex/sailgetCapCauseRegExcCode.tex}}
-
-\newcommand{\sailfngetCapCauseRegExcCode}{\label{zzygetzyCapCauseRegzyExcCode} \lstinputlisting[language=sail]{sail_latex/sailfngetCapCauseRegExcCode.tex}}
-
-\newcommand{\sailsetCapCauseRegExcCode}{\label{zzysetzyCapCauseRegzyExcCode} \lstinputlisting[language=sail]{sail_latex/sailsetCapCauseRegExcCode.tex}}
-
-\newcommand{\sailfnsetCapCauseRegExcCode}{\label{zzysetzyCapCauseRegzyExcCode} \lstinputlisting[language=sail]{sail_latex/sailfnsetCapCauseRegExcCode.tex}}
-
-\newcommand{\sailupdateCapCauseRegExcCode}{\label{zzyupdatezyCapCauseRegzyExcCode} \lstinputlisting[language=sail]{sail_latex/sailupdateCapCauseRegExcCode.tex}}
-
-\newcommand{\sailfnupdateCapCauseRegExcCode}{\label{zzyupdatezyCapCauseRegzyExcCode} \lstinputlisting[language=sail]{sail_latex/sailfnupdateCapCauseRegExcCode.tex}}
-
-\newcommand{\sailupdateExcCode}{\label{zupdatezyExcCode} \lstinputlisting[language=sail]{sail_latex/sailupdateExcCode.tex}}
-
-\newcommand{\sailmodExcCode}{\label{zzymodzyExcCode} \lstinputlisting[language=sail]{sail_latex/sailmodExcCode.tex}}
-
-\newcommand{\sailgetCapCauseRegRegNum}{\label{zzygetzyCapCauseRegzyRegNum} \lstinputlisting[language=sail]{sail_latex/sailgetCapCauseRegRegNum.tex}}
-
-\newcommand{\sailfngetCapCauseRegRegNum}{\label{zzygetzyCapCauseRegzyRegNum} \lstinputlisting[language=sail]{sail_latex/sailfngetCapCauseRegRegNum.tex}}
-
-\newcommand{\sailsetCapCauseRegRegNum}{\label{zzysetzyCapCauseRegzyRegNum} \lstinputlisting[language=sail]{sail_latex/sailsetCapCauseRegRegNum.tex}}
-
-\newcommand{\sailfnsetCapCauseRegRegNum}{\label{zzysetzyCapCauseRegzyRegNum} \lstinputlisting[language=sail]{sail_latex/sailfnsetCapCauseRegRegNum.tex}}
-
-\newcommand{\sailupdateCapCauseRegRegNum}{\label{zzyupdatezyCapCauseRegzyRegNum} \lstinputlisting[language=sail]{sail_latex/sailupdateCapCauseRegRegNum.tex}}
-
-\newcommand{\sailfnupdateCapCauseRegRegNum}{\label{zzyupdatezyCapCauseRegzyRegNum} \lstinputlisting[language=sail]{sail_latex/sailfnupdateCapCauseRegRegNum.tex}}
-
-\newcommand{\sailupdateRegNum}{\label{zupdatezyRegNum} \lstinputlisting[language=sail]{sail_latex/sailupdateRegNum.tex}}
-
-\newcommand{\sailmodRegNum}{\label{zzymodzyRegNum} \lstinputlisting[language=sail]{sail_latex/sailmodRegNum.tex}}
-
-\newcommand{\sailexecutebranchpcc}{\label{zexecutezybranchzypcc} \lstinputlisting[language=sail]{sail_latex/sailexecutebranchpcc.tex}}
-
-\newcommand{\sailfnexecutebranchpcc}{\label{zexecutezybranchzypcc} \lstinputlisting[language=sail]{sail_latex/sailfnexecutebranchpcc.tex}}
-
-\newcommand{\sailfnSignalException}{\label{zSignalException} \lstinputlisting[language=sail]{sail_latex/sailfnSignalException.tex}}
-
-\newcommand{\sailERETHook}{\label{zERETHook} \lstinputlisting[language=sail]{sail_latex/sailERETHook.tex}}
-
-\newcommand{\sailfnERETHook}{\label{zERETHook} \lstinputlisting[language=sail]{sail_latex/sailfnERETHook.tex}}
-
-\newcommand{\sailraisectwoexceptioneight}{\label{zraisezyctwozyexceptioneight} \lstinputlisting[language=sail]{sail_latex/sailraisectwoexceptioneight.tex}}
-
-\newcommand{\sailfnraisectwoexceptioneight}{\label{zraisezyctwozyexceptioneight} \lstinputlisting[language=sail]{sail_latex/sailfnraisectwoexceptioneight.tex}}
-
-\newcommand{\sailraisectwoexception}{\label{zraisezyctwozyexception} \lstinputlisting[language=sail]{sail_latex/sailraisectwoexception.tex}}
-
-\newcommand{\sailfnraisectwoexception}{\label{zraisezyctwozyexception} \lstinputlisting[language=sail]{sail_latex/sailfnraisectwoexception.tex}}
-
-\newcommand{\sailraisectwoexceptionnoreg}{\label{zraisezyctwozyexceptionzynoreg} \lstinputlisting[language=sail]{sail_latex/sailraisectwoexceptionnoreg.tex}}
-
-\newcommand{\sailfnraisectwoexceptionnoreg}{\label{zraisezyctwozyexceptionzynoreg} \lstinputlisting[language=sail]{sail_latex/sailfnraisectwoexceptionnoreg.tex}}
-
-\newcommand{\sailpccaccesssystemregs}{\label{zpcczyaccesszysystemzyregs} \lstinputlisting[language=sail]{sail_latex/sailpccaccesssystemregs.tex}}
-
-\newcommand{\sailfnpccaccesssystemregs}{\label{zpcczyaccesszysystemzyregs} \lstinputlisting[language=sail]{sail_latex/sailfnpccaccesssystemregs.tex}}
-
-\newcommand{\sailregisterinaccessible}{\label{zregisterzyinaccessible}
-The following function should be called before reading or writing any capability register to check whether it is one of the protected system capabilities. Although it is usually a general purpose capabilty the invoked data capabiltiy (IDC) is restricted in the branch delay slot of the CCall (selector one) instruction to protect the confidentiality and integrity of the invoked sandbox.
- \lstinputlisting[language=sail]{sail_latex/sailregisterinaccessible.tex}}
-
-\newcommand{\sailfnregisterinaccessible}{\label{zregisterzyinaccessible} \lstinputlisting[language=sail]{sail_latex/sailfnregisterinaccessible.tex}}
-
-\newcommand{\sailMEMrtag}{\label{zMEMrzytag} \lstinputlisting[language=sail]{sail_latex/sailMEMrtag.tex}}
-
-\newcommand{\sailMEMwtag}{\label{zMEMwzytag} \lstinputlisting[language=sail]{sail_latex/sailMEMwtag.tex}}
-
-\newcommand{\sailMEMrtagged}{\label{zMEMrzytagged} \lstinputlisting[language=sail]{sail_latex/sailMEMrtagged.tex}}
-
-\newcommand{\sailfnMEMrtagged}{\label{zMEMrzytagged} \lstinputlisting[language=sail]{sail_latex/sailfnMEMrtagged.tex}}
-
-\newcommand{\sailMEMrtaggedreserve}{\label{zMEMrzytaggedzyreserve} \lstinputlisting[language=sail]{sail_latex/sailMEMrtaggedreserve.tex}}
-
-\newcommand{\sailfnMEMrtaggedreserve}{\label{zMEMrzytaggedzyreserve} \lstinputlisting[language=sail]{sail_latex/sailfnMEMrtaggedreserve.tex}}
-
-\newcommand{\sailMEMwtagged}{\label{zMEMwzytagged} \lstinputlisting[language=sail]{sail_latex/sailMEMwtagged.tex}}
-
-\newcommand{\sailfnMEMwtagged}{\label{zMEMwzytagged} \lstinputlisting[language=sail]{sail_latex/sailfnMEMwtagged.tex}}
-
-\newcommand{\sailMEMwtaggedconditional}{\label{zMEMwzytaggedzyconditional} \lstinputlisting[language=sail]{sail_latex/sailMEMwtaggedconditional.tex}}
-
-\newcommand{\sailfnMEMwtaggedconditional}{\label{zMEMwzytaggedzyconditional} \lstinputlisting[language=sail]{sail_latex/sailfnMEMwtaggedconditional.tex}}
-
-\newcommand{\sailMEMwwrapper}{\label{zMEMwzywrapper} \lstinputlisting[language=sail]{sail_latex/sailMEMwwrapper.tex}}
-
-\newcommand{\sailfnMEMwwrapper}{\label{zMEMwzywrapper} \lstinputlisting[language=sail]{sail_latex/sailfnMEMwwrapper.tex}}
-
-\newcommand{\sailMEMwconditionalwrapper}{\label{zMEMwzyconditionalzywrapper} \lstinputlisting[language=sail]{sail_latex/sailMEMwconditionalwrapper.tex}}
-
-\newcommand{\sailfnMEMwconditionalwrapper}{\label{zMEMwzyconditionalzywrapper} \lstinputlisting[language=sail]{sail_latex/sailfnMEMwconditionalwrapper.tex}}
-
-\newcommand{\sailcheckDDCPerms}{\label{zcheckDDCPerms} \lstinputlisting[language=sail]{sail_latex/sailcheckDDCPerms.tex}}
-
-\newcommand{\sailfncheckDDCPerms}{\label{zcheckDDCPerms} \lstinputlisting[language=sail]{sail_latex/sailfncheckDDCPerms.tex}}
-
-\newcommand{\sailaddrWrapper}{\label{zaddrWrapper} \lstinputlisting[language=sail]{sail_latex/sailaddrWrapper.tex}}
-
-\newcommand{\sailfnaddrWrapper}{\label{zaddrWrapper} \lstinputlisting[language=sail]{sail_latex/sailfnaddrWrapper.tex}}
-
-\newcommand{\sailaddrWrapperUnaligned}{\label{zaddrWrapperUnaligned} \lstinputlisting[language=sail]{sail_latex/sailaddrWrapperUnaligned.tex}}
-
-\newcommand{\sailfnaddrWrapperUnaligned}{\label{zaddrWrapperUnaligned} \lstinputlisting[language=sail]{sail_latex/sailfnaddrWrapperUnaligned.tex}}
-
-\newcommand{\sailTranslatePC}{\label{zTranslatePC} \lstinputlisting[language=sail]{sail_latex/sailTranslatePC.tex}}
-
-\newcommand{\sailfnTranslatePC}{\label{zTranslatePC} \lstinputlisting[language=sail]{sail_latex/sailfnTranslatePC.tex}}
-
-\newcommand{\sailcheckCPtwousable}{\label{zcheckCPtwousable}
-All capability instrucitons must first check that the capability
-co-processor is enabled using the following function that raises a
-co-processor unusable exception if a CP0Status.CU2 is not set. This
-allows the operating system to only save and restore the full
-capability context for processes that use capabilities.
-\lstinputlisting[language=sail]{sail_latex/sailcheckCPtwousable.tex}}
-
-\newcommand{\sailfncheckCPtwousable}{\label{zcheckCPtwousable} \lstinputlisting[language=sail]{sail_latex/sailfncheckCPtwousable.tex}}
-
-\newcommand{\sailfninitcptwostate}{\label{zinitzycptwozystate} \lstinputlisting[language=sail]{sail_latex/sailfninitcptwostate.tex}}
-
-\newcommand{\sailfncptwonextpc}{\label{zcptwozynextzypc} \lstinputlisting[language=sail]{sail_latex/sailfncptwonextpc.tex}}
-
-\newcommand{\sailcapToString}{\label{zcapToString} \lstinputlisting[language=sail]{sail_latex/sailcapToString.tex}}
-
-\newcommand{\sailfncapToString}{\label{zcapToString} \lstinputlisting[language=sail]{sail_latex/sailfncapToString.tex}}
-
-\newcommand{\sailfndumpcptwostate}{\label{zdumpzycptwozystate} \lstinputlisting[language=sail]{sail_latex/sailfndumpcptwostate.tex}}
-
-\newcommand{\sailextendLoad}{\label{zextendLoad} \lstinputlisting[language=sail]{sail_latex/sailextendLoad.tex}}
-
-\newcommand{\sailfnextendLoad}{\label{zextendLoad} \lstinputlisting[language=sail]{sail_latex/sailfnextendLoad.tex}}
-
-\newcommand{\sailTLBWriteEntry}{\label{zTLBWriteEntry} \lstinputlisting[language=sail]{sail_latex/sailTLBWriteEntry.tex}}
-
-\newcommand{\sailfnTLBWriteEntry}{\label{zTLBWriteEntry} \lstinputlisting[language=sail]{sail_latex/sailfnTLBWriteEntry.tex}}
-
-\newcommand{\sailfndecodeSomeDADDIU}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeDADDIU.tex}}
-
-\newcommand{\sailfndecodeSomeDADDU}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeDADDU.tex}}
-
-\newcommand{\sailfndecodeSomeDADDI}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeDADDI.tex}}
-
-\newcommand{\sailfndecodeSomeDADD}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeDADD.tex}}
-
-\newcommand{\sailfndecodeSomeADD}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeADD.tex}}
-
-\newcommand{\sailfndecodeSomeADDI}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeADDI.tex}}
-
-\newcommand{\sailfndecodeSomeADDU}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeADDU.tex}}
-
-\newcommand{\sailfndecodeSomeADDIU}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeADDIU.tex}}
-
-\newcommand{\sailfndecodeSomeDSUBU}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeDSUBU.tex}}
-
-\newcommand{\sailfndecodeSomeDSUB}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeDSUB.tex}}
-
-\newcommand{\sailfndecodeSomeSUB}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeSUB.tex}}
-
-\newcommand{\sailfndecodeSomeSUBU}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeSUBU.tex}}
-
-\newcommand{\sailfndecodeSomeAND}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeAND.tex}}
-
-\newcommand{\sailfndecodeSomeANDI}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeANDI.tex}}
-
-\newcommand{\sailfndecodeSomeOR}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeOR.tex}}
-
-\newcommand{\sailfndecodeSomeORI}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeORI.tex}}
-
-\newcommand{\sailfndecodeSomeNOR}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeNOR.tex}}
-
-\newcommand{\sailfndecodeSomeXOR}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeXOR.tex}}
-
-\newcommand{\sailfndecodeSomeXORI}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeXORI.tex}}
-
-\newcommand{\sailfndecodeSomeLUI}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeLUI.tex}}
-
-\newcommand{\sailfndecodeSomeDSLL}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeDSLL.tex}}
-
-\newcommand{\sailfndecodeSomeDSLLthreetwo}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeDSLLthreetwo.tex}}
-
-\newcommand{\sailfndecodeSomeDSLLV}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeDSLLV.tex}}
-
-\newcommand{\sailfndecodeSomeDSRA}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeDSRA.tex}}
-
-\newcommand{\sailfndecodeSomeDSRAthreetwo}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeDSRAthreetwo.tex}}
-
-\newcommand{\sailfndecodeSomeDSRAV}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeDSRAV.tex}}
-
-\newcommand{\sailfndecodeSomeDSRL}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeDSRL.tex}}
-
-\newcommand{\sailfndecodeSomeDSRLthreetwo}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeDSRLthreetwo.tex}}
-
-\newcommand{\sailfndecodeSomeDSRLV}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeDSRLV.tex}}
-
-\newcommand{\sailfndecodeSomeSLL}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeSLL.tex}}
-
-\newcommand{\sailfndecodeSomeSLLV}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeSLLV.tex}}
-
-\newcommand{\sailfndecodeSomeSRA}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeSRA.tex}}
-
-\newcommand{\sailfndecodeSomeSRAV}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeSRAV.tex}}
-
-\newcommand{\sailfndecodeSomeSRL}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeSRL.tex}}
-
-\newcommand{\sailfndecodeSomeSRLV}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeSRLV.tex}}
-
-\newcommand{\sailfndecodeSomeSLT}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeSLT.tex}}
-
-\newcommand{\sailfndecodeSomeSLTI}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeSLTI.tex}}
-
-\newcommand{\sailfndecodeSomeSLTU}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeSLTU.tex}}
-
-\newcommand{\sailfndecodeSomeSLTIU}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeSLTIU.tex}}
-
-\newcommand{\sailfndecodeSomeMOVN}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeMOVN.tex}}
-
-\newcommand{\sailfndecodeSomeMOVZ}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeMOVZ.tex}}
-
-\newcommand{\sailfndecodeSomeMFHIrd}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeMFHIrd.tex}}
-
-\newcommand{\sailfndecodeSomeMFLOrd}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeMFLOrd.tex}}
-
-\newcommand{\sailfndecodeSomeMTHIrs}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeMTHIrs.tex}}
-
-\newcommand{\sailfndecodeSomeMTLOrs}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeMTLOrs.tex}}
-
-\newcommand{\sailfndecodeSomeMUL}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeMUL.tex}}
-
-\newcommand{\sailfndecodeSomeMULT}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeMULT.tex}}
-
-\newcommand{\sailfndecodeSomeMULTU}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeMULTU.tex}}
-
-\newcommand{\sailfndecodeSomeDMULT}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeDMULT.tex}}
-
-\newcommand{\sailfndecodeSomeDMULTU}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeDMULTU.tex}}
-
-\newcommand{\sailfndecodeSomeMADD}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeMADD.tex}}
-
-\newcommand{\sailfndecodeSomeMADDU}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeMADDU.tex}}
-
-\newcommand{\sailfndecodeSomeMSUB}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeMSUB.tex}}
-
-\newcommand{\sailfndecodeSomeMSUBU}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeMSUBU.tex}}
-
-\newcommand{\sailfndecodeSomeDIV}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeDIV.tex}}
-
-\newcommand{\sailfndecodeSomeDIVU}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeDIVU.tex}}
-
-\newcommand{\sailfndecodeSomeDDIV}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeDDIV.tex}}
-
-\newcommand{\sailfndecodeSomeDDIVU}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeDDIVU.tex}}
-
-\newcommand{\sailfndecodeSomeJoffset}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeJoffset.tex}}
-
-\newcommand{\sailfndecodeSomeJALoffset}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeJALoffset.tex}}
-
-\newcommand{\sailfndecodeSomeJRrs}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeJRrs.tex}}
-
-\newcommand{\sailfndecodeSomeJALR}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeJALR.tex}}
-
-\newcommand{\sailfndecodeSomeBEQ}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeBEQ.tex}}
-
-\newcommand{\sailsailfndecodeSomeBEQv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeBEQv.tex}}
-
-\newcommand{\sailsailsailfndecodeSomeBEQvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailfndecodeSomeBEQvv.tex}}
-
-\newcommand{\sailsailsailsailfndecodeSomeBEQvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailfndecodeSomeBEQvvv.tex}}
-
-\newcommand{\sailfndecodeSomeBCMPZ}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeBCMPZ.tex}}
-
-\newcommand{\sailsailfndecodeSomeBCMPZv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeBCMPZv.tex}}
-
-\newcommand{\sailsailsailfndecodeSomeBCMPZvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailfndecodeSomeBCMPZvv.tex}}
-
-\newcommand{\sailsailsailsailfndecodeSomeBCMPZvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailfndecodeSomeBCMPZvvv.tex}}
-
-\newcommand{\sailsailsailsailsailfndecodeSomeBCMPZvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailfndecodeSomeBCMPZvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailfndecodeSomeBCMPZvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailfndecodeSomeBCMPZvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvvvvv.tex}}
-
-\newcommand{\sailfndecodeSomeSYSCALL}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeSYSCALL.tex}}
-
-\newcommand{\sailfndecodeSomeBREAK}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeBREAK.tex}}
-
-\newcommand{\sailfndecodeSomeWAIT}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeWAIT.tex}}
-
-\newcommand{\sailfndecodeSomeTRAPREG}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeTRAPREG.tex}}
-
-\newcommand{\sailsailfndecodeSomeTRAPREGv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeTRAPREGv.tex}}
-
-\newcommand{\sailsailsailfndecodeSomeTRAPREGvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailfndecodeSomeTRAPREGvv.tex}}
-
-\newcommand{\sailsailsailsailfndecodeSomeTRAPREGvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailfndecodeSomeTRAPREGvvv.tex}}
-
-\newcommand{\sailsailsailsailsailfndecodeSomeTRAPREGvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailfndecodeSomeTRAPREGvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailfndecodeSomeTRAPREGvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailfndecodeSomeTRAPREGvvvvv.tex}}
-
-\newcommand{\sailfndecodeSomeTRAPIMM}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeTRAPIMM.tex}}
-
-\newcommand{\sailsailfndecodeSomeTRAPIMMv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeTRAPIMMv.tex}}
-
-\newcommand{\sailsailsailfndecodeSomeTRAPIMMvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailfndecodeSomeTRAPIMMvv.tex}}
-
-\newcommand{\sailsailsailsailfndecodeSomeTRAPIMMvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailfndecodeSomeTRAPIMMvvv.tex}}
-
-\newcommand{\sailsailsailsailsailfndecodeSomeTRAPIMMvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailfndecodeSomeTRAPIMMvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailfndecodeSomeTRAPIMMvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailfndecodeSomeTRAPIMMvvvvv.tex}}
-
-\newcommand{\sailfndecodeSomeLoad}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeLoad.tex}}
-
-\newcommand{\sailsailfndecodeSomeLoadv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeLoadv.tex}}
-
-\newcommand{\sailsailsailfndecodeSomeLoadvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailfndecodeSomeLoadvv.tex}}
-
-\newcommand{\sailsailsailsailfndecodeSomeLoadvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailfndecodeSomeLoadvvv.tex}}
-
-\newcommand{\sailsailsailsailsailfndecodeSomeLoadvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailfndecodeSomeLoadvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailfndecodeSomeLoadvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailfndecodeSomeLoadvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailfndecodeSomeLoadvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailfndecodeSomeLoadvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailfndecodeSomeLoadvvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeLoadvvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailsailfndecodeSomeLoadvvvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailsailfndecodeSomeLoadvvvvvvvv.tex}}
-
-\newcommand{\sailfndecodeSomeStore}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeStore.tex}}
-
-\newcommand{\sailsailfndecodeSomeStorev}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeStorev.tex}}
-
-\newcommand{\sailsailsailfndecodeSomeStorevv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailfndecodeSomeStorevv.tex}}
-
-\newcommand{\sailsailsailsailfndecodeSomeStorevvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailfndecodeSomeStorevvv.tex}}
-
-\newcommand{\sailsailsailsailsailfndecodeSomeStorevvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailfndecodeSomeStorevvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailfndecodeSomeStorevvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailfndecodeSomeStorevvvvv.tex}}
-
-\newcommand{\sailfndecodeSomeLWL}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeLWL.tex}}
-
-\newcommand{\sailfndecodeSomeLWR}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeLWR.tex}}
-
-\newcommand{\sailfndecodeSomeSWL}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeSWL.tex}}
-
-\newcommand{\sailfndecodeSomeSWR}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeSWR.tex}}
-
-\newcommand{\sailfndecodeSomeLDL}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeLDL.tex}}
-
-\newcommand{\sailfndecodeSomeLDR}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeLDR.tex}}
-
-\newcommand{\sailfndecodeSomeSDL}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeSDL.tex}}
-
-\newcommand{\sailfndecodeSomeSDR}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeSDR.tex}}
-
-\newcommand{\sailfndecodeSomeCACHE}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCACHE.tex}}
-
-\newcommand{\sailfndecodeSomeSYNC}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeSYNC.tex}}
-
-\newcommand{\sailfndecodeSomeMFCzero}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeMFCzero.tex}}
-
-\newcommand{\sailsailfndecodeSomeMFCzerov}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeMFCzerov.tex}}
-
-\newcommand{\sailfndecodeSomeHCF}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeHCF.tex}}
-
-\newcommand{\sailsailfndecodeSomeHCFv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeHCFv.tex}}
-
-\newcommand{\sailfndecodeSomeMTCzero}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeMTCzero.tex}}
-
-\newcommand{\sailsailfndecodeSomeMTCzerov}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeMTCzerov.tex}}
-
-\newcommand{\sailfndecodeSome}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSome.tex}}
-
-\newcommand{\sailsailfndecodeSomev}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomev.tex}}
-
-\newcommand{\sailsailsailfndecodeSomevv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailfndecodeSomevv.tex}}
-
-\newcommand{\sailsailsailsailfndecodeSomevvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailfndecodeSomevvv.tex}}
-
-\newcommand{\sailfndecodeSomeRDHWR}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeRDHWR.tex}}
-
-\newcommand{\sailfndecodeSomeERET}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeERET.tex}}
-
-\newcommand{\sailfndecodeSomeCGetPerm}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCGetPerm.tex}}
-
-\newcommand{\sailfndecodeSomeCGetType}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCGetType.tex}}
-
-\newcommand{\sailfndecodeSomeCGetBase}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCGetBase.tex}}
-
-\newcommand{\sailfndecodeSomeCGetLen}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCGetLen.tex}}
-
-\newcommand{\sailfndecodeSomeCGetTag}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCGetTag.tex}}
-
-\newcommand{\sailfndecodeSomeCGetSealed}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCGetSealed.tex}}
-
-\newcommand{\sailfndecodeSomeCGetCauserd}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCGetCauserd.tex}}
-
-\newcommand{\sailfndecodeSomeCReturn}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCReturn.tex}}
-
-\newcommand{\sailfndecodeSomeCGetOffset}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCGetOffset.tex}}
-
-\newcommand{\sailfndecodeSomeCSetCausert}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCSetCausert.tex}}
-
-\newcommand{\sailfndecodeSomeCAndPerm}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCAndPerm.tex}}
-
-\newcommand{\sailfndecodeSomeCToPtr}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCToPtr.tex}}
-
-\newcommand{\sailfndecodeSomeCPtrCmp}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCPtrCmp.tex}}
-
-\newcommand{\sailsailfndecodeSomeCPtrCmpv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCPtrCmpv.tex}}
-
-\newcommand{\sailsailsailfndecodeSomeCPtrCmpvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailfndecodeSomeCPtrCmpvv.tex}}
-
-\newcommand{\sailsailsailsailfndecodeSomeCPtrCmpvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailfndecodeSomeCPtrCmpvvv.tex}}
-
-\newcommand{\sailsailsailsailsailfndecodeSomeCPtrCmpvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailfndecodeSomeCPtrCmpvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvv.tex}}
-
-\newcommand{\sailfndecodeSomeCIncOffset}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCIncOffset.tex}}
-
-\newcommand{\sailfndecodeSomeCSetOffset}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCSetOffset.tex}}
-
-\newcommand{\sailfndecodeSomeCSetBounds}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCSetBounds.tex}}
-
-\newcommand{\sailfndecodeSomeCClearTag}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCClearTag.tex}}
-
-\newcommand{\sailfndecodeSomeCFromPtr}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCFromPtr.tex}}
-
-\newcommand{\sailfndecodeSomeCCheckPerm}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCCheckPerm.tex}}
-
-\newcommand{\sailfndecodeSomeCCheckType}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCCheckType.tex}}
-
-\newcommand{\sailfndecodeSomeCSeal}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCSeal.tex}}
-
-\newcommand{\sailfndecodeSomeCUnseal}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCUnseal.tex}}
-
-\newcommand{\sailfndecodeSomeCJALR}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCJALR.tex}}
-
-\newcommand{\sailsailfndecodeSomeCJALRv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCJALRv.tex}}
-
-\newcommand{\sailsailfndecodeSomeCGetCauserdv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCGetCauserdv.tex}}
-
-\newcommand{\sailfndecodeSomeCSetCausers}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCSetCausers.tex}}
-
-\newcommand{\sailfndecodeSomeCGetPCCcd}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCGetPCCcd.tex}}
-
-\newcommand{\sailsailsailfndecodeSomeCJALRvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailfndecodeSomeCJALRvv.tex}}
-
-\newcommand{\sailsailfndecodeSomeCCheckPermv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCCheckPermv.tex}}
-
-\newcommand{\sailsailfndecodeSomeCCheckTypev}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCCheckTypev.tex}}
-
-\newcommand{\sailsailfndecodeSomeCClearTagv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCClearTagv.tex}}
-
-\newcommand{\sailfndecodeSomeCMOVX}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCMOVX.tex}}
-
-\newcommand{\sailsailsailsailfndecodeSomeCJALRvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailfndecodeSomeCJALRvvv.tex}}
-
-\newcommand{\sailsailfndecodeSomeCGetPermv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCGetPermv.tex}}
-
-\newcommand{\sailsailfndecodeSomeCGetTypev}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCGetTypev.tex}}
-
-\newcommand{\sailsailfndecodeSomeCGetBasev}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCGetBasev.tex}}
-
-\newcommand{\sailsailfndecodeSomeCGetLenv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCGetLenv.tex}}
-
-\newcommand{\sailsailfndecodeSomeCGetTagv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCGetTagv.tex}}
-
-\newcommand{\sailsailfndecodeSomeCGetSealedv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCGetSealedv.tex}}
-
-\newcommand{\sailsailfndecodeSomeCGetOffsetv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCGetOffsetv.tex}}
-
-\newcommand{\sailfndecodeSomeCGetPCCSetOffset}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCGetPCCSetOffset.tex}}
-
-\newcommand{\sailfndecodeSomeCReadHwr}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCReadHwr.tex}}
-
-\newcommand{\sailfndecodeSomeCWriteHwr}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCWriteHwr.tex}}
-
-\newcommand{\sailfndecodeSomeCGetAddr}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCGetAddr.tex}}
-
-\newcommand{\sailsailfndecodeSomeCSealv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCSealv.tex}}
-
-\newcommand{\sailsailfndecodeSomeCUnsealv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCUnsealv.tex}}
-
-\newcommand{\sailsailfndecodeSomeCAndPermv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCAndPermv.tex}}
-
-\newcommand{\sailsailfndecodeSomeCSetOffsetv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCSetOffsetv.tex}}
-
-\newcommand{\sailsailfndecodeSomeCSetBoundsv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCSetBoundsv.tex}}
-
-\newcommand{\sailfndecodeSomeCSetBoundsExact}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCSetBoundsExact.tex}}
-
-\newcommand{\sailsailfndecodeSomeCIncOffsetv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCIncOffsetv.tex}}
-
-\newcommand{\sailfndecodeSomeCBuildCap}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCBuildCap.tex}}
-
-\newcommand{\sailfndecodeSomeCCopyType}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCCopyType.tex}}
-
-\newcommand{\sailfndecodeSomeCCSeal}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCCSeal.tex}}
-
-\newcommand{\sailsailfndecodeSomeCToPtrv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCToPtrv.tex}}
-
-\newcommand{\sailsailfndecodeSomeCFromPtrv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCFromPtrv.tex}}
-
-\newcommand{\sailfndecodeSomeCSub}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCSub.tex}}
-
-\newcommand{\sailsailfndecodeSomeCMOVXv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCMOVXv.tex}}
-
-\newcommand{\sailsailsailfndecodeSomeCMOVXvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailfndecodeSomeCMOVXvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvvvvv.tex}}
-
-\newcommand{\sailfndecodeSomeCTestSubset}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCTestSubset.tex}}
-
-\newcommand{\sailfndecodeSomeCBX}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCBX.tex}}
-
-\newcommand{\sailsailfndecodeSomeCBXv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCBXv.tex}}
-
-\newcommand{\sailfndecodeSomeCBZ}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCBZ.tex}}
-
-\newcommand{\sailsailfndecodeSomeCBZv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCBZv.tex}}
-
-\newcommand{\sailsailfndecodeSomeCReturnv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCReturnv.tex}}
-
-\newcommand{\sailfndecodeSomeCCall}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCCall.tex}}
-
-\newcommand{\sailfndecodeSomeClearRegs}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeClearRegs.tex}}
-
-\newcommand{\sailsailfndecodeSomeClearRegsv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeClearRegsv.tex}}
-
-\newcommand{\sailsailsailfndecodeSomeClearRegsvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailfndecodeSomeClearRegsvv.tex}}
-
-\newcommand{\sailsailsailsailfndecodeSomeClearRegsvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailfndecodeSomeClearRegsvvv.tex}}
-
-\newcommand{\sailfndecodeSomeCIncOffsetImmediate}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCIncOffsetImmediate.tex}}
-
-\newcommand{\sailfndecodeSomeCSetBoundsImmediate}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCSetBoundsImmediate.tex}}
-
-\newcommand{\sailfndecodeSomeCLoad}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCLoad.tex}}
-
-\newcommand{\sailsailfndecodeSomeCLoadv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCLoadv.tex}}
-
-\newcommand{\sailsailsailfndecodeSomeCLoadvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailfndecodeSomeCLoadvv.tex}}
-
-\newcommand{\sailsailsailsailfndecodeSomeCLoadvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailfndecodeSomeCLoadvvv.tex}}
-
-\newcommand{\sailsailsailsailsailfndecodeSomeCLoadvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailfndecodeSomeCLoadvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailfndecodeSomeCLoadvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailfndecodeSomeCLoadvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvvvvv.tex}}
-
-\newcommand{\sailfndecodeSomeCStore}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCStore.tex}}
-
-\newcommand{\sailsailfndecodeSomeCStorev}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCStorev.tex}}
-
-\newcommand{\sailsailsailfndecodeSomeCStorevv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailfndecodeSomeCStorevv.tex}}
-
-\newcommand{\sailsailsailsailfndecodeSomeCStorevvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailfndecodeSomeCStorevvv.tex}}
-
-\newcommand{\sailsailsailsailsailfndecodeSomeCStorevvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailfndecodeSomeCStorevvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailfndecodeSomeCStorevvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailfndecodeSomeCStorevvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailfndecodeSomeCStorevvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailfndecodeSomeCStorevvvvvv.tex}}
-
-\newcommand{\sailsailsailsailsailsailsailsailfndecodeSomeCStorevvvvvvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeCStorevvvvvvv.tex}}
-
-\newcommand{\sailfndecodeSomeCSC}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCSC.tex}}
-
-\newcommand{\sailsailfndecodeSomeCSCv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCSCv.tex}}
-
-\newcommand{\sailfndecodeSomeCLC}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCLC.tex}}
-
-\newcommand{\sailsailfndecodeSomeCLCv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfndecodeSomeCLCv.tex}}
-
-\newcommand{\sailsailsailfndecodeSomeCLCvv}{ \lstinputlisting[language=sail]{sail_latex/sailsailsailfndecodeSomeCLCvv.tex}}
-
-\newcommand{\sailfndecodeSomeCtwoDumprt}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeCtwoDumprt.tex}}
-
-\newcommand{\sailfndecodeSomeRI}{ \lstinputlisting[language=sail]{sail_latex/sailfndecodeSomeRI.tex}}
-
-
-
-\newcommand{\sailfnexecuteDADDIU}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteDADDIU.tex}}
-
-\newcommand{\sailfnexecuteDADDU}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteDADDU.tex}}
-
-\newcommand{\sailfnexecuteDADDI}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteDADDI.tex}}
-
-\newcommand{\sailfnexecuteDADD}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteDADD.tex}}
-
-\newcommand{\sailfnexecuteADD}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteADD.tex}}
-
-\newcommand{\sailfnexecuteADDI}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteADDI.tex}}
-
-\newcommand{\sailfnexecuteADDU}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteADDU.tex}}
-
-\newcommand{\sailfnexecuteADDIU}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteADDIU.tex}}
-
-\newcommand{\sailfnexecuteDSUBU}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteDSUBU.tex}}
-
-\newcommand{\sailfnexecuteDSUB}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteDSUB.tex}}
-
-\newcommand{\sailfnexecuteSUB}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteSUB.tex}}
-
-\newcommand{\sailfnexecuteSUBU}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteSUBU.tex}}
-
-\newcommand{\sailfnexecuteAND}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteAND.tex}}
-
-\newcommand{\sailfnexecuteANDI}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteANDI.tex}}
-
-\newcommand{\sailfnexecuteOR}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteOR.tex}}
-
-\newcommand{\sailfnexecuteORI}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteORI.tex}}
-
-\newcommand{\sailfnexecuteNOR}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteNOR.tex}}
-
-\newcommand{\sailfnexecuteXOR}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteXOR.tex}}
-
-\newcommand{\sailfnexecuteXORI}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteXORI.tex}}
-
-\newcommand{\sailfnexecuteLUI}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteLUI.tex}}
-
-\newcommand{\sailfnexecuteDSLL}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteDSLL.tex}}
-
-\newcommand{\sailfnexecuteDSLLthreetwo}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteDSLLthreetwo.tex}}
-
-\newcommand{\sailfnexecuteDSLLV}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteDSLLV.tex}}
-
-\newcommand{\sailfnexecuteDSRA}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteDSRA.tex}}
-
-\newcommand{\sailfnexecuteDSRAthreetwo}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteDSRAthreetwo.tex}}
-
-\newcommand{\sailfnexecuteDSRAV}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteDSRAV.tex}}
-
-\newcommand{\sailfnexecuteDSRL}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteDSRL.tex}}
-
-\newcommand{\sailfnexecuteDSRLthreetwo}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteDSRLthreetwo.tex}}
-
-\newcommand{\sailfnexecuteDSRLV}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteDSRLV.tex}}
-
-\newcommand{\sailfnexecuteSLL}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteSLL.tex}}
-
-\newcommand{\sailfnexecuteSLLV}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteSLLV.tex}}
-
-\newcommand{\sailfnexecuteSRA}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteSRA.tex}}
-
-\newcommand{\sailfnexecuteSRAV}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteSRAV.tex}}
-
-\newcommand{\sailfnexecuteSRL}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteSRL.tex}}
-
-\newcommand{\sailfnexecuteSRLV}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteSRLV.tex}}
-
-\newcommand{\sailfnexecuteSLT}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteSLT.tex}}
-
-\newcommand{\sailfnexecuteSLTI}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteSLTI.tex}}
-
-\newcommand{\sailfnexecuteSLTU}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteSLTU.tex}}
-
-\newcommand{\sailfnexecuteSLTIU}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteSLTIU.tex}}
-
-\newcommand{\sailfnexecuteMOVN}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteMOVN.tex}}
-
-\newcommand{\sailfnexecuteMOVZ}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteMOVZ.tex}}
-
-\newcommand{\sailfnexecuteMFHI}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteMFHI.tex}}
-
-\newcommand{\sailfnexecuteMFLO}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteMFLO.tex}}
-
-\newcommand{\sailfnexecuteMTHI}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteMTHI.tex}}
-
-\newcommand{\sailfnexecuteMTLO}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteMTLO.tex}}
-
-\newcommand{\sailfnexecuteMUL}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteMUL.tex}}
-
-\newcommand{\sailfnexecuteMULT}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteMULT.tex}}
-
-\newcommand{\sailfnexecuteMULTU}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteMULTU.tex}}
-
-\newcommand{\sailfnexecuteDMULT}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteDMULT.tex}}
-
-\newcommand{\sailfnexecuteDMULTU}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteDMULTU.tex}}
-
-\newcommand{\sailfnexecuteMADD}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteMADD.tex}}
-
-\newcommand{\sailfnexecuteMADDU}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteMADDU.tex}}
-
-\newcommand{\sailfnexecuteMSUB}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteMSUB.tex}}
-
-\newcommand{\sailfnexecuteMSUBU}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteMSUBU.tex}}
-
-\newcommand{\sailfnexecuteDIV}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteDIV.tex}}
-
-\newcommand{\sailfnexecuteDIVU}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteDIVU.tex}}
-
-\newcommand{\sailfnexecuteDDIV}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteDDIV.tex}}
-
-\newcommand{\sailfnexecuteDDIVU}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteDDIVU.tex}}
-
-\newcommand{\sailfnexecuteJ}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteJ.tex}}
-
-\newcommand{\sailfnexecuteJAL}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteJAL.tex}}
-
-\newcommand{\sailfnexecuteJR}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteJR.tex}}
-
-\newcommand{\sailfnexecuteJALR}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteJALR.tex}}
-
-\newcommand{\sailfnexecuteBEQ}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteBEQ.tex}}
-
-\newcommand{\sailfnexecuteBCMPZ}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteBCMPZ.tex}}
-
-\newcommand{\sailfnexecuteSYSCALL}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteSYSCALL.tex}}
-
-\newcommand{\sailfnexecuteBREAK}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteBREAK.tex}}
-
-\newcommand{\sailfnexecuteWAIT}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteWAIT.tex}}
-
-\newcommand{\sailfnexecuteTRAPREG}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteTRAPREG.tex}}
-
-\newcommand{\sailfnexecuteTRAPIMM}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteTRAPIMM.tex}}
-
-\newcommand{\sailfnexecuteLoad}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteLoad.tex}}
-
-\newcommand{\sailfnexecuteStore}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteStore.tex}}
-
-\newcommand{\sailfnexecuteLWL}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteLWL.tex}}
-
-\newcommand{\sailfnexecuteLWR}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteLWR.tex}}
-
-\newcommand{\sailfnexecuteSWL}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteSWL.tex}}
-
-\newcommand{\sailfnexecuteSWR}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteSWR.tex}}
-
-\newcommand{\sailfnexecuteLDL}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteLDL.tex}}
-
-\newcommand{\sailfnexecuteLDR}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteLDR.tex}}
-
-\newcommand{\sailfnexecuteSDL}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteSDL.tex}}
-
-\newcommand{\sailfnexecuteSDR}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteSDR.tex}}
-
-\newcommand{\sailfnexecuteCACHE}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCACHE.tex}}
-
-\newcommand{\sailfnexecuteSYNC}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteSYNC.tex}}
-
-\newcommand{\sailfnexecuteMFCzero}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteMFCzero.tex}}
-
-\newcommand{\sailfnexecuteHCF}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteHCF.tex}}
-
-\newcommand{\sailfnexecuteMTCzero}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteMTCzero.tex}}
-
-\newcommand{\sailfnexecuteTLBWI}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteTLBWI.tex}}
-
-\newcommand{\sailfnexecuteTLBWR}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteTLBWR.tex}}
-
-\newcommand{\sailfnexecuteTLBR}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteTLBR.tex}}
-
-\newcommand{\sailfnexecuteTLBP}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteTLBP.tex}}
-
-\newcommand{\sailfnexecuteRDHWR}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteRDHWR.tex}}
-
-\newcommand{\sailfnexecuteERET}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteERET.tex}}
-
-\newcommand{\sailfnexecuteCGetPerm}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCGetPerm.tex}}
-
-\newcommand{\sailfnexecuteCGetType}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCGetType.tex}}
-
-\newcommand{\sailfnexecuteCGetBase}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCGetBase.tex}}
-
-\newcommand{\sailfnexecuteCGetOffset}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCGetOffset.tex}}
-
-\newcommand{\sailfnexecuteCGetLen}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCGetLen.tex}}
-
-\newcommand{\sailfnexecuteCGetTag}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCGetTag.tex}}
-
-\newcommand{\sailfnexecuteCGetSealed}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCGetSealed.tex}}
-
-\newcommand{\sailfnexecuteCGetAddr}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCGetAddr.tex}}
-
-\newcommand{\sailfnexecuteCGetPCC}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCGetPCC.tex}}
-
-\newcommand{\sailfnexecuteCGetPCCSetOffset}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCGetPCCSetOffset.tex}}
-
-\newcommand{\sailfnexecuteCGetCause}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCGetCause.tex}}
-
-\newcommand{\sailfnexecuteCSetCause}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCSetCause.tex}}
-
-\newcommand{\sailfnexecuteCReadHwr}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCReadHwr.tex}}
-
-\newcommand{\sailfnexecuteCWriteHwr}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCWriteHwr.tex}}
-
-\newcommand{\sailfnexecuteCAndPerm}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCAndPerm.tex}}
-
-\newcommand{\sailfnexecuteCToPtr}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCToPtr.tex}}
-
-\newcommand{\sailfnexecuteCSub}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCSub.tex}}
-
-\newcommand{\sailfnexecuteCPtrCmp}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCPtrCmp.tex}}
-
-\newcommand{\sailfnexecuteCIncOffset}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCIncOffset.tex}}
-
-\newcommand{\sailfnexecuteCIncOffsetImmediate}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCIncOffsetImmediate.tex}}
-
-\newcommand{\sailfnexecuteCSetOffset}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCSetOffset.tex}}
-
-\newcommand{\sailfnexecuteCSetBounds}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCSetBounds.tex}}
-
-\newcommand{\sailfnexecuteCSetBoundsImmediate}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCSetBoundsImmediate.tex}}
-
-\newcommand{\sailfnexecuteCSetBoundsExact}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCSetBoundsExact.tex}}
-
-\newcommand{\sailfnexecuteCClearTag}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCClearTag.tex}}
-
-\newcommand{\sailfnexecuteCMOVX}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCMOVX.tex}}
-
-\newcommand{\sailfnexecuteClearRegs}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteClearRegs.tex}}
-
-\newcommand{\sailfnexecuteCFromPtr}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCFromPtr.tex}}
-
-\newcommand{\sailfnexecuteCBuildCap}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCBuildCap.tex}}
-
-\newcommand{\sailfnexecuteCCopyType}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCCopyType.tex}}
-
-\newcommand{\sailfnexecuteCCheckPerm}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCCheckPerm.tex}}
-
-\newcommand{\sailfnexecuteCCheckType}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCCheckType.tex}}
-
-\newcommand{\sailfnexecuteCTestSubset}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCTestSubset.tex}}
-
-\newcommand{\sailfnexecuteCSeal}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCSeal.tex}}
-
-\newcommand{\sailfnexecuteCCSeal}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCCSeal.tex}}
-
-\newcommand{\sailfnexecuteCUnseal}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCUnseal.tex}}
-
-\newcommand{\sailfnexecuteCCall}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCCall.tex}}
-
-\newcommand{\sailsailfnexecuteCCallv}{ \lstinputlisting[language=sail]{sail_latex/sailsailfnexecuteCCallv.tex}}
-
-\newcommand{\sailfnexecuteCReturn}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCReturn.tex}}
-
-\newcommand{\sailfnexecuteCBX}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCBX.tex}}
-
-\newcommand{\sailfnexecuteCBZ}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCBZ.tex}}
-
-\newcommand{\sailfnexecuteCJALR}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCJALR.tex}}
-
-\newcommand{\sailfnexecuteCLoad}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCLoad.tex}}
-
-\newcommand{\sailfnexecuteCStore}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCStore.tex}}
-
-\newcommand{\sailfnexecuteCSC}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCSC.tex}}
-
-\newcommand{\sailfnexecuteCLC}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCLC.tex}}
-
-\newcommand{\sailfnexecuteCtwoDump}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteCtwoDump.tex}}
-
-\newcommand{\sailfnexecuteRI}{ \lstinputlisting[language=sail]{sail_latex/sailfnexecuteRI.tex}}
-
-
-
-\newcommand{\sailsupportedinstructions}{\label{zsupportedzyinstructions} \lstinputlisting[language=sail]{sail_latex/sailsupportedinstructions.tex}}
-
-\newcommand{\sailfnsupportedinstructions}{\label{zsupportedzyinstructions} \lstinputlisting[language=sail]{sail_latex/sailfnsupportedinstructions.tex}}
-
diff --git a/cheri/sail_latex/sailAccessLevel.tex b/cheri/sail_latex/sailAccessLevel.tex
deleted file mode 100644
index 9e7ad495..00000000
--- a/cheri/sail_latex/sailAccessLevel.tex
+++ /dev/null
@@ -1 +0,0 @@
-enum AccessLevel = {User, Supervisor, Kernel}
diff --git a/cheri/sail_latex/sailAccessLevelofnum.tex b/cheri/sail_latex/sailAccessLevelofnum.tex
deleted file mode 100644
index d958c3e0..00000000
--- a/cheri/sail_latex/sailAccessLevelofnum.tex
+++ /dev/null
@@ -1 +0,0 @@
-val AccessLevel_of_num : forall ('e : Int), 0 <= 'e & 'e <= 2. atom('e) -> AccessLevel
diff --git a/cheri/sail_latex/sailBitStr.tex b/cheri/sail_latex/sailBitStr.tex
deleted file mode 100644
index a0d408ab..00000000
--- a/cheri/sail_latex/sailBitStr.tex
+++ /dev/null
@@ -1 +0,0 @@
-val BitStr = "string_of_bits" : forall 'n. #\hyperref[zbits]{bits}#('n) -> string
diff --git a/cheri/sail_latex/sailCPtrCmpOp.tex b/cheri/sail_latex/sailCPtrCmpOp.tex
deleted file mode 100644
index cb0a73ae..00000000
--- a/cheri/sail_latex/sailCPtrCmpOp.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-enum CPtrCmpOp = {
- CEQ,
- CNE,
- CLT,
- CLE,
- CLTU,
- CLEU,
- CEXEQ,
- CNEXEQ
-}
diff --git a/cheri/sail_latex/sailCPtrCmpOpofnum.tex b/cheri/sail_latex/sailCPtrCmpOpofnum.tex
deleted file mode 100644
index bd6ca31c..00000000
--- a/cheri/sail_latex/sailCPtrCmpOpofnum.tex
+++ /dev/null
@@ -1 +0,0 @@
-val CPtrCmpOp_of_num : forall ('e : Int), 0 <= 'e & 'e <= 7. atom('e) -> CPtrCmpOp
diff --git a/cheri/sail_latex/sailCapCauseReg.tex b/cheri/sail_latex/sailCapCauseReg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailCapCauseReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailCapEx.tex b/cheri/sail_latex/sailCapEx.tex
deleted file mode 100644
index 636c85c9..00000000
--- a/cheri/sail_latex/sailCapEx.tex
+++ /dev/null
@@ -1,25 +0,0 @@
-enum CapEx = {
- CapEx_None,
- CapEx_LengthViolation,
- CapEx_TagViolation,
- CapEx_SealViolation,
- CapEx_TypeViolation,
- CapEx_CallTrap,
- CapEx_ReturnTrap,
- CapEx_TSSUnderFlow,
- CapEx_UserDefViolation,
- CapEx_TLBNoStoreCap,
- CapEx_InexactBounds,
- CapEx_GlobalViolation,
- CapEx_PermitExecuteViolation,
- CapEx_PermitLoadViolation,
- CapEx_PermitStoreViolation,
- CapEx_PermitLoadCapViolation,
- CapEx_PermitStoreCapViolation,
- CapEx_PermitStoreLocalCapViolation,
- CapEx_PermitSealViolation,
- CapEx_AccessSystemRegsViolation,
- CapEx_PermitCCallViolation,
- CapEx_AccessCCallIDCViolation,
- CapEx_PermitUnsealViolation
-}
diff --git a/cheri/sail_latex/sailCapExCode.tex b/cheri/sail_latex/sailCapExCode.tex
deleted file mode 100644
index 3611e1b8..00000000
--- a/cheri/sail_latex/sailCapExCode.tex
+++ /dev/null
@@ -1 +0,0 @@
-val CapExCode : CapEx -> bits(8)
diff --git a/cheri/sail_latex/sailCapExofnum.tex b/cheri/sail_latex/sailCapExofnum.tex
deleted file mode 100644
index dec981a6..00000000
--- a/cheri/sail_latex/sailCapExofnum.tex
+++ /dev/null
@@ -1 +0,0 @@
-val CapEx_of_num : forall ('e : Int), 0 <= 'e & 'e <= 22. atom('e) -> CapEx
diff --git a/cheri/sail_latex/sailCapLen.tex b/cheri/sail_latex/sailCapLen.tex
deleted file mode 100644
index 812f45ff..00000000
--- a/cheri/sail_latex/sailCapLen.tex
+++ /dev/null
@@ -1 +0,0 @@
-type CapLen = range(0, 2 ^ 65)
diff --git a/cheri/sail_latex/sailCapReg.tex b/cheri/sail_latex/sailCapReg.tex
deleted file mode 100644
index f217492a..00000000
--- a/cheri/sail_latex/sailCapReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-type CapReg = #\hyperref[zbits]{bits}#(257)
diff --git a/cheri/sail_latex/sailCapStruct.tex b/cheri/sail_latex/sailCapStruct.tex
deleted file mode 100644
index 4b9a3386..00000000
--- a/cheri/sail_latex/sailCapStruct.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-struct CapStruct = {
- tag : bool ,
- padding : #\hyperref[zbits]{bits}#(8) ,
- otype : #\hyperref[zbits]{bits}#(24),
- uperms : #\hyperref[zbits]{bits}#(16),
- perm_reserved11_14 : #\hyperref[zbits]{bits}#(4) ,
- access_system_regs : bool ,
- permit_unseal : bool ,
- permit_ccall : bool ,
- permit_seal : bool ,
- permit_store_local_cap : bool ,
- permit_store_cap : bool ,
- permit_load_cap : bool ,
- permit_store : bool ,
- permit_load : bool ,
- permit_execute : bool ,
- global : bool ,
- sealed : bool ,
- address : #\hyperref[zbits]{bits}#(64),
- base : #\hyperref[zbits]{bits}#(64),
- length : #\hyperref[zbits]{bits}#(64),
-}
diff --git a/cheri/sail_latex/sailCauseReg.tex b/cheri/sail_latex/sailCauseReg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailCauseReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailClearRegSet.tex b/cheri/sail_latex/sailClearRegSet.tex
deleted file mode 100644
index c04ea7d4..00000000
--- a/cheri/sail_latex/sailClearRegSet.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-enum ClearRegSet = {
-GPLo,
-GPHi,
-CLo,
-CHi
-}
diff --git a/cheri/sail_latex/sailClearRegSetofnum.tex b/cheri/sail_latex/sailClearRegSetofnum.tex
deleted file mode 100644
index c73d36d9..00000000
--- a/cheri/sail_latex/sailClearRegSetofnum.tex
+++ /dev/null
@@ -1 +0,0 @@
-val ClearRegSet_of_num : forall ('e : Int), 0 <= 'e & 'e <= 3. atom('e) -> ClearRegSet
diff --git a/cheri/sail_latex/sailComparison.tex b/cheri/sail_latex/sailComparison.tex
deleted file mode 100644
index 083fc498..00000000
--- a/cheri/sail_latex/sailComparison.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-enum Comparison = {
- EQ, /* equal */
- NE, /* not equal */
- GE, /* signed greater than or equal */
- GEU,/* unsigned greater than or equal */
- GT, /* signed strictly greater than */
- LE, /* signed less than or equal */
- LT, /* signed strictly less than */
- LTU /* unsigned less than or qual */
-}
diff --git a/cheri/sail_latex/sailComparisonofnum.tex b/cheri/sail_latex/sailComparisonofnum.tex
deleted file mode 100644
index 02c9c48e..00000000
--- a/cheri/sail_latex/sailComparisonofnum.tex
+++ /dev/null
@@ -1 +0,0 @@
-val Comparison_of_num : forall ('e : Int), 0 <= 'e & 'e <= 7. atom('e) -> Comparison
diff --git a/cheri/sail_latex/sailContextReg.tex b/cheri/sail_latex/sailContextReg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailContextReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailERETHook.tex b/cheri/sail_latex/sailERETHook.tex
deleted file mode 100644
index 8eadde7b..00000000
--- a/cheri/sail_latex/sailERETHook.tex
+++ /dev/null
@@ -1 +0,0 @@
-val ERETHook : unit -> unit effect {rreg, wreg}
diff --git a/cheri/sail_latex/sailException.tex b/cheri/sail_latex/sailException.tex
deleted file mode 100644
index 800328ec..00000000
--- a/cheri/sail_latex/sailException.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-enum Exception =
-{
- Interrupt, TLBMod, TLBL, TLBS, AdEL, AdES, Sys, Bp, ResI, CpU, Ov, Tr, C2E, C2Trap,
- XTLBRefillL, XTLBRefillS, XTLBInvL, XTLBInvS, MCheck
-}
diff --git a/cheri/sail_latex/sailExceptionCode.tex b/cheri/sail_latex/sailExceptionCode.tex
deleted file mode 100644
index 395b9670..00000000
--- a/cheri/sail_latex/sailExceptionCode.tex
+++ /dev/null
@@ -1 +0,0 @@
-val ExceptionCode : Exception -> bits(5)
diff --git a/cheri/sail_latex/sailExceptionofnum.tex b/cheri/sail_latex/sailExceptionofnum.tex
deleted file mode 100644
index 394ae4e1..00000000
--- a/cheri/sail_latex/sailExceptionofnum.tex
+++ /dev/null
@@ -1 +0,0 @@
-val Exception_of_num : forall ('e : Int), 0 <= 'e & 'e <= 18. atom('e) -> Exception
diff --git a/cheri/sail_latex/sailMAX.tex b/cheri/sail_latex/sailMAX.tex
deleted file mode 100644
index 07bace3b..00000000
--- a/cheri/sail_latex/sailMAX.tex
+++ /dev/null
@@ -1 +0,0 @@
-val MAX : forall 'n. atom('n) -> atom(2 ^ 'n - 1) effect pure
diff --git a/cheri/sail_latex/sailMEMea.tex b/cheri/sail_latex/sailMEMea.tex
deleted file mode 100644
index c5225019..00000000
--- a/cheri/sail_latex/sailMEMea.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val MEMea = {lem: "MEMea"} : forall 'n.
- ( #\hyperref[zbits]{bits}#(64) , atom('n)) -> unit effect { eamem }
diff --git a/cheri/sail_latex/sailMEMeaconditional.tex b/cheri/sail_latex/sailMEMeaconditional.tex
deleted file mode 100644
index d966b986..00000000
--- a/cheri/sail_latex/sailMEMeaconditional.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val MEMea_conditional = {lem: "MEMea_conditional"} : forall 'n.
- ( #\hyperref[zbits]{bits}#(64) , atom('n)) -> unit effect { eamem }
diff --git a/cheri/sail_latex/sailMEMr.tex b/cheri/sail_latex/sailMEMr.tex
deleted file mode 100644
index 75ddc94c..00000000
--- a/cheri/sail_latex/sailMEMr.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val MEMr = {lem: "MEMr"} : forall 'n, 'n >= 0.
- ( #\hyperref[zbits]{bits}#(64) , atom('n) ) -> (#\hyperref[zbits]{bits}#(8 * 'n)) effect { rmem }
diff --git a/cheri/sail_latex/sailMEMrreserve.tex b/cheri/sail_latex/sailMEMrreserve.tex
deleted file mode 100644
index 11b4f3db..00000000
--- a/cheri/sail_latex/sailMEMrreserve.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val MEMr_reserve = {lem: "MEMr_reserve"} : forall 'n, 'n >= 0.
- ( #\hyperref[zbits]{bits}#(64) , atom('n) ) -> (#\hyperref[zbits]{bits}#(8 * 'n)) effect { rmem }
diff --git a/cheri/sail_latex/sailMEMrreservewrapper.tex b/cheri/sail_latex/sailMEMrreservewrapper.tex
deleted file mode 100644
index b12713a2..00000000
--- a/cheri/sail_latex/sailMEMrreservewrapper.tex
+++ /dev/null
@@ -1 +0,0 @@
-val MEMr_reserve_wrapper : forall 'n, 1 <= 'n <= 8 . ( #\hyperref[zbits]{bits}#(64) , atom('n) ) -> (#\hyperref[zbits]{bits}#(8 * 'n)) effect { rmem }
diff --git a/cheri/sail_latex/sailMEMrtag.tex b/cheri/sail_latex/sailMEMrtag.tex
deleted file mode 100644
index 9bcda0f4..00000000
--- a/cheri/sail_latex/sailMEMrtag.tex
+++ /dev/null
@@ -1 +0,0 @@
-val MEMr_tag = "read_tag_bool" : #\hyperref[zbits]{bits}#(64) -> bool effect { rmemt }
diff --git a/cheri/sail_latex/sailMEMrtagged.tex b/cheri/sail_latex/sailMEMrtagged.tex
deleted file mode 100644
index 92c90c7b..00000000
--- a/cheri/sail_latex/sailMEMrtagged.tex
+++ /dev/null
@@ -1 +0,0 @@
-val MEMr_tagged : #\hyperref[zbits]{bits}#(64) -> (bool, #\hyperref[zbits]{bits}#('cap_size * 8)) effect { escape, rmem, rmemt }
diff --git a/cheri/sail_latex/sailMEMrtaggedreserve.tex b/cheri/sail_latex/sailMEMrtaggedreserve.tex
deleted file mode 100644
index fb080251..00000000
--- a/cheri/sail_latex/sailMEMrtaggedreserve.tex
+++ /dev/null
@@ -1 +0,0 @@
-val MEMr_tagged_reserve : #\hyperref[zbits]{bits}#(64) -> (bool, #\hyperref[zbits]{bits}#('cap_size * 8)) effect { escape, rmem, rmemt }
diff --git a/cheri/sail_latex/sailMEMrwrapper.tex b/cheri/sail_latex/sailMEMrwrapper.tex
deleted file mode 100644
index 7c8ce2fd..00000000
--- a/cheri/sail_latex/sailMEMrwrapper.tex
+++ /dev/null
@@ -1 +0,0 @@
-val MEMr_wrapper : forall 'n, 1 <= 'n <= 8 . (#\hyperref[zbits]{bits}#(64), atom('n)) -> #\hyperref[zbits]{bits}#(8*'n) effect {rmem, rreg, wreg}
diff --git a/cheri/sail_latex/sailMEMsync.tex b/cheri/sail_latex/sailMEMsync.tex
deleted file mode 100644
index 5a66f5db..00000000
--- a/cheri/sail_latex/sailMEMsync.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val MEM_sync = {lem: "MEM_sync"} :
- unit -> unit effect { barr }
diff --git a/cheri/sail_latex/sailMEMval.tex b/cheri/sail_latex/sailMEMval.tex
deleted file mode 100644
index 67c34697..00000000
--- a/cheri/sail_latex/sailMEMval.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val MEMval = {lem: "MEMval"} : forall 'n.
- ( #\hyperref[zbits]{bits}#(64) , atom('n), #\hyperref[zbits]{bits}#(8*'n)) -> unit effect { wmv }
diff --git a/cheri/sail_latex/sailMEMvalconditional.tex b/cheri/sail_latex/sailMEMvalconditional.tex
deleted file mode 100644
index 9e0029e5..00000000
--- a/cheri/sail_latex/sailMEMvalconditional.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val MEMval_conditional = {lem: "MEMval_conditional"} : forall 'n.
- ( #\hyperref[zbits]{bits}#(64) , atom('n), #\hyperref[zbits]{bits}#(8*'n)) -> bool effect { wmv }
diff --git a/cheri/sail_latex/sailMEMwconditionalwrapper.tex b/cheri/sail_latex/sailMEMwconditionalwrapper.tex
deleted file mode 100644
index 1d7cb3e8..00000000
--- a/cheri/sail_latex/sailMEMwconditionalwrapper.tex
+++ /dev/null
@@ -1 +0,0 @@
-val MEMw_conditional_wrapper : forall 'n, 'n >= 1. (#\hyperref[zbits]{bits}#(64), atom('n), #\hyperref[zbits]{bits}#(8 * 'n)) -> bool effect {escape, wmv, wmvt, eamem}
diff --git a/cheri/sail_latex/sailMEMwtag.tex b/cheri/sail_latex/sailMEMwtag.tex
deleted file mode 100644
index 1319a340..00000000
--- a/cheri/sail_latex/sailMEMwtag.tex
+++ /dev/null
@@ -1 +0,0 @@
-val MEMw_tag = "write_tag_bool" : (#\hyperref[zbits]{bits}#(64) , bool) -> unit effect { wmvt }
diff --git a/cheri/sail_latex/sailMEMwtagged.tex b/cheri/sail_latex/sailMEMwtagged.tex
deleted file mode 100644
index 4f8fd683..00000000
--- a/cheri/sail_latex/sailMEMwtagged.tex
+++ /dev/null
@@ -1 +0,0 @@
-val MEMw_tagged : (#\hyperref[zbits]{bits}#(64), bool, #\hyperref[zbits]{bits}#('cap_size * 8)) -> unit effect { escape, eamem, wmv, wmvt }
diff --git a/cheri/sail_latex/sailMEMwtaggedconditional.tex b/cheri/sail_latex/sailMEMwtaggedconditional.tex
deleted file mode 100644
index f5ef7e17..00000000
--- a/cheri/sail_latex/sailMEMwtaggedconditional.tex
+++ /dev/null
@@ -1 +0,0 @@
-val MEMw_tagged_conditional : (#\hyperref[zbits]{bits}#(64), bool, #\hyperref[zbits]{bits}#('cap_size * 8)) -> bool effect { escape, eamem, wmv, wmvt }
diff --git a/cheri/sail_latex/sailMEMwwrapper.tex b/cheri/sail_latex/sailMEMwwrapper.tex
deleted file mode 100644
index db438818..00000000
--- a/cheri/sail_latex/sailMEMwwrapper.tex
+++ /dev/null
@@ -1 +0,0 @@
-val MEMw_wrapper : forall 'n, 'n >= 1. (#\hyperref[zbits]{bits}#(64), atom('n), #\hyperref[zbits]{bits}#(8 * 'n)) -> unit effect {escape, wmv, wmvt, wreg, eamem}
diff --git a/cheri/sail_latex/sailMIPSread.tex b/cheri/sail_latex/sailMIPSread.tex
deleted file mode 100644
index 92ca59cc..00000000
--- a/cheri/sail_latex/sailMIPSread.tex
+++ /dev/null
@@ -1 +0,0 @@
-val __MIPS_read : forall 'n, 'n >= 0. (#\hyperref[zbits]{bits}#(64), atom('n)) -> #\hyperref[zbits]{bits}#(8 * 'n) effect {rmem}
diff --git a/cheri/sail_latex/sailMIPSwrite.tex b/cheri/sail_latex/sailMIPSwrite.tex
deleted file mode 100644
index cc67fa20..00000000
--- a/cheri/sail_latex/sailMIPSwrite.tex
+++ /dev/null
@@ -1 +0,0 @@
-val __MIPS_write : forall 'n. (#\hyperref[zbits]{bits}#(64), atom('n), #\hyperref[zbits]{bits}#(8 * 'n)) -> unit effect {wmv}
diff --git a/cheri/sail_latex/sailMemAccessType.tex b/cheri/sail_latex/sailMemAccessType.tex
deleted file mode 100644
index 436b40bc..00000000
--- a/cheri/sail_latex/sailMemAccessType.tex
+++ /dev/null
@@ -1 +0,0 @@
-enum MemAccessType = {Instruction, LoadData, StoreData}
diff --git a/cheri/sail_latex/sailMemAccessTypeofnum.tex b/cheri/sail_latex/sailMemAccessTypeofnum.tex
deleted file mode 100644
index 9147f6e3..00000000
--- a/cheri/sail_latex/sailMemAccessTypeofnum.tex
+++ /dev/null
@@ -1 +0,0 @@
-val MemAccessType_of_num : forall ('e : Int), 0 <= 'e & 'e <= 2. atom('e) -> MemAccessType
diff --git a/cheri/sail_latex/sailMkCapCauseReg.tex b/cheri/sail_latex/sailMkCapCauseReg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailMkCapCauseReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailMkCauseReg.tex b/cheri/sail_latex/sailMkCauseReg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailMkCauseReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailMkContextReg.tex b/cheri/sail_latex/sailMkContextReg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailMkContextReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailMkStatusReg.tex b/cheri/sail_latex/sailMkStatusReg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailMkStatusReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailMkTLBEntry.tex b/cheri/sail_latex/sailMkTLBEntry.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailMkTLBEntry.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailMkTLBEntryHiReg.tex b/cheri/sail_latex/sailMkTLBEntryHiReg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailMkTLBEntryHiReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailMkTLBEntryLoReg.tex b/cheri/sail_latex/sailMkTLBEntryLoReg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailMkTLBEntryLoReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailMkXContextReg.tex b/cheri/sail_latex/sailMkXContextReg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailMkXContextReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailNotWordVal.tex b/cheri/sail_latex/sailNotWordVal.tex
deleted file mode 100644
index e6689c14..00000000
--- a/cheri/sail_latex/sailNotWordVal.tex
+++ /dev/null
@@ -1 +0,0 @@
-val NotWordVal : #\hyperref[zbits]{bits}#(64) -> bool effect pure
diff --git a/cheri/sail_latex/sailReadRAM.tex b/cheri/sail_latex/sailReadRAM.tex
deleted file mode 100644
index 68d629a6..00000000
--- a/cheri/sail_latex/sailReadRAM.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val __ReadRAM = "read_ram" : forall 'n 'm, 'n >= 0.
- (atom('m), atom('n), #\hyperref[zbits]{bits}#('m), #\hyperref[zbits]{bits}#('m)) -> #\hyperref[zbits]{bits}#(8 * 'n) effect {rmem}
diff --git a/cheri/sail_latex/sailSignalException.tex b/cheri/sail_latex/sailSignalException.tex
deleted file mode 100644
index 44205587..00000000
--- a/cheri/sail_latex/sailSignalException.tex
+++ /dev/null
@@ -1 +0,0 @@
-val SignalException : forall ('o : Type) . Exception -> 'o effect {escape, rreg, wreg}
diff --git a/cheri/sail_latex/sailSignalExceptionBadAddr.tex b/cheri/sail_latex/sailSignalExceptionBadAddr.tex
deleted file mode 100644
index f54e77e7..00000000
--- a/cheri/sail_latex/sailSignalExceptionBadAddr.tex
+++ /dev/null
@@ -1 +0,0 @@
-val SignalExceptionBadAddr : forall ('o : Type) . (Exception, #\hyperref[zbits]{bits}#(64)) -> 'o effect {escape, rreg, wreg}
diff --git a/cheri/sail_latex/sailSignalExceptionMIPS.tex b/cheri/sail_latex/sailSignalExceptionMIPS.tex
deleted file mode 100644
index ce88e5d6..00000000
--- a/cheri/sail_latex/sailSignalExceptionMIPS.tex
+++ /dev/null
@@ -1 +0,0 @@
-val SignalExceptionMIPS : forall ('o : Type) . (Exception, #\hyperref[zbits]{bits}#(64)) -> 'o effect {escape, rreg, wreg}
diff --git a/cheri/sail_latex/sailSignalExceptionTLB.tex b/cheri/sail_latex/sailSignalExceptionTLB.tex
deleted file mode 100644
index 08036f99..00000000
--- a/cheri/sail_latex/sailSignalExceptionTLB.tex
+++ /dev/null
@@ -1 +0,0 @@
-val SignalExceptionTLB : forall ('o : Type) . (Exception, #\hyperref[zbits]{bits}#(64)) -> 'o effect {escape, rreg, wreg}
diff --git a/cheri/sail_latex/sailStatusReg.tex b/cheri/sail_latex/sailStatusReg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailStatusReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailTLBEntry.tex b/cheri/sail_latex/sailTLBEntry.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailTLBEntry.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailTLBEntryHiReg.tex b/cheri/sail_latex/sailTLBEntryHiReg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailTLBEntryHiReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailTLBEntryLoReg.tex b/cheri/sail_latex/sailTLBEntryLoReg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailTLBEntryLoReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailTLBIndexT.tex b/cheri/sail_latex/sailTLBIndexT.tex
deleted file mode 100644
index c51bd6bb..00000000
--- a/cheri/sail_latex/sailTLBIndexT.tex
+++ /dev/null
@@ -1 +0,0 @@
-type TLBIndexT = (#\hyperref[zbits]{bits}#(6))
diff --git a/cheri/sail_latex/sailTLBTranslate.tex b/cheri/sail_latex/sailTLBTranslate.tex
deleted file mode 100644
index d09725f9..00000000
--- a/cheri/sail_latex/sailTLBTranslate.tex
+++ /dev/null
@@ -1 +0,0 @@
-val TLBTranslate : (#\hyperref[zbits]{bits}#(64), MemAccessType) -> #\hyperref[zbits]{bits}#(64) effect {rreg, wreg, escape, undef}
diff --git a/cheri/sail_latex/sailTLBTranslateC.tex b/cheri/sail_latex/sailTLBTranslateC.tex
deleted file mode 100644
index 0d99ab7e..00000000
--- a/cheri/sail_latex/sailTLBTranslateC.tex
+++ /dev/null
@@ -1 +0,0 @@
-val TLBTranslateC : (#\hyperref[zbits]{bits}#(64), MemAccessType) -> (#\hyperref[zbits]{bits}#(64), bool) effect {escape, rreg, undef, wreg}
diff --git a/cheri/sail_latex/sailTLBTranslatetwo.tex b/cheri/sail_latex/sailTLBTranslatetwo.tex
deleted file mode 100644
index 310675f4..00000000
--- a/cheri/sail_latex/sailTLBTranslatetwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-val TLBTranslate2 : (#\hyperref[zbits]{bits}#(64), MemAccessType) -> (#\hyperref[zbits]{bits}#(64), bool) effect {rreg, wreg, undef, escape}
diff --git a/cheri/sail_latex/sailTLBWriteEntry.tex b/cheri/sail_latex/sailTLBWriteEntry.tex
deleted file mode 100644
index 84d4fa70..00000000
--- a/cheri/sail_latex/sailTLBWriteEntry.tex
+++ /dev/null
@@ -1 +0,0 @@
-val TLBWriteEntry : TLBIndexT -> unit effect {rreg, wreg, escape}
diff --git a/cheri/sail_latex/sailTranslatePC.tex b/cheri/sail_latex/sailTranslatePC.tex
deleted file mode 100644
index c962c7e1..00000000
--- a/cheri/sail_latex/sailTranslatePC.tex
+++ /dev/null
@@ -1 +0,0 @@
-val TranslatePC : #\hyperref[zbits]{bits}#(64) -> #\hyperref[zbits]{bits}#(64) effect {rreg, wreg, escape, undef}
diff --git a/cheri/sail_latex/sailWordType.tex b/cheri/sail_latex/sailWordType.tex
deleted file mode 100644
index 632efe95..00000000
--- a/cheri/sail_latex/sailWordType.tex
+++ /dev/null
@@ -1 +0,0 @@
-enum WordType = { B, H, W, D}
diff --git a/cheri/sail_latex/sailWordTypeUnaligned.tex b/cheri/sail_latex/sailWordTypeUnaligned.tex
deleted file mode 100644
index 3724733e..00000000
--- a/cheri/sail_latex/sailWordTypeUnaligned.tex
+++ /dev/null
@@ -1 +0,0 @@
-enum WordTypeUnaligned = { WL, WR, DL, DR }
diff --git a/cheri/sail_latex/sailWordTypeUnalignedofnum.tex b/cheri/sail_latex/sailWordTypeUnalignedofnum.tex
deleted file mode 100644
index a36d9748..00000000
--- a/cheri/sail_latex/sailWordTypeUnalignedofnum.tex
+++ /dev/null
@@ -1 +0,0 @@
-val WordTypeUnaligned_of_num : forall ('e : Int), 0 <= 'e & 'e <= 3. atom('e) -> WordTypeUnaligned
diff --git a/cheri/sail_latex/sailWordTypeofnum.tex b/cheri/sail_latex/sailWordTypeofnum.tex
deleted file mode 100644
index 85872610..00000000
--- a/cheri/sail_latex/sailWordTypeofnum.tex
+++ /dev/null
@@ -1 +0,0 @@
-val WordType_of_num : forall ('e : Int), 0 <= 'e & 'e <= 3. atom('e) -> WordType
diff --git a/cheri/sail_latex/sailWriteRAM.tex b/cheri/sail_latex/sailWriteRAM.tex
deleted file mode 100644
index 2ed4aca2..00000000
--- a/cheri/sail_latex/sailWriteRAM.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val __WriteRAM = "write_ram" : forall 'n 'm.
- (atom('m), atom('n), #\hyperref[zbits]{bits}#('m), #\hyperref[zbits]{bits}#('m), #\hyperref[zbits]{bits}#(8 * 'n)) -> bool effect {wmv}
diff --git a/cheri/sail_latex/sailXContextReg.tex b/cheri/sail_latex/sailXContextReg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailXContextReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailabsatom.tex b/cheri/sail_latex/sailabsatom.tex
deleted file mode 100644
index 5164ef32..00000000
--- a/cheri/sail_latex/sailabsatom.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-val abs_atom = {
- smt : "abs",
- ocaml: "abs_int",
- lem: "abs_int",
- c: "abs_int",
- coq: "abs_with_eq"
-} : forall 'n. atom('n) -> {'o, 'o = #\hyperref[zabszyatom]{abs\_atom}#('n). atom('o)}
diff --git a/cheri/sail_latex/sailabsint.tex b/cheri/sail_latex/sailabsint.tex
deleted file mode 100644
index d3b67cfb..00000000
--- a/cheri/sail_latex/sailabsint.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-val abs_int = {
- smt : "abs",
- ocaml: "abs_int",
- lem: "abs_int",
- coq: "Z.abs"
-} : (int, int) -> int
diff --git a/cheri/sail_latex/sailaddatom.tex b/cheri/sail_latex/sailaddatom.tex
deleted file mode 100644
index 8b6ac810..00000000
--- a/cheri/sail_latex/sailaddatom.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val add_atom = {ocaml: "add_int", lem: "integerAdd", c: "add_int", coq: "Z.add"} : forall 'n 'm.
- (atom('n), atom('m)) -> atom('n + 'm)
diff --git a/cheri/sail_latex/sailaddbits.tex b/cheri/sail_latex/sailaddbits.tex
deleted file mode 100644
index 95f653d1..00000000
--- a/cheri/sail_latex/sailaddbits.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-val add_bits = {
- ocaml: "add_vec",
- lem: "add_vec",
- c: "add_bits",
- coq: "add_vec"
-} : forall 'n. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latex/sailaddbitsint.tex b/cheri/sail_latex/sailaddbitsint.tex
deleted file mode 100644
index ee9a8aa2..00000000
--- a/cheri/sail_latex/sailaddbitsint.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-val add_bits_int = {
- ocaml: "add_vec_int",
- lem: "add_vec_int",
- c: "add_bits_int",
- coq: "add_vec_int"
-} : forall 'n. (#\hyperref[zbits]{bits}#('n), int) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latex/sailaddint.tex b/cheri/sail_latex/sailaddint.tex
deleted file mode 100644
index 9fe5b078..00000000
--- a/cheri/sail_latex/sailaddint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val add_int = {ocaml: "add_int", lem: "integerAdd", c: "add_int", coq: "Z.add"} : (int, int) -> int
diff --git a/cheri/sail_latex/sailaddrWrapper.tex b/cheri/sail_latex/sailaddrWrapper.tex
deleted file mode 100644
index 506f9f99..00000000
--- a/cheri/sail_latex/sailaddrWrapper.tex
+++ /dev/null
@@ -1 +0,0 @@
-val addrWrapper : (#\hyperref[zbits]{bits}#(64), MemAccessType, WordType) -> #\hyperref[zbits]{bits}#(64) effect {rreg, wreg, escape}
diff --git a/cheri/sail_latex/sailaddrWrapperUnaligned.tex b/cheri/sail_latex/sailaddrWrapperUnaligned.tex
deleted file mode 100644
index bb266a52..00000000
--- a/cheri/sail_latex/sailaddrWrapperUnaligned.tex
+++ /dev/null
@@ -1 +0,0 @@
-val addrWrapperUnaligned : (#\hyperref[zbits]{bits}#(64), MemAccessType, WordTypeUnaligned) -> #\hyperref[zbits]{bits}#(64) effect {rreg, wreg, escape}
diff --git a/cheri/sail_latex/sailaddrange.tex b/cheri/sail_latex/sailaddrange.tex
deleted file mode 100644
index fbf498b1..00000000
--- a/cheri/sail_latex/sailaddrange.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val add_range = {ocaml: "add_int", lem: "integerAdd", coq: "add_range", c: "add_int"} : forall 'n 'm 'o 'p.
- (range('n, 'm), range('o, 'p)) -> range('n + 'o, 'm + 'p)
diff --git a/cheri/sail_latex/sailaddvec.tex b/cheri/sail_latex/sailaddvec.tex
deleted file mode 100644
index bb625afe..00000000
--- a/cheri/sail_latex/sailaddvec.tex
+++ /dev/null
@@ -1 +0,0 @@
-val add_vec = "add_vec" : forall 'n. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latex/sailaddvecint.tex b/cheri/sail_latex/sailaddvecint.tex
deleted file mode 100644
index 189ad4aa..00000000
--- a/cheri/sail_latex/sailaddvecint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val add_vec_int = "add_vec_int" : forall 'n. (#\hyperref[zbits]{bits}#('n), int) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latex/sailandbits.tex b/cheri/sail_latex/sailandbits.tex
deleted file mode 100644
index 8e35bd5b..00000000
--- a/cheri/sail_latex/sailandbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-val and_bits = {c:"and_bits", _: "and_vec"} : forall 'n. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latex/sailandbool.tex b/cheri/sail_latex/sailandbool.tex
deleted file mode 100644
index 926dce9f..00000000
--- a/cheri/sail_latex/sailandbool.tex
+++ /dev/null
@@ -1 +0,0 @@
-val and_bool = {coq: "andb", _: "and_bool"} : (bool, bool) -> bool
diff --git a/cheri/sail_latex/sailappend.tex b/cheri/sail_latex/sailappend.tex
deleted file mode 100644
index 56c12116..00000000
--- a/cheri/sail_latex/sailappend.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload append = {bitvector_concat} \ No newline at end of file
diff --git a/cheri/sail_latex/sailappendsixfour.tex b/cheri/sail_latex/sailappendsixfour.tex
deleted file mode 100644
index 633593b3..00000000
--- a/cheri/sail_latex/sailappendsixfour.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "append_64" : forall 'n. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#(64)) -> #\hyperref[zbits]{bits}#('n + 64)
diff --git a/cheri/sail_latex/sailbits.tex b/cheri/sail_latex/sailbits.tex
deleted file mode 100644
index 88255b5a..00000000
--- a/cheri/sail_latex/sailbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-type #\hyperref[zbits]{bits}# ('n : Int) = vector('n, dec, bit)
diff --git a/cheri/sail_latex/sailbitstobool.tex b/cheri/sail_latex/sailbitstobool.tex
deleted file mode 100644
index 17cb3483..00000000
--- a/cheri/sail_latex/sailbitstobool.tex
+++ /dev/null
@@ -1 +0,0 @@
-val cast bits_to_bool : #\hyperref[zbits]{bits}#(1) -> bool
diff --git a/cheri/sail_latex/sailbittobool.tex b/cheri/sail_latex/sailbittobool.tex
deleted file mode 100644
index 13a2dfb8..00000000
--- a/cheri/sail_latex/sailbittobool.tex
+++ /dev/null
@@ -1 +0,0 @@
-val cast bit_to_bool : bit -> bool
diff --git a/cheri/sail_latex/sailbitvectoraccess.tex b/cheri/sail_latex/sailbitvectoraccess.tex
deleted file mode 100644
index 4bb98eb8..00000000
--- a/cheri/sail_latex/sailbitvectoraccess.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-val bitvector_access = {
- ocaml: "access",
- lem: "access_vec_dec",
- coq: "access_vec_dec",
- c: "vector_access"
-} : forall ('n : Int), 'n >= 0. (#\hyperref[zbits]{bits}#('n), int) -> bit
diff --git a/cheri/sail_latex/sailbitvectorconcat.tex b/cheri/sail_latex/sailbitvectorconcat.tex
deleted file mode 100644
index afc03901..00000000
--- a/cheri/sail_latex/sailbitvectorconcat.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val bitvector_concat = {ocaml: "append", lem: "concat_vec", c: "append", coq: "concat_vec"} : forall ('n : Int) ('m : Int).
- (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('m)) -> #\hyperref[zbits]{bits}#('n + 'm)
diff --git a/cheri/sail_latex/sailbitvectorlength.tex b/cheri/sail_latex/sailbitvectorlength.tex
deleted file mode 100644
index ac601acd..00000000
--- a/cheri/sail_latex/sailbitvectorlength.tex
+++ /dev/null
@@ -1 +0,0 @@
-val bitvector_length = {coq: "length_mword", _:"length"} : forall 'n. #\hyperref[zbits]{bits}#('n) -> atom('n)
diff --git a/cheri/sail_latex/sailbitvectorupdate.tex b/cheri/sail_latex/sailbitvectorupdate.tex
deleted file mode 100644
index 6524146e..00000000
--- a/cheri/sail_latex/sailbitvectorupdate.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-val bitvector_update = {
- ocaml: "update",
- lem: "update_vec_dec",
- coq: "update_vec_dec",
- c: "vector_update"
-} : forall 'n, 'n >= 0. (#\hyperref[zbits]{bits}#('n), int, bit) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latex/sailbooltobits.tex b/cheri/sail_latex/sailbooltobits.tex
deleted file mode 100644
index 711ab763..00000000
--- a/cheri/sail_latex/sailbooltobits.tex
+++ /dev/null
@@ -1 +0,0 @@
-val cast bool_to_bits : bool -> #\hyperref[zbits]{bits}#(1)
diff --git a/cheri/sail_latex/sailcapRegToCapStruct.tex b/cheri/sail_latex/sailcapRegToCapStruct.tex
deleted file mode 100644
index bd64d554..00000000
--- a/cheri/sail_latex/sailcapRegToCapStruct.tex
+++ /dev/null
@@ -1 +0,0 @@
-val capRegToCapStruct : CapReg -> CapStruct
diff --git a/cheri/sail_latex/sailcapStructToCapReg.tex b/cheri/sail_latex/sailcapStructToCapReg.tex
deleted file mode 100644
index b5409845..00000000
--- a/cheri/sail_latex/sailcapStructToCapReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-val capStructToCapReg : CapStruct -> CapReg
diff --git a/cheri/sail_latex/sailcapStructToMemBits.tex b/cheri/sail_latex/sailcapStructToMemBits.tex
deleted file mode 100644
index 36f3a22b..00000000
--- a/cheri/sail_latex/sailcapStructToMemBits.tex
+++ /dev/null
@@ -1 +0,0 @@
-val capStructToMemBits : CapStruct -> bits(256)
diff --git a/cheri/sail_latex/sailcapStructToMemBitstwofivesix.tex b/cheri/sail_latex/sailcapStructToMemBitstwofivesix.tex
deleted file mode 100644
index dacd98f8..00000000
--- a/cheri/sail_latex/sailcapStructToMemBitstwofivesix.tex
+++ /dev/null
@@ -1 +0,0 @@
-val capStructToMemBits256 : CapStruct -> bits(256)
diff --git a/cheri/sail_latex/sailcapToString.tex b/cheri/sail_latex/sailcapToString.tex
deleted file mode 100644
index 554d4320..00000000
--- a/cheri/sail_latex/sailcapToString.tex
+++ /dev/null
@@ -1 +0,0 @@
-val capToString : CapStruct -> string effect {escape}
diff --git a/cheri/sail_latex/sailcastunitvec.tex b/cheri/sail_latex/sailcastunitvec.tex
deleted file mode 100644
index e0391ded..00000000
--- a/cheri/sail_latex/sailcastunitvec.tex
+++ /dev/null
@@ -1 +0,0 @@
-val cast cast_unit_vec : bit -> #\hyperref[zbits]{bits}#(1)
diff --git a/cheri/sail_latex/sailcheckCPtwousable.tex b/cheri/sail_latex/sailcheckCPtwousable.tex
deleted file mode 100644
index bfdca829..00000000
--- a/cheri/sail_latex/sailcheckCPtwousable.tex
+++ /dev/null
@@ -1 +0,0 @@
-val checkCP2usable : unit -> unit effect {rreg, wreg, escape}
diff --git a/cheri/sail_latex/sailcheckCPzeroAccess.tex b/cheri/sail_latex/sailcheckCPzeroAccess.tex
deleted file mode 100644
index facf1a49..00000000
--- a/cheri/sail_latex/sailcheckCPzeroAccess.tex
+++ /dev/null
@@ -1 +0,0 @@
-val checkCP0Access : unit->unit effect{escape, rreg, wreg}
diff --git a/cheri/sail_latex/sailcheckDDCPerms.tex b/cheri/sail_latex/sailcheckDDCPerms.tex
deleted file mode 100644
index f8598091..00000000
--- a/cheri/sail_latex/sailcheckDDCPerms.tex
+++ /dev/null
@@ -1 +0,0 @@
-val checkDDCPerms : (CapStruct, MemAccessType) -> unit effect {escape, rreg, wreg}
diff --git a/cheri/sail_latex/sailcompare.tex b/cheri/sail_latex/sailcompare.tex
deleted file mode 100644
index 487ee094..00000000
--- a/cheri/sail_latex/sailcompare.tex
+++ /dev/null
@@ -1 +0,0 @@
-val compare : (Comparison, #\hyperref[zbits]{bits}#(64), #\hyperref[zbits]{bits}#(64)) -> bool
diff --git a/cheri/sail_latex/sailconcatstr.tex b/cheri/sail_latex/sailconcatstr.tex
deleted file mode 100644
index 07556728..00000000
--- a/cheri/sail_latex/sailconcatstr.tex
+++ /dev/null
@@ -1 +0,0 @@
-val concat_str = {lem: "stringAppend", coq: "String.append", _: "concat_str"} : (string, string) -> string
diff --git a/cheri/sail_latex/sailcptwonextpc.tex b/cheri/sail_latex/sailcptwonextpc.tex
deleted file mode 100644
index dca02a22..00000000
--- a/cheri/sail_latex/sailcptwonextpc.tex
+++ /dev/null
@@ -1 +0,0 @@
-val cp2_next_pc: unit -> unit effect {rreg, wreg}
diff --git a/cheri/sail_latex/saildecode.tex b/cheri/sail_latex/saildecode.tex
deleted file mode 100644
index 0dc95714..00000000
--- a/cheri/sail_latex/saildecode.tex
+++ /dev/null
@@ -1 +0,0 @@
-val decode : #\hyperref[zbits]{bits}#(32) -> #\hyperref[zoption]{option}#(ast) effect pure
diff --git a/cheri/sail_latex/saildecodefailure.tex b/cheri/sail_latex/saildecodefailure.tex
deleted file mode 100644
index 454da4c5..00000000
--- a/cheri/sail_latex/saildecodefailure.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-enum decode_failure = {
- no_matching_pattern,
- unsupported_instruction,
- illegal_instruction,
- internal_error
-}
diff --git a/cheri/sail_latex/saildecodefailureofnum.tex b/cheri/sail_latex/saildecodefailureofnum.tex
deleted file mode 100644
index 318b7b9d..00000000
--- a/cheri/sail_latex/saildecodefailureofnum.tex
+++ /dev/null
@@ -1 +0,0 @@
-val decode_failure_of_num : forall ('e : Int), 0 <= 'e & 'e <= 3. atom('e) -> decode_failure
diff --git a/cheri/sail_latex/saildiv.tex b/cheri/sail_latex/saildiv.tex
deleted file mode 100644
index 58318fe9..00000000
--- a/cheri/sail_latex/saildiv.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-val div = {
- smt: "div",
- ocaml: "quotient",
- lem: "integerDiv",
- c: "tdiv_int",
- coq: "div_with_eq"
-} : forall 'n 'm. (atom('n), atom('m)) -> {'o, 'o = #\hyperref[zdiv]{div}#('n, 'm). atom('o)}
diff --git a/cheri/sail_latex/saildivint.tex b/cheri/sail_latex/saildivint.tex
deleted file mode 100644
index 34ae6121..00000000
--- a/cheri/sail_latex/saildivint.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-val div_int = {
- smt: "div",
- ocaml: "quotient",
- lem: "integerDiv",
- c: "tdiv_int",
- coq: "Z.quot"
-} : (int, int) -> int
diff --git a/cheri/sail_latex/saildumpcptwostate.tex b/cheri/sail_latex/saildumpcptwostate.tex
deleted file mode 100644
index 46ee6818..00000000
--- a/cheri/sail_latex/saildumpcptwostate.tex
+++ /dev/null
@@ -1 +0,0 @@
-val dump_cp2_state : unit -> unit effect {rreg, escape}
diff --git a/cheri/sail_latex/saileqanything.tex b/cheri/sail_latex/saileqanything.tex
deleted file mode 100644
index 9b5d3c92..00000000
--- a/cheri/sail_latex/saileqanything.tex
+++ /dev/null
@@ -1 +0,0 @@
-val eq_anything = {ocaml: "(#\hyperref[zfun]{fun}# (x, y) -> x = y)", lem: "eq", coq: "generic_eq", _:"eq_anything"} : forall ('a : Type). ('a, 'a) -> bool
diff --git a/cheri/sail_latex/saileqatom.tex b/cheri/sail_latex/saileqatom.tex
deleted file mode 100644
index 0325ab15..00000000
--- a/cheri/sail_latex/saileqatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val eq_atom = {ocaml: "eq_int", lem: "eq", c: "eq_int", coq: "Z.eqb"} : forall 'n 'm. (atom('n), atom('m)) -> bool
diff --git a/cheri/sail_latex/saileqbit.tex b/cheri/sail_latex/saileqbit.tex
deleted file mode 100644
index 205d3436..00000000
--- a/cheri/sail_latex/saileqbit.tex
+++ /dev/null
@@ -1 +0,0 @@
-val eq_bit = { lem : "eq", _ : "eq_bit" } : (bit, bit) -> bool
diff --git a/cheri/sail_latex/saileqbits.tex b/cheri/sail_latex/saileqbits.tex
deleted file mode 100644
index e78ed19a..00000000
--- a/cheri/sail_latex/saileqbits.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-val eq_bits = {
- ocaml: "eq_list",
- lem: "eq_vec",
- c: "eq_bits",
- coq: "eq_vec"
-} : forall 'n. (vector('n, dec, bit), vector('n, dec, bit)) -> bool
diff --git a/cheri/sail_latex/saileqbittwo.tex b/cheri/sail_latex/saileqbittwo.tex
deleted file mode 100644
index 59353940..00000000
--- a/cheri/sail_latex/saileqbittwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-val eq_bit2 = "eq_bit" : (bit, bit) -> bool
diff --git a/cheri/sail_latex/saileqbool.tex b/cheri/sail_latex/saileqbool.tex
deleted file mode 100644
index 4d2c346b..00000000
--- a/cheri/sail_latex/saileqbool.tex
+++ /dev/null
@@ -1 +0,0 @@
-val eq_bool = {ocaml: "eq_bool", lem: "eq", c: "eq_bool", coq: "Bool.eqb"} : (bool, bool) -> bool
diff --git a/cheri/sail_latex/saileqint.tex b/cheri/sail_latex/saileqint.tex
deleted file mode 100644
index 4c0462c1..00000000
--- a/cheri/sail_latex/saileqint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val eq_int = {ocaml: "eq_int", lem: "eq", c: "eq_int", coq: "Z.eqb"} : (int, int) -> bool
diff --git a/cheri/sail_latex/saileqrange.tex b/cheri/sail_latex/saileqrange.tex
deleted file mode 100644
index 7f1cd5f2..00000000
--- a/cheri/sail_latex/saileqrange.tex
+++ /dev/null
@@ -1 +0,0 @@
-val eq_range = {ocaml: "eq_int", lem: "eq", c: "eq_int", coq: "eq_range"} : forall 'n 'm 'o 'p. (range('n, 'm), range('o, 'p)) -> bool
diff --git a/cheri/sail_latex/sailexecute.tex b/cheri/sail_latex/sailexecute.tex
deleted file mode 100644
index 69282932..00000000
--- a/cheri/sail_latex/sailexecute.tex
+++ /dev/null
@@ -1 +0,0 @@
-val execute : ast -> unit effect {barr, eamem, escape, rmem, rmemt, rreg, undef, wmv, wmvt, wreg}
diff --git a/cheri/sail_latex/sailexecutebranch.tex b/cheri/sail_latex/sailexecutebranch.tex
deleted file mode 100644
index a4582e82..00000000
--- a/cheri/sail_latex/sailexecutebranch.tex
+++ /dev/null
@@ -1 +0,0 @@
-val execute_branch : #\hyperref[zbits]{bits}#(64) -> unit effect {wreg}
diff --git a/cheri/sail_latex/sailexecutebranchpcc.tex b/cheri/sail_latex/sailexecutebranchpcc.tex
deleted file mode 100644
index f94d4e7d..00000000
--- a/cheri/sail_latex/sailexecutebranchpcc.tex
+++ /dev/null
@@ -1 +0,0 @@
-val execute_branch_pcc : CapStruct -> unit effect {wreg}
diff --git a/cheri/sail_latex/sailextendLoad.tex b/cheri/sail_latex/sailextendLoad.tex
deleted file mode 100644
index d403c83c..00000000
--- a/cheri/sail_latex/sailextendLoad.tex
+++ /dev/null
@@ -1 +0,0 @@
-val extendLoad : forall 'sz, 'sz <= 64 . (#\hyperref[zbits]{bits}#('sz), bool) -> #\hyperref[zbits]{bits}#(64) effect pure
diff --git a/cheri/sail_latex/sailfnAccessLevelofnum.tex b/cheri/sail_latex/sailfnAccessLevelofnum.tex
deleted file mode 100644
index a8446000..00000000
--- a/cheri/sail_latex/sailfnAccessLevelofnum.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-function AccessLevel_of_num arg# = match arg# {
- 0 => User,
- 1 => Supervisor,
- _ => Kernel
-}
diff --git a/cheri/sail_latex/sailfnCPtrCmpOpofnum.tex b/cheri/sail_latex/sailfnCPtrCmpOpofnum.tex
deleted file mode 100644
index 6ab563f3..00000000
--- a/cheri/sail_latex/sailfnCPtrCmpOpofnum.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-function CPtrCmpOp_of_num arg# = match arg# {
- 0 => CEQ,
- 1 => CNE,
- 2 => CLT,
- 3 => CLE,
- 4 => CLTU,
- 5 => CLEU,
- 6 => CEXEQ,
- _ => CNEXEQ
-}
diff --git a/cheri/sail_latex/sailfnCapExCode.tex b/cheri/sail_latex/sailfnCapExCode.tex
deleted file mode 100644
index 324612a0..00000000
--- a/cheri/sail_latex/sailfnCapExCode.tex
+++ /dev/null
@@ -1,26 +0,0 @@
-function #\hyperref[zCapExCode]{CapExCode}#(ex) : CapEx -> #\hyperref[zbits]{bits}#(8)=
- match ex {
- CapEx_None => 0x00,
- CapEx_LengthViolation => 0x01,
- CapEx_TagViolation => 0x02,
- CapEx_SealViolation => 0x03,
- CapEx_TypeViolation => 0x04,
- CapEx_CallTrap => 0x05,
- CapEx_ReturnTrap => 0x06,
- CapEx_TSSUnderFlow => 0x07,
- CapEx_UserDefViolation => 0x08,
- CapEx_TLBNoStoreCap => 0x09,
- CapEx_InexactBounds => 0x0a,
- CapEx_GlobalViolation => 0x10,
- CapEx_PermitExecuteViolation => 0x11,
- CapEx_PermitLoadViolation => 0x12,
- CapEx_PermitStoreViolation => 0x13,
- CapEx_PermitLoadCapViolation => 0x14,
- CapEx_PermitStoreCapViolation => 0x15,
- CapEx_PermitStoreLocalCapViolation => 0x16,
- CapEx_PermitSealViolation => 0x17,
- CapEx_AccessSystemRegsViolation => 0x18,
- CapEx_PermitCCallViolation => 0x19,
- CapEx_AccessCCallIDCViolation => 0x1a,
- CapEx_PermitUnsealViolation => 0x1b
- }
diff --git a/cheri/sail_latex/sailfnCapExofnum.tex b/cheri/sail_latex/sailfnCapExofnum.tex
deleted file mode 100644
index 1bb6f2d1..00000000
--- a/cheri/sail_latex/sailfnCapExofnum.tex
+++ /dev/null
@@ -1,25 +0,0 @@
-function CapEx_of_num arg# = match arg# {
- 0 => CapEx_None,
- 1 => CapEx_LengthViolation,
- 2 => CapEx_TagViolation,
- 3 => CapEx_SealViolation,
- 4 => CapEx_TypeViolation,
- 5 => CapEx_CallTrap,
- 6 => CapEx_ReturnTrap,
- 7 => CapEx_TSSUnderFlow,
- 8 => CapEx_UserDefViolation,
- 9 => CapEx_TLBNoStoreCap,
- 10 => CapEx_InexactBounds,
- 11 => CapEx_GlobalViolation,
- 12 => CapEx_PermitExecuteViolation,
- 13 => CapEx_PermitLoadViolation,
- 14 => CapEx_PermitStoreViolation,
- 15 => CapEx_PermitLoadCapViolation,
- 16 => CapEx_PermitStoreCapViolation,
- 17 => CapEx_PermitStoreLocalCapViolation,
- 18 => CapEx_PermitSealViolation,
- 19 => CapEx_AccessSystemRegsViolation,
- 20 => CapEx_PermitCCallViolation,
- 21 => CapEx_AccessCCallIDCViolation,
- _ => CapEx_PermitUnsealViolation
-}
diff --git a/cheri/sail_latex/sailfnClearRegSetofnum.tex b/cheri/sail_latex/sailfnClearRegSetofnum.tex
deleted file mode 100644
index edfe64e3..00000000
--- a/cheri/sail_latex/sailfnClearRegSetofnum.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function ClearRegSet_of_num arg# = match arg# {
- 0 => GPLo,
- 1 => GPHi,
- 2 => CLo,
- _ => CHi
-}
diff --git a/cheri/sail_latex/sailfnComparisonofnum.tex b/cheri/sail_latex/sailfnComparisonofnum.tex
deleted file mode 100644
index 8ff4bfc1..00000000
--- a/cheri/sail_latex/sailfnComparisonofnum.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-function Comparison_of_num arg# = match arg# {
- 0 => EQ,
- 1 => NE,
- 2 => GE,
- 3 => GEU,
- 4 => GT,
- 5 => LE,
- 6 => LT,
- _ => LTU
-}
diff --git a/cheri/sail_latex/sailfnERETHook.tex b/cheri/sail_latex/sailfnERETHook.tex
deleted file mode 100644
index bac1f738..00000000
--- a/cheri/sail_latex/sailfnERETHook.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function #\hyperref[zERETHook]{ERETHook}#() : unit -> unit =
- {
- nextPCC = EPCC;
- delayedPCC = EPCC; /* always write delayedPCC together with nextPCC so
- that non-capability branches don't override PCC */
- }
diff --git a/cheri/sail_latex/sailfnExceptionCode.tex b/cheri/sail_latex/sailfnExceptionCode.tex
deleted file mode 100644
index b34ab2ab..00000000
--- a/cheri/sail_latex/sailfnExceptionCode.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-function #\hyperref[zExceptionCode]{ExceptionCode}# (ex) : Exception -> #\hyperref[zbits]{bits}#(5)=
- let x : #\hyperref[zbits]{bits}#(8) = match ex
- {
- Interrupt => 0x00, /* Interrupt */
- TLBMod => 0x01, /* TLB modification exception */
- TLBL => 0x02, /* TLB #\hyperref[zexception]{exception}# (load or fetch) */
- TLBS => 0x03, /* TLB #\hyperref[zexception]{exception}# (store) */
- AdEL => 0x04, /* Address #\hyperref[zerror]{error}# (load or fetch) */
- AdES => 0x05, /* Address #\hyperref[zerror]{error}# (store) */
- Sys => 0x08, /* Syscall */
- Bp => 0x09, /* Breakpoint */
- ResI => 0x0a, /* Reserved instruction */
- CpU => 0x0b, /* Coprocessor Unusable */
- Ov => 0x0c, /* Arithmetic overflow */
- Tr => 0x0d, /* Trap */
- C2E => 0x12, /* C2E coprocessor 2 exception */
- C2Trap => 0x12, /* C2Trap maps to same exception code, different vector */
- XTLBRefillL => 0x02,
- XTLBRefillS => 0x03,
- XTLBInvL => 0x02,
- XTLBInvS => 0x03,
- MCheck => 0x18
- } in x[4..0]
diff --git a/cheri/sail_latex/sailfnExceptionofnum.tex b/cheri/sail_latex/sailfnExceptionofnum.tex
deleted file mode 100644
index 0ffd2ef1..00000000
--- a/cheri/sail_latex/sailfnExceptionofnum.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-function Exception_of_num arg# = match arg# {
- 0 => Interrupt,
- 1 => TLBMod,
- 2 => TLBL,
- 3 => TLBS,
- 4 => AdEL,
- 5 => AdES,
- 6 => Sys,
- 7 => Bp,
- 8 => ResI,
- 9 => CpU,
- 10 => Ov,
- 11 => Tr,
- 12 => C2E,
- 13 => C2Trap,
- 14 => XTLBRefillL,
- 15 => XTLBRefillS,
- 16 => XTLBInvL,
- 17 => XTLBInvS,
- _ => MCheck
-}
diff --git a/cheri/sail_latex/sailfnMAX.tex b/cheri/sail_latex/sailfnMAX.tex
deleted file mode 100644
index e9a6a650..00000000
--- a/cheri/sail_latex/sailfnMAX.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zMAX]{MAX}#(n) = #\hyperref[zpowtwo]{pow2}#(n) - 1
diff --git a/cheri/sail_latex/sailfnMEMea.tex b/cheri/sail_latex/sailfnMEMea.tex
deleted file mode 100644
index 1bd08739..00000000
--- a/cheri/sail_latex/sailfnMEMea.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zMEMea]{MEMea}# (addr, size) = #\hyperref[zskipzyeamem]{skip\_eamem}#()
diff --git a/cheri/sail_latex/sailfnMEMeaconditional.tex b/cheri/sail_latex/sailfnMEMeaconditional.tex
deleted file mode 100644
index 65930634..00000000
--- a/cheri/sail_latex/sailfnMEMeaconditional.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zMEMeazyconditional]{MEMea\_conditional}# (addr, size) = #\hyperref[zskipzyeamem]{skip\_eamem}#()
diff --git a/cheri/sail_latex/sailfnMEMr.tex b/cheri/sail_latex/sailfnMEMr.tex
deleted file mode 100644
index bae85b70..00000000
--- a/cheri/sail_latex/sailfnMEMr.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zMEMr]{MEMr}# (addr, size) = #\hyperref[zzyzyMIPSzyread]{\_\_MIPS\_read}#(addr, size)
diff --git a/cheri/sail_latex/sailfnMEMrreserve.tex b/cheri/sail_latex/sailfnMEMrreserve.tex
deleted file mode 100644
index 9339f02b..00000000
--- a/cheri/sail_latex/sailfnMEMrreserve.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zMEMrzyreserve]{MEMr\_reserve}# (addr, size) = #\hyperref[zzyzyMIPSzyread]{\_\_MIPS\_read}#(addr, size)
diff --git a/cheri/sail_latex/sailfnMEMrreservewrapper.tex b/cheri/sail_latex/sailfnMEMrreservewrapper.tex
deleted file mode 100644
index fc8ea6c7..00000000
--- a/cheri/sail_latex/sailfnMEMrreservewrapper.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function #\hyperref[zMEMrzyreservezywrapper]{MEMr\_reserve\_wrapper}# (addr , size) =
- #\hyperref[zreversezyendianness]{reverse\_endianness}#(#\hyperref[zMEMrzyreserve]{MEMr\_reserve}#(addr, size))
diff --git a/cheri/sail_latex/sailfnMEMrtagged.tex b/cheri/sail_latex/sailfnMEMrtagged.tex
deleted file mode 100644
index 8c338860..00000000
--- a/cheri/sail_latex/sailfnMEMrtagged.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-function #\hyperref[zMEMrzytagged]{MEMr\_tagged}# (addr) =
-{
- /* assumes addr is cap. aligned */
- assert(#\hyperref[zunsigned]{unsigned}#(addr) % cap_size == 0);
- let tag = #\hyperref[zMEMrzytag]{MEMr\_tag}#(addr) in
- let data = #\hyperref[zMEMr]{MEMr}#(addr, cap_size) in
- (tag, #\hyperref[zreversezyendianness]{reverse\_endianness}#(data))
-}
diff --git a/cheri/sail_latex/sailfnMEMrtaggedreserve.tex b/cheri/sail_latex/sailfnMEMrtaggedreserve.tex
deleted file mode 100644
index 2605592a..00000000
--- a/cheri/sail_latex/sailfnMEMrtaggedreserve.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-function #\hyperref[zMEMrzytaggedzyreserve]{MEMr\_tagged\_reserve}# (addr) =
-{
- /* assumes addr is cap. aligned */
- assert(#\hyperref[zunsigned]{unsigned}#(addr) % cap_size == 0);
- let tag = #\hyperref[zMEMrzytag]{MEMr\_tag}#(addr) in
- let data = #\hyperref[zMEMrzyreserve]{MEMr\_reserve}#(addr, cap_size) in
- (tag, #\hyperref[zreversezyendianness]{reverse\_endianness}#(data))
-}
diff --git a/cheri/sail_latex/sailfnMEMrwrapper.tex b/cheri/sail_latex/sailfnMEMrwrapper.tex
deleted file mode 100644
index 68576849..00000000
--- a/cheri/sail_latex/sailfnMEMrwrapper.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-function #\hyperref[zMEMrzywrapper]{MEMr\_wrapper}# (addr, size) =
- if (addr == 0x000000007f000000) then
- {
- let rvalid = UART_RVALID in
- {
- UART_RVALID = [bitzero];
- #\hyperref[zmask]{mask}#(0x00000000 @ UART_RDATA @ rvalid @ 0b0000000 @ 0x0000)
- }
- }
- else if (addr == 0x000000007f000004) then
- #\hyperref[zmask]{mask}#(0x000000000004ffff) /* Always plenty of write space available and jtag activity */
- else
- #\hyperref[zreversezyendianness]{reverse\_endianness}#(#\hyperref[zMEMr]{MEMr}#(addr, size)) /* MEMr assumes little endian */
diff --git a/cheri/sail_latex/sailfnMEMsync.tex b/cheri/sail_latex/sailfnMEMsync.tex
deleted file mode 100644
index 5a0bc91c..00000000
--- a/cheri/sail_latex/sailfnMEMsync.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zMEMzysync]{MEM\_sync}# () = #\hyperref[zskipzybarr]{skip\_barr}#()
diff --git a/cheri/sail_latex/sailfnMEMval.tex b/cheri/sail_latex/sailfnMEMval.tex
deleted file mode 100644
index 73795344..00000000
--- a/cheri/sail_latex/sailfnMEMval.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zMEMval]{MEMval}# (addr, size, data) = #\hyperref[zzyzyMIPSzywrite]{\_\_MIPS\_write}#(addr, size, data)
diff --git a/cheri/sail_latex/sailfnMEMvalconditional.tex b/cheri/sail_latex/sailfnMEMvalconditional.tex
deleted file mode 100644
index 906bbd68..00000000
--- a/cheri/sail_latex/sailfnMEMvalconditional.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zMEMvalzyconditional]{MEMval\_conditional}# (addr, size, data) = { #\hyperref[zzyzyMIPSzywrite]{\_\_MIPS\_write}#(addr, size, data); true }
diff --git a/cheri/sail_latex/sailfnMEMwconditionalwrapper.tex b/cheri/sail_latex/sailfnMEMwconditionalwrapper.tex
deleted file mode 100644
index 04ce8389..00000000
--- a/cheri/sail_latex/sailfnMEMwconditionalwrapper.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-function #\hyperref[zMEMwzyconditionalzywrapper]{MEMw\_conditional\_wrapper}#(addr, size, data) =
- {
- /* require that writes don't cross capability #\hyperref[zboundaries]{boundaries}# (should be true due to mips alignment requirements) */
- assert((addr & cap_addr_mask) == ((addr + #\hyperref[ztozybits]{to\_bits}#(64, size - 1)) & cap_addr_mask));
- #\hyperref[zMEMeazyconditional]{MEMea\_conditional}#(addr, size);
- success = #\hyperref[zMEMvalzyconditional]{MEMval\_conditional}#(addr,size,#\hyperref[zreversezyendianness]{reverse\_endianness}#(data));
- if success then
- /* On cheri non-capability writes must clear the corresponding tag */
- #\hyperref[zMEMwzytag]{MEMw\_tag}#(addr & cap_addr_mask, false);
- success;
- }
diff --git a/cheri/sail_latex/sailfnMEMwtagged.tex b/cheri/sail_latex/sailfnMEMwtagged.tex
deleted file mode 100644
index 3b7aab53..00000000
--- a/cheri/sail_latex/sailfnMEMwtagged.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-function #\hyperref[zMEMwzytagged]{MEMw\_tagged}#(addr, tag, data) =
-{
- /* assumes addr is cap. aligned */
- assert(#\hyperref[zunsigned]{unsigned}#(addr) % cap_size == 0);
- #\hyperref[zMEMea]{MEMea}#(addr, cap_size);
- #\hyperref[zMEMval]{MEMval}#(addr, cap_size, #\hyperref[zreversezyendianness]{reverse\_endianness}#(data));
- #\hyperref[zMEMwzytag]{MEMw\_tag}#(addr, tag);
-}
diff --git a/cheri/sail_latex/sailfnMEMwtaggedconditional.tex b/cheri/sail_latex/sailfnMEMwtaggedconditional.tex
deleted file mode 100644
index 75d9efb3..00000000
--- a/cheri/sail_latex/sailfnMEMwtaggedconditional.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-function #\hyperref[zMEMwzytaggedzyconditional]{MEMw\_tagged\_conditional}#(addr, tag, data) =
-{
- /* assumes addr is cap. aligned */
- assert(#\hyperref[zunsigned]{unsigned}#(addr) % cap_size == 0);
- #\hyperref[zMEMeazyconditional]{MEMea\_conditional}#(addr, cap_size);
- success = #\hyperref[zMEMvalzyconditional]{MEMval\_conditional}#(addr, cap_size, #\hyperref[zreversezyendianness]{reverse\_endianness}#(data));
- if success then
- #\hyperref[zMEMwzytag]{MEMw\_tag}#(addr, tag);
- success;
-}
diff --git a/cheri/sail_latex/sailfnMEMwwrapper.tex b/cheri/sail_latex/sailfnMEMwwrapper.tex
deleted file mode 100644
index 6f83825c..00000000
--- a/cheri/sail_latex/sailfnMEMwwrapper.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-function #\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(addr, size, data) =
- let ledata = #\hyperref[zreversezyendianness]{reverse\_endianness}#(data) in
- if (addr == 0x000000007f000000) then
- {
- UART_WDATA = ledata[7..0];
- UART_WRITTEN = 0b1;
- }
- else
- {
- /* require that writes don't cross capability #\hyperref[zboundaries]{boundaries}# (should be true due to mips alignment requirements) */
- assert((addr & cap_addr_mask) == ((addr + #\hyperref[ztozybits]{to\_bits}#(64, size - 1)) & cap_addr_mask));
- #\hyperref[zMEMea]{MEMea}#(addr, size);
- #\hyperref[zMEMval]{MEMval}#(addr, size, ledata);
- /* On cheri non-capability writes must clear the corresponding tag*/
- #\hyperref[zMEMwzytag]{MEMw\_tag}#(addr & cap_addr_mask, false);
- }
diff --git a/cheri/sail_latex/sailfnMIPSread.tex b/cheri/sail_latex/sailfnMIPSread.tex
deleted file mode 100644
index ee937856..00000000
--- a/cheri/sail_latex/sailfnMIPSread.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zzyzyMIPSzyread]{\_\_MIPS\_read}# (addr, width) = #\hyperref[zzyzyReadRAM]{\_\_ReadRAM}#(64, width, 0x0000_0000_0000_0000, addr)
diff --git a/cheri/sail_latex/sailfnMIPSwrite.tex b/cheri/sail_latex/sailfnMIPSwrite.tex
deleted file mode 100644
index 5e81f335..00000000
--- a/cheri/sail_latex/sailfnMIPSwrite.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zzyzyMIPSzywrite]{\_\_MIPS\_write}# (addr, width, data) = let _ = #\hyperref[zzyzyWriteRAM]{\_\_WriteRAM}#(64, width, 0x0000_0000_0000_0000, addr, data) in ()
diff --git a/cheri/sail_latex/sailfnMemAccessTypeofnum.tex b/cheri/sail_latex/sailfnMemAccessTypeofnum.tex
deleted file mode 100644
index a16af4e9..00000000
--- a/cheri/sail_latex/sailfnMemAccessTypeofnum.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-function MemAccessType_of_num arg# = match arg# {
- 0 => Instruction,
- 1 => LoadData,
- _ => StoreData
-}
diff --git a/cheri/sail_latex/sailfnMkCapCauseReg.tex b/cheri/sail_latex/sailfnMkCapCauseReg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnMkCapCauseReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnMkCauseReg.tex b/cheri/sail_latex/sailfnMkCauseReg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnMkCauseReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnMkContextReg.tex b/cheri/sail_latex/sailfnMkContextReg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnMkContextReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnMkStatusReg.tex b/cheri/sail_latex/sailfnMkStatusReg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnMkStatusReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnMkTLBEntry.tex b/cheri/sail_latex/sailfnMkTLBEntry.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnMkTLBEntry.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnMkTLBEntryHiReg.tex b/cheri/sail_latex/sailfnMkTLBEntryHiReg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnMkTLBEntryHiReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnMkTLBEntryLoReg.tex b/cheri/sail_latex/sailfnMkTLBEntryLoReg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnMkTLBEntryLoReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnMkXContextReg.tex b/cheri/sail_latex/sailfnMkXContextReg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnMkXContextReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnNotWordVal.tex b/cheri/sail_latex/sailfnNotWordVal.tex
deleted file mode 100644
index b6222084..00000000
--- a/cheri/sail_latex/sailfnNotWordVal.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function #\hyperref[zNotWordVal]{NotWordVal}# (word) =
- (word[31] ^^ 32) != word[63..32]
diff --git a/cheri/sail_latex/sailfnSignalException.tex b/cheri/sail_latex/sailfnSignalException.tex
deleted file mode 100644
index a91f582e..00000000
--- a/cheri/sail_latex/sailfnSignalException.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-function #\hyperref[zSignalException]{SignalException}# (ex) =
- {
- if (#\hyperref[znot]{not}# (CP0Status.#\hyperref[zEXL]{EXL}#())) then {
- let pc = PC in
- let pcc = #\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(PCC) in
- let (success, epcc) = #\hyperref[zsetCapOffset]{setCapOffset}#(pcc, pc) in
- if (success) then
- EPCC = #\hyperref[zcapStructToCapReg]{capStructToCapReg}#(epcc)
- else
- EPCC = #\hyperref[zcapStructToCapReg]{capStructToCapReg}#(#\hyperref[zintzytozycap]{int\_to\_cap}#(#\hyperref[ztozybits]{to\_bits}#(64, #\hyperref[zgetCapBase]{getCapBase}#(pcc)) + #\hyperref[zunsigned]{unsigned}#(pc)));
- };
-
- nextPCC = KCC;
- delayedPCC = KCC; /* always write delayedPCC together with nextPCC so
- that non-capability branches don't override PCC */
- let base = #\hyperref[zgetCapBase]{getCapBase}#(#\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(KCC)) in
- #\hyperref[zSignalExceptionMIPS]{SignalExceptionMIPS}#(ex, #\hyperref[ztozybits]{to\_bits}#(64, base));
- }
diff --git a/cheri/sail_latex/sailfnSignalExceptionBadAddr.tex b/cheri/sail_latex/sailfnSignalExceptionBadAddr.tex
deleted file mode 100644
index d35ed9e8..00000000
--- a/cheri/sail_latex/sailfnSignalExceptionBadAddr.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-function #\hyperref[zSignalExceptionBadAddr]{SignalExceptionBadAddr}#(ex, badAddr) =
- {
- CP0BadVAddr = badAddr;
- #\hyperref[zSignalException]{SignalException}#(ex);
- }
diff --git a/cheri/sail_latex/sailfnSignalExceptionMIPS.tex b/cheri/sail_latex/sailfnSignalExceptionMIPS.tex
deleted file mode 100644
index 8d3f762a..00000000
--- a/cheri/sail_latex/sailfnSignalExceptionMIPS.tex
+++ /dev/null
@@ -1,39 +0,0 @@
-function #\hyperref[zSignalExceptionMIPS]{SignalExceptionMIPS}# (ex, kccBase) =
- {
- /* Only update EPC and BD if not already in EXL mode */
- if (~ (CP0Status.#\hyperref[zEXL]{EXL}#())) then
- {
- if (inBranchDelay[0]) then
- {
- CP0EPC = PC - 4;
- CP0Cause->#\hyperref[zBD]{BD}#() = 0b1;
- }
- else
- {
- CP0EPC = PC;
- CP0Cause->#\hyperref[zBD]{BD}#() = 0b0;
- }
- };
-
- /* choose an exception vector to branch to. Some are not supported
- e.g. Reset */
- vectorOffset =
- if (CP0Status.#\hyperref[zEXL]{EXL}#()) then
- 0x180 /* Always use common vector if in exception mode already */
- else if ((ex == XTLBRefillL) | (ex == XTLBRefillS)) then
- 0x080
- else if (ex == C2Trap) then
- 0x280 /* Special vector for CHERI traps */
- else
- 0x180; /* Common vector */
- vectorBase : #\hyperref[zbits]{bits}#(64) = if CP0Status.#\hyperref[zBEV]{BEV}#() then
- 0xFFFFFFFFBFC00200
- else
- 0xFFFFFFFF80000000;
- /* On CHERI we have to subtract KCC.base so that we end up at the
- right absolute vector address after indirecting via new PCC */
- nextPC = vectorBase + #\hyperref[zsignzyextend]{sign\_extend}#(vectorOffset) - kccBase;
- CP0Cause->#\hyperref[zExcCode]{ExcCode}#() = #\hyperref[zExceptionCode]{ExceptionCode}#(ex);
- CP0Status->#\hyperref[zEXL]{EXL}#() = 0b1;
- throw (#\hyperref[zISAException]{ISAException}#());
- }
diff --git a/cheri/sail_latex/sailfnSignalExceptionTLB.tex b/cheri/sail_latex/sailfnSignalExceptionTLB.tex
deleted file mode 100644
index a523d7b6..00000000
--- a/cheri/sail_latex/sailfnSignalExceptionTLB.tex
+++ /dev/null
@@ -1,9 +0,0 @@
-function #\hyperref[zSignalExceptionTLB]{SignalExceptionTLB}#(ex, badAddr) = {
- CP0BadVAddr = badAddr;
- TLBContext->#\hyperref[zBadVPNtwo]{BadVPN2}#() = (badAddr[31..13]);
- TLBXContext->#\hyperref[zXBadVPNtwo]{XBadVPN2}#()= (badAddr[39..13]);
- TLBXContext->#\hyperref[zXR]{XR}#() = (badAddr[63..62]);
- TLBEntryHi->#\hyperref[zR]{R}#() = (badAddr[63..62]);
- TLBEntryHi->#\hyperref[zVPNtwo]{VPN2}#() = (badAddr[39..13]);
- #\hyperref[zSignalException]{SignalException}#(ex);
-}
diff --git a/cheri/sail_latex/sailfnTLBTranslate.tex b/cheri/sail_latex/sailfnTLBTranslate.tex
deleted file mode 100644
index e40518c3..00000000
--- a/cheri/sail_latex/sailfnTLBTranslate.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function #\hyperref[zTLBTranslate]{TLBTranslate}# (vAddr, accessType) =
- let (addr, c) = #\hyperref[zTLBTranslateC]{TLBTranslateC}#(vAddr, accessType) in addr
diff --git a/cheri/sail_latex/sailfnTLBTranslateC.tex b/cheri/sail_latex/sailfnTLBTranslateC.tex
deleted file mode 100644
index d71c0841..00000000
--- a/cheri/sail_latex/sailfnTLBTranslateC.tex
+++ /dev/null
@@ -1,31 +0,0 @@
-function #\hyperref[zTLBTranslateC]{TLBTranslateC}# (vAddr, accessType) =
- {
- let currentAccessLevel = #\hyperref[zgetAccessLevel]{getAccessLevel}#() in
- let compat32 = (vAddr[61..31] == 0b1111111111111111111111111111111) in
- let (requiredLevel, addr) : (AccessLevel, #\hyperref[zoption]{option}#(#\hyperref[zbits]{bits}#(64))) = match (vAddr[63..62]) {
- 0b11 => match (compat32, vAddr[30..29]) { /* xkseg */
- (true, 0b11) => (Kernel, #\hyperref[zNone]{None}#() : #\hyperref[zoption]{option}#(#\hyperref[zbits]{bits}#(64))), /* kseg3 mapped 32-bit compat */
- (true, 0b10) => (Supervisor, #\hyperref[zNone]{None}#() : #\hyperref[zoption]{option}#(#\hyperref[zbits]{bits}#(64))), /* sseg mapped 32-bit compat */
- (true, 0b01) => (Kernel, #\hyperref[zSome]{Some}#(0x00000000 @ 0b000 @ vAddr[28..0])), /* kseg1 unmapped uncached 32-bit compat */
- (true, 0b00) => (Kernel, #\hyperref[zSome]{Some}#(0x00000000 @ 0b000 @ vAddr[28..0])), /* kseg0 unmapped cached 32-bit compat */
- (_, _) => (Kernel, #\hyperref[zNone]{None}#() : #\hyperref[zoption]{option}#(#\hyperref[zbits]{bits}#(64))) /* xkseg mapped */
- },
- 0b10 => (Kernel, #\hyperref[zSome]{Some}#(0b00000 @ vAddr[58..0])), /* xkphys bits 61-59 are cache #\hyperref[zmode]{mode}# (ignored) */
- 0b01 => (Supervisor, #\hyperref[zNone]{None}#() : #\hyperref[zoption]{option}#(#\hyperref[zbits]{bits}#(64))), /* xsseg - supervisor mapped */
- 0b00 => (User, #\hyperref[zNone]{None}#() : #\hyperref[zoption]{option}#(#\hyperref[zbits]{bits}#(64))) /* xuseg - user mapped */
- } in
- if #\hyperref[znot]{not}#(#\hyperref[zgrantsAccess]{grantsAccess}#(currentAccessLevel, requiredLevel)) then
- #\hyperref[zSignalExceptionBadAddr]{SignalExceptionBadAddr}#(if (accessType == StoreData) then AdES else AdEL, vAddr)
- else
- let (pa, c) : (#\hyperref[zbits]{bits}#(64), bool) = match addr {
- #\hyperref[zSome]{Some}#(a) => (a, false),
- #\hyperref[zNone]{None}#() => if ((~(compat32)) & (#\hyperref[zunsigned]{unsigned}#(vAddr[61..0]) > MAX_VA)) then
- #\hyperref[zSignalExceptionBadAddr]{SignalExceptionBadAddr}#(if (accessType == StoreData) then AdES else AdEL, vAddr)
- else
- #\hyperref[zTLBTranslatetwo]{TLBTranslate2}#(vAddr, accessType)
- }
- in if (#\hyperref[zunsigned]{unsigned}#(pa) > MAX_PA) then
- #\hyperref[zSignalExceptionBadAddr]{SignalExceptionBadAddr}#(if (accessType == StoreData) then AdES else AdEL, vAddr)
- else
- (pa, c)
- }
diff --git a/cheri/sail_latex/sailfnTLBTranslatetwo.tex b/cheri/sail_latex/sailfnTLBTranslatetwo.tex
deleted file mode 100644
index 126159f7..00000000
--- a/cheri/sail_latex/sailfnTLBTranslatetwo.tex
+++ /dev/null
@@ -1,36 +0,0 @@
-function #\hyperref[zTLBTranslatetwo]{TLBTranslate2}# (vAddr, accessType) = {
- let idx = #\hyperref[ztlbSearch]{tlbSearch}#(vAddr) in
- match idx {
- #\hyperref[zSome]{Some}#(idx) =>
- let i as atom(_) = #\hyperref[zunsigned]{unsigned}#(idx) in
- let entry = #\hyperref[zregzyderef]{reg\_deref}#(TLBEntries[i]) in
- let entryMask = entry.#\hyperref[zpagemask]{pagemask}#() in
- let 'evenOddBit : range(12,28) = match (entryMask) {
- 0x0000 => 12,
- 0x0003 => 14,
- 0x000f => 16,
- 0x003f => 18,
- 0x00ff => 20,
- 0x03ff => 22,
- 0x0fff => 24,
- 0x3fff => 26,
- 0xffff => 28,
- _ => undefined
- } in
- let isOdd = (vAddr[evenOddBit]) in
- let (caps : #\hyperref[zbits]{bits}#(1), capl : #\hyperref[zbits]{bits}#(1), pfn : #\hyperref[zbits]{bits}#(24), d : #\hyperref[zbits]{bits}#(1), v : #\hyperref[zbits]{bits}#(1)) =
- if (isOdd) then
- (entry.#\hyperref[zcapsone]{caps1}#(), entry.#\hyperref[zcaplone]{capl1}#(), entry.#\hyperref[zpfnone]{pfn1}#(), entry.#\hyperref[zdone]{d1}#(), entry.#\hyperref[zvone]{v1}#())
- else
- (entry.#\hyperref[zcapszero]{caps0}#(), entry.#\hyperref[zcaplzero]{capl0}#(), entry.#\hyperref[zpfnzero]{pfn0}#(), entry.#\hyperref[zdzero]{d0}#(), entry.#\hyperref[zvzero]{v0}#()) in
- if (~(v)) then
- #\hyperref[zSignalExceptionTLB]{SignalExceptionTLB}#(if (accessType == StoreData) then XTLBInvS else XTLBInvL, vAddr)
- else if ((accessType == StoreData) & ~(d)) then
- #\hyperref[zSignalExceptionTLB]{SignalExceptionTLB}#(TLBMod, vAddr)
- else
- let res : #\hyperref[zbits]{bits}#(64) = #\hyperref[zzzerozyextend]{zero\_extend}#(pfn[23..(evenOddBit - 12)] @ vAddr[(evenOddBit - 1) .. 0]) in
- (res, #\hyperref[zbitszytozybool]{bits\_to\_bool}#(if (accessType == StoreData) then caps else capl)),
- #\hyperref[zNone]{None}#() => #\hyperref[zSignalExceptionTLB]{SignalExceptionTLB}#(
- if (accessType == StoreData) then XTLBRefillS else XTLBRefillL, vAddr)
- }
-}
diff --git a/cheri/sail_latex/sailfnTLBWriteEntry.tex b/cheri/sail_latex/sailfnTLBWriteEntry.tex
deleted file mode 100644
index ba2762ea..00000000
--- a/cheri/sail_latex/sailfnTLBWriteEntry.tex
+++ /dev/null
@@ -1,36 +0,0 @@
-function #\hyperref[zTLBWriteEntry]{TLBWriteEntry}#(idx) = {
- pagemask = TLBPageMask;
- match pagemask {
- 0x0000 => (),
- 0x0003 => (),
- 0x000f => (),
- 0x003f => (),
- 0x00ff => (),
- 0x03ff => (),
- 0x0fff => (),
- 0x3fff => (),
- 0xffff => (),
- _ => (#\hyperref[zSignalException]{SignalException}#(MCheck))
- };
- let i as atom(_) = #\hyperref[zunsigned]{unsigned}#(idx) in
- let entry = TLBEntries[i] in {
- entry.#\hyperref[zpagemask]{pagemask}#() = pagemask;
- entry.#\hyperref[zr]{r}#() = TLBEntryHi.#\hyperref[zR]{R}#();
- entry.#\hyperref[zvpntwo]{vpn2}#() = TLBEntryHi.#\hyperref[zVPNtwo]{VPN2}#();
- entry.#\hyperref[zasid]{asid}#() = TLBEntryHi.#\hyperref[zASID]{ASID}#();
- entry.#\hyperref[zg]{g}#() = ((TLBEntryLo0.#\hyperref[zG]{G}#()) & (TLBEntryLo1.#\hyperref[zG]{G}#()));
- entry.#\hyperref[zvalid]{valid}#() = bitone;
- entry.#\hyperref[zcapszero]{caps0}#() = TLBEntryLo0.#\hyperref[zCapS]{CapS}#();
- entry.#\hyperref[zcaplzero]{capl0}#() = TLBEntryLo0.#\hyperref[zCapL]{CapL}#();
- entry.#\hyperref[zpfnzero]{pfn0}#() = TLBEntryLo0.#\hyperref[zPFN]{PFN}#();
- entry.#\hyperref[zczero]{c0}#() = TLBEntryLo0.#\hyperref[zC]{C}#();
- entry.#\hyperref[zdzero]{d0}#() = TLBEntryLo0.#\hyperref[zD]{D}#();
- entry.#\hyperref[zvzero]{v0}#() = TLBEntryLo0.#\hyperref[zV]{V}#();
- entry.#\hyperref[zcapsone]{caps1}#() = TLBEntryLo1.#\hyperref[zCapS]{CapS}#();
- entry.#\hyperref[zcaplone]{capl1}#() = TLBEntryLo1.#\hyperref[zCapL]{CapL}#();
- entry.#\hyperref[zpfnone]{pfn1}#() = TLBEntryLo1.#\hyperref[zPFN]{PFN}#();
- entry.#\hyperref[zcone]{c1}#() = TLBEntryLo1.#\hyperref[zC]{C}#();
- entry.#\hyperref[zdone]{d1}#() = TLBEntryLo1.#\hyperref[zD]{D}#();
- entry.#\hyperref[zvone]{v1}#() = TLBEntryLo1.#\hyperref[zV]{V}#();
- }
-}
diff --git a/cheri/sail_latex/sailfnTranslatePC.tex b/cheri/sail_latex/sailfnTranslatePC.tex
deleted file mode 100644
index 5e43ffb4..00000000
--- a/cheri/sail_latex/sailfnTranslatePC.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-function #\hyperref[zTranslatePC]{TranslatePC}# (vAddr) = {
- #\hyperref[zincrementCPzeroCount]{incrementCP0Count}#();
- let pcc = #\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(PCC);
- let base = #\hyperref[zgetCapBase]{getCapBase}#(pcc);
- let top = #\hyperref[zgetCapTop]{getCapTop}#(pcc);
- let absPC = base + #\hyperref[zunsigned]{unsigned}#(vAddr);
- if ((absPC % 4) != 0) then /* bad PC alignment */
- (#\hyperref[zSignalExceptionBadAddr]{SignalExceptionBadAddr}#(AdEL, #\hyperref[ztozybits]{to\_bits}#(64, absPC))) /* XXX absPC may be truncated */
- else if #\hyperref[znot]{not}# (pcc.tag) then
- (#\hyperref[zraisezyctwozyexceptionzynoreg]{raise\_c2\_exception\_noreg}#(CapEx_TagViolation))
- else if ((absPC + 4) > top) then
- (#\hyperref[zraisezyctwozyexceptionzynoreg]{raise\_c2\_exception\_noreg}#(CapEx_LengthViolation))
- else
- #\hyperref[zTLBTranslate]{TLBTranslate}#(#\hyperref[ztozybits]{to\_bits}#(64, absPC), Instruction) /* XXX assert absPC never gets truncated due to above check and top <= 2^64 for valid caps */
-}
diff --git a/cheri/sail_latex/sailfnWordTypeUnalignedofnum.tex b/cheri/sail_latex/sailfnWordTypeUnalignedofnum.tex
deleted file mode 100644
index 7b690587..00000000
--- a/cheri/sail_latex/sailfnWordTypeUnalignedofnum.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function WordTypeUnaligned_of_num arg# = match arg# {
- 0 => WL,
- 1 => WR,
- 2 => DL,
- _ => DR
-}
diff --git a/cheri/sail_latex/sailfnWordTypeofnum.tex b/cheri/sail_latex/sailfnWordTypeofnum.tex
deleted file mode 100644
index f431606a..00000000
--- a/cheri/sail_latex/sailfnWordTypeofnum.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function WordType_of_num arg# = match arg# {
- 0 => B,
- 1 => H,
- 2 => W,
- _ => D
-}
diff --git a/cheri/sail_latex/sailfnaddrWrapper.tex b/cheri/sail_latex/sailfnaddrWrapper.tex
deleted file mode 100644
index 6f1dd662..00000000
--- a/cheri/sail_latex/sailfnaddrWrapper.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-function #\hyperref[zaddrWrapper]{addrWrapper}#(addr, accessType, width) =
- {
- ddc = #\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(DDC);
- #\hyperref[zcheckDDCPerms]{checkDDCPerms}#(ddc, accessType);
- cursor = #\hyperref[zgetCapCursor]{getCapCursor}#(ddc);
- vAddr = (cursor + #\hyperref[zunsigned]{unsigned}#(addr)) % #\hyperref[zpowtwo]{pow2}#(64);
- size = #\hyperref[zwordWidthBytes]{wordWidthBytes}#(width);
- base = #\hyperref[zgetCapBase]{getCapBase}#(ddc);
- top = #\hyperref[zgetCapTop]{getCapTop}#(ddc);
- if ((vAddr + size) > top) then
- (#\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, 0b00000))
- else if (vAddr < base) then
- (#\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, 0b00000))
- else
- #\hyperref[ztozybits]{to\_bits}#(64, vAddr);
- }
diff --git a/cheri/sail_latex/sailfnaddrWrapperUnaligned.tex b/cheri/sail_latex/sailfnaddrWrapperUnaligned.tex
deleted file mode 100644
index 47567f7e..00000000
--- a/cheri/sail_latex/sailfnaddrWrapperUnaligned.tex
+++ /dev/null
@@ -1,24 +0,0 @@
-function #\hyperref[zaddrWrapperUnaligned]{addrWrapperUnaligned}#(addr, accessType, width) =
- {
- ddc = #\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(DDC);
- #\hyperref[zcheckDDCPerms]{checkDDCPerms}#(ddc, accessType);
- cursor = #\hyperref[zgetCapCursor]{getCapCursor}#(ddc);
- vAddr = (cursor + #\hyperref[zunsigned]{unsigned}#(addr)) % #\hyperref[zpowtwo]{pow2}#(64);
- woffset = vAddr % 4;
- doffset = vAddr % 8;
- /* Compute the address and size of the bytes touched -- this depends on alignment. */
- let (waddr, size) : (int, int) = match width {
- WL => (vAddr, 4 - woffset),
- WR => (vAddr - woffset, woffset + 1),
- DL => (vAddr, 8 - doffset),
- DR => (vAddr - doffset, doffset + 1)
- };
- base = #\hyperref[zgetCapBase]{getCapBase}#(ddc);
- top = #\hyperref[zgetCapTop]{getCapTop}#(ddc);
- if ((waddr + size) > top) then
- (#\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, 0b00000))
- else if (waddr < base) then
- (#\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, 0b00000))
- else
- #\hyperref[ztozybits]{to\_bits}#(64, vAddr);
- }
diff --git a/cheri/sail_latex/sailfnbitstobool.tex b/cheri/sail_latex/sailfnbitstobool.tex
deleted file mode 100644
index 1cb33076..00000000
--- a/cheri/sail_latex/sailfnbitstobool.tex
+++ /dev/null
@@ -1 +0,0 @@
-function bits_to_bool x = #\hyperref[zbitzytozybool]{bit\_to\_bool}#(x[0])
diff --git a/cheri/sail_latex/sailfnbittobool.tex b/cheri/sail_latex/sailfnbittobool.tex
deleted file mode 100644
index a5eea578..00000000
--- a/cheri/sail_latex/sailfnbittobool.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function bit_to_bool b = match b {
- bitone => true,
- _ => false
-}
diff --git a/cheri/sail_latex/sailfnbooltobits.tex b/cheri/sail_latex/sailfnbooltobits.tex
deleted file mode 100644
index 99075369..00000000
--- a/cheri/sail_latex/sailfnbooltobits.tex
+++ /dev/null
@@ -1 +0,0 @@
-function bool_to_bits x = if x then 0b1 else 0b0
diff --git a/cheri/sail_latex/sailfncapRegToCapStruct.tex b/cheri/sail_latex/sailfncapRegToCapStruct.tex
deleted file mode 100644
index 5209e9f9..00000000
--- a/cheri/sail_latex/sailfncapRegToCapStruct.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-function #\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(capReg) : CapReg -> CapStruct =
- struct {
- tag = capReg[256],
- padding = capReg[255..248],
- otype = capReg[247..224],
- uperms = capReg[223..208],
- perm_reserved11_14 = capReg[207..204],
- access_system_regs = capReg[203],
- permit_unseal = capReg[202],
- permit_ccall = capReg[201],
- permit_seal = capReg[200],
- permit_store_local_cap = capReg[199],
- permit_store_cap = capReg[198],
- permit_load_cap = capReg[197],
- permit_store = capReg[196],
- permit_load = capReg[195],
- permit_execute = capReg[194],
- global = capReg[193],
- sealed = capReg[192],
- address = capReg[191..128],
- base = capReg[127..64],
- length = capReg[63..0]
- }
diff --git a/cheri/sail_latex/sailfncapStructToCapReg.tex b/cheri/sail_latex/sailfncapStructToCapReg.tex
deleted file mode 100644
index d0828429..00000000
--- a/cheri/sail_latex/sailfncapStructToCapReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zcapStructToCapReg]{capStructToCapReg}#(cap) : CapStruct -> CapReg = cap.tag @ #\hyperref[zcapStructToMemBitstwofivesix]{capStructToMemBits256}#(cap)
diff --git a/cheri/sail_latex/sailfncapStructToMemBits.tex b/cheri/sail_latex/sailfncapStructToMemBits.tex
deleted file mode 100644
index b85816b3..00000000
--- a/cheri/sail_latex/sailfncapStructToMemBits.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function #\hyperref[zcapStructToMemBits]{capStructToMemBits}#(cap) : CapStruct -> #\hyperref[zbits]{bits}#(256)=
- #\hyperref[zcapStructToMemBitstwofivesix]{capStructToMemBits256}#(cap) ^ null_cap_bits
diff --git a/cheri/sail_latex/sailfncapStructToMemBitstwofivesix.tex b/cheri/sail_latex/sailfncapStructToMemBitstwofivesix.tex
deleted file mode 100644
index 0c775ae4..00000000
--- a/cheri/sail_latex/sailfncapStructToMemBitstwofivesix.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-function #\hyperref[zcapStructToMemBitstwofivesix]{capStructToMemBits256}#(cap) : CapStruct -> #\hyperref[zbits]{bits}#(256) =
- (
- cap.padding
- @ cap.otype
- @ #\hyperref[zgetCapPerms]{getCapPerms}#(cap)
- @ cap.sealed
- @ cap.address
- @ cap.base
- @ cap.length
- )
diff --git a/cheri/sail_latex/sailfncapToString.tex b/cheri/sail_latex/sailfncapToString.tex
deleted file mode 100644
index 2ad25883..00000000
--- a/cheri/sail_latex/sailfncapToString.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-function capToString cap = {
- #\hyperref[zskipzyescape]{skip\_escape}#(); /* because cheri128 getCapX functions contain asserts but cheri256 ones do not */
- #\hyperref[zconcatzystr]{concat\_str}#(" t:",
- #\hyperref[zconcatzystr]{concat\_str}#(if cap.tag then "1" else "0",
- #\hyperref[zconcatzystr]{concat\_str}#(" s:",
- #\hyperref[zconcatzystr]{concat\_str}#(if cap.sealed then "1" else "0",
- #\hyperref[zconcatzystr]{concat\_str}#(" perms:",
- #\hyperref[zconcatzystr]{concat\_str}#(#\hyperref[zBitStr]{BitStr}#(0b0 @ #\hyperref[zgetCapPerms]{getCapPerms}#(cap)),
- #\hyperref[zconcatzystr]{concat\_str}#(" type:",
- #\hyperref[zconcatzystr]{concat\_str}#(#\hyperref[zBitStr]{BitStr}#(cap.otype),
- #\hyperref[zconcatzystr]{concat\_str}#(" offset:",
- #\hyperref[zconcatzystr]{concat\_str}#(#\hyperref[zBitStr]{BitStr}#(#\hyperref[ztozybits]{to\_bits}#(64, #\hyperref[zgetCapOffset]{getCapOffset}#(cap))),
- #\hyperref[zconcatzystr]{concat\_str}#(" base:",
- #\hyperref[zconcatzystr]{concat\_str}#(#\hyperref[zBitStr]{BitStr}#(#\hyperref[ztozybits]{to\_bits}#(64, #\hyperref[zgetCapBase]{getCapBase}#(cap))),
- #\hyperref[zconcatzystr]{concat\_str}#(" length:", #\hyperref[zBitStr]{BitStr}#(#\hyperref[ztozybits]{to\_bits}#(64, #\hyperref[zmin]{min}#(#\hyperref[zgetCapLength]{getCapLength}#(cap), #\hyperref[zMAX]{MAX}#(64)))))))))))))))))
- }
diff --git a/cheri/sail_latex/sailfncastunitvec.tex b/cheri/sail_latex/sailfncastunitvec.tex
deleted file mode 100644
index 1bb7a9e0..00000000
--- a/cheri/sail_latex/sailfncastunitvec.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function cast_unit_vec b = match b {
- bitzero => 0b0,
- _ => 0b1
-}
diff --git a/cheri/sail_latex/sailfncheckCPtwousable.tex b/cheri/sail_latex/sailfncheckCPtwousable.tex
deleted file mode 100644
index 8e7c29d7..00000000
--- a/cheri/sail_latex/sailfncheckCPtwousable.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-function #\hyperref[zcheckCPtwousable]{checkCP2usable}# () =
- if #\hyperref[znot]{not}# (CP0Status.#\hyperref[zCU]{CU}#()[2]) then {
- CP0Cause->#\hyperref[zCE]{CE}#() = 0b10;
- #\hyperref[zSignalException]{SignalException}#(CpU);
- }
diff --git a/cheri/sail_latex/sailfncheckCPzeroAccess.tex b/cheri/sail_latex/sailfncheckCPzeroAccess.tex
deleted file mode 100644
index d63f00cf..00000000
--- a/cheri/sail_latex/sailfncheckCPzeroAccess.tex
+++ /dev/null
@@ -1,9 +0,0 @@
-function #\hyperref[zcheckCPzeroAccess]{checkCP0Access}# () =
- {
- let accessLevel = #\hyperref[zgetAccessLevel]{getAccessLevel}#() in
- if ((accessLevel != Kernel) & (~(CP0Status.#\hyperref[zCU]{CU}#()[0]))) then
- {
- CP0Cause->#\hyperref[zCE]{CE}#() = 0b00;
- #\hyperref[zSignalException]{SignalException}#(CpU);
- }
- }
diff --git a/cheri/sail_latex/sailfncheckDDCPerms.tex b/cheri/sail_latex/sailfncheckDDCPerms.tex
deleted file mode 100644
index 1675c666..00000000
--- a/cheri/sail_latex/sailfncheckDDCPerms.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-function #\hyperref[zcheckDDCPerms]{checkDDCPerms}#(ddc : CapStruct, accessType: MemAccessType) =
- {
- if (#\hyperref[znot]{not}# (ddc.tag)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, 0b00000)
- else if (ddc.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, 0b00000);
- match accessType {
- Instruction => assert(false), /* Only data accesses use DDC */
- LoadData => if (~(ddc.permit_load)) then (#\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_PermitLoadViolation, 0b00000)),
- StoreData => if (~(ddc.permit_store)) then (#\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_PermitStoreViolation, 0b00000))
- };
- }
diff --git a/cheri/sail_latex/sailfncompare.tex b/cheri/sail_latex/sailfncompare.tex
deleted file mode 100644
index f4378ba7..00000000
--- a/cheri/sail_latex/sailfncompare.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-function #\hyperref[zcompare]{compare}# (cmp, valA, valB) =
- match cmp {
- EQ => valA == valB,
- NE => valA != valB,
- GE => valA >=_s valB,
- GEU => valA >=_u valB,
- GT => valB <_s valA,
- LE => valB >=_s valA,
- LT => valA <_s valB,
- LTU => valA <_u valB
- }
diff --git a/cheri/sail_latex/sailfncptwonextpc.tex b/cheri/sail_latex/sailfncptwonextpc.tex
deleted file mode 100644
index c2a9c944..00000000
--- a/cheri/sail_latex/sailfncptwonextpc.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-function #\hyperref[zcptwozynextzypc]{cp2\_next\_pc}# () = {
- PCC = nextPCC;
- if inBranchDelay then {
- nextPCC = delayedPCC;
- } else {
- inCCallDelay = 0b0;
- };
-}
diff --git a/cheri/sail_latex/sailfndecodeSome.tex b/cheri/sail_latex/sailfndecodeSome.tex
deleted file mode 100644
index 00a53489..00000000
--- a/cheri/sail_latex/sailfndecodeSome.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010000 @ 0b10000000000000000000 @ 0b000010) = #\hyperref[zSome]{Some}#(#\hyperref[zTLBWI]{TLBWI}#() : ast)
diff --git a/cheri/sail_latex/sailfndecodeSomeADD.tex b/cheri/sail_latex/sailfndecodeSomeADD.tex
deleted file mode 100644
index 4b01b543..00000000
--- a/cheri/sail_latex/sailfndecodeSomeADD.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ rd : regno @ 0b00000 @ 0b100000) =
- #\hyperref[zSome]{Some}#(#\hyperref[zADD]{ADD}#(rs, rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeADDI.tex b/cheri/sail_latex/sailfndecodeSomeADDI.tex
deleted file mode 100644
index 7706322f..00000000
--- a/cheri/sail_latex/sailfndecodeSomeADDI.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b001000 @ rs : regno @ rt : regno @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zADDI]{ADDI}#(rs, rt, imm))
diff --git a/cheri/sail_latex/sailfndecodeSomeADDIU.tex b/cheri/sail_latex/sailfndecodeSomeADDIU.tex
deleted file mode 100644
index 27972a96..00000000
--- a/cheri/sail_latex/sailfndecodeSomeADDIU.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b001001 @ rs : regno @ rt : regno @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zADDIU]{ADDIU}#(rs, rt, imm))
diff --git a/cheri/sail_latex/sailfndecodeSomeADDU.tex b/cheri/sail_latex/sailfndecodeSomeADDU.tex
deleted file mode 100644
index 259cdfc9..00000000
--- a/cheri/sail_latex/sailfndecodeSomeADDU.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ rd : regno @ 0b00000 @ 0b100001) =
- #\hyperref[zSome]{Some}#(#\hyperref[zADDU]{ADDU}#(rs, rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeAND.tex b/cheri/sail_latex/sailfndecodeSomeAND.tex
deleted file mode 100644
index ecc6f7cb..00000000
--- a/cheri/sail_latex/sailfndecodeSomeAND.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ rd : regno @ 0b00000 @ 0b100100) =
- #\hyperref[zSome]{Some}#(#\hyperref[zAND]{AND}#(rs, rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeANDI.tex b/cheri/sail_latex/sailfndecodeSomeANDI.tex
deleted file mode 100644
index fea6a112..00000000
--- a/cheri/sail_latex/sailfndecodeSomeANDI.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b001100 @ rs : regno @ rt : regno @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zANDI]{ANDI}#(rs, rt, imm))
diff --git a/cheri/sail_latex/sailfndecodeSomeBCMPZ.tex b/cheri/sail_latex/sailfndecodeSomeBCMPZ.tex
deleted file mode 100644
index 3221c8a3..00000000
--- a/cheri/sail_latex/sailfndecodeSomeBCMPZ.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000001 @ rs : regno @ 0b00000 @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zBCMPZ]{BCMPZ}#(rs, imm, LT, false, false)) /* BLTZ */
diff --git a/cheri/sail_latex/sailfndecodeSomeBEQ.tex b/cheri/sail_latex/sailfndecodeSomeBEQ.tex
deleted file mode 100644
index e520223e..00000000
--- a/cheri/sail_latex/sailfndecodeSomeBEQ.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000100 @ rs : regno @ rt : regno @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zBEQ]{BEQ}#(rs, rt, imm, false, false)) /* BEQ */
diff --git a/cheri/sail_latex/sailfndecodeSomeBREAK.tex b/cheri/sail_latex/sailfndecodeSomeBREAK.tex
deleted file mode 100644
index e4978b0a..00000000
--- a/cheri/sail_latex/sailfndecodeSomeBREAK.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ code : #\hyperref[zbits]{bits}#(20) @ 0b001101) =
- #\hyperref[zSome]{Some}#(#\hyperref[zBREAK]{BREAK}#()) /* code is ignored */
diff --git a/cheri/sail_latex/sailfndecodeSomeCACHE.tex b/cheri/sail_latex/sailfndecodeSomeCACHE.tex
deleted file mode 100644
index c9f100fe..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCACHE.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b101111 @ base : regno @ op : regno @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zCACHE]{CACHE}#(base, op, imm))
diff --git a/cheri/sail_latex/sailfndecodeSomeCAndPerm.tex b/cheri/sail_latex/sailfndecodeSomeCAndPerm.tex
deleted file mode 100644
index 04f8dbb2..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCAndPerm.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00100 @ cd : regno @ cb : regno @ rt : regno @ 0b000 @ 0b000) = #\hyperref[zSome]{Some}#(#\hyperref[zCAndPerm]{CAndPerm}#(cd, cb, rt))
diff --git a/cheri/sail_latex/sailfndecodeSomeCBX.tex b/cheri/sail_latex/sailfndecodeSomeCBX.tex
deleted file mode 100644
index f009388f..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCBX.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b01001 @ cd : regno @ imm : #\hyperref[zbits]{bits}#(16)) = #\hyperref[zSome]{Some}#(#\hyperref[zCBX]{CBX}#(cd, imm, true)) /* CBTU */
diff --git a/cheri/sail_latex/sailfndecodeSomeCBZ.tex b/cheri/sail_latex/sailfndecodeSomeCBZ.tex
deleted file mode 100644
index db46dbd2..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCBZ.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b10001 @ cd : regno @ imm : #\hyperref[zbits]{bits}#(16)) = #\hyperref[zSome]{Some}#(#\hyperref[zCBZ]{CBZ}#(cd, imm, false)) /* CBEZ */
diff --git a/cheri/sail_latex/sailfndecodeSomeCBuildCap.tex b/cheri/sail_latex/sailfndecodeSomeCBuildCap.tex
deleted file mode 100644
index c070e1be..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCBuildCap.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cd : regno @ cb : regno @ ct : regno @ 0b011101) = #\hyperref[zSome]{Some}#(#\hyperref[zCBuildCap]{CBuildCap}#(cd, cb, ct))
diff --git a/cheri/sail_latex/sailfndecodeSomeCCSeal.tex b/cheri/sail_latex/sailfndecodeSomeCCSeal.tex
deleted file mode 100644
index 4703af82..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCCSeal.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cd : regno @ cs : regno @ ct : regno @ 0b011111) = #\hyperref[zSome]{Some}#(#\hyperref[zCCSeal]{CCSeal}#(cd, cs, ct))
diff --git a/cheri/sail_latex/sailfndecodeSomeCCall.tex b/cheri/sail_latex/sailfndecodeSomeCCall.tex
deleted file mode 100644
index 32395a34..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCCall.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00101 @ cs : regno @ cb : regno @ selector : #\hyperref[zbits]{bits}#(11)) = #\hyperref[zSome]{Some}#(#\hyperref[zCCall]{CCall}#(cs, cb, selector))
diff --git a/cheri/sail_latex/sailfndecodeSomeCCheckPerm.tex b/cheri/sail_latex/sailfndecodeSomeCCheckPerm.tex
deleted file mode 100644
index 1d293316..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCCheckPerm.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b01011 @ cs : regno @ 0b00000 @ rt : regno @ 0b000@ 0b000) = #\hyperref[zSome]{Some}#(#\hyperref[zCCheckPerm]{CCheckPerm}#(cs, rt))
diff --git a/cheri/sail_latex/sailfndecodeSomeCCheckType.tex b/cheri/sail_latex/sailfndecodeSomeCCheckType.tex
deleted file mode 100644
index 85b4f5ee..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCCheckType.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b01011 @ cs : regno @ cb : regno @ 0b00000 @ 0b000@ 0b001) = #\hyperref[zSome]{Some}#(#\hyperref[zCCheckType]{CCheckType}#(cs, cb))
diff --git a/cheri/sail_latex/sailfndecodeSomeCClearTag.tex b/cheri/sail_latex/sailfndecodeSomeCClearTag.tex
deleted file mode 100644
index aad3e0e4..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCClearTag.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00100 @ cd : regno @ cb : regno @ 0b00000 @ 0b000@ 0b101) = #\hyperref[zSome]{Some}#(#\hyperref[zCClearTag]{CClearTag}#(cd, cb))
diff --git a/cheri/sail_latex/sailfndecodeSomeCCopyType.tex b/cheri/sail_latex/sailfndecodeSomeCCopyType.tex
deleted file mode 100644
index 6c7a5fb8..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCCopyType.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cd : regno @ cb : regno @ ct : regno @ 0b011110) = #\hyperref[zSome]{Some}#(#\hyperref[zCCopyType]{CCopyType}#(cd, cb, ct))
diff --git a/cheri/sail_latex/sailfndecodeSomeCFromPtr.tex b/cheri/sail_latex/sailfndecodeSomeCFromPtr.tex
deleted file mode 100644
index 9c992ac0..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCFromPtr.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00100 @ cd : regno @ cb : regno @ rt : regno @ 0b000@ 0b111) = #\hyperref[zSome]{Some}#(#\hyperref[zCFromPtr]{CFromPtr}#(cd, cb, rt))
diff --git a/cheri/sail_latex/sailfndecodeSomeCGetAddr.tex b/cheri/sail_latex/sailfndecodeSomeCGetAddr.tex
deleted file mode 100644
index 89672867..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCGetAddr.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cb : regno @ sel : regno @ 0b01111 @ 0b111111) = #\hyperref[zSome]{Some}#(#\hyperref[zCGetAddr]{CGetAddr}#(cb, sel))
diff --git a/cheri/sail_latex/sailfndecodeSomeCGetBase.tex b/cheri/sail_latex/sailfndecodeSomeCGetBase.tex
deleted file mode 100644
index 3ff0c663..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCGetBase.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00000000 @ 0b010) = #\hyperref[zSome]{Some}#(#\hyperref[zCGetBase]{CGetBase}#(rd, cb))
diff --git a/cheri/sail_latex/sailfndecodeSomeCGetCauserd.tex b/cheri/sail_latex/sailfndecodeSomeCGetCauserd.tex
deleted file mode 100644
index 4ffeb4ab..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCGetCauserd.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ 0b00000 @ 0b00000000 @ 0b100) = #\hyperref[zSome]{Some}#(#\hyperref[zCGetCause]{CGetCause}#(rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeCGetLen.tex b/cheri/sail_latex/sailfndecodeSomeCGetLen.tex
deleted file mode 100644
index 2a39bae6..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCGetLen.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00000000 @ 0b011) = #\hyperref[zSome]{Some}#(#\hyperref[zCGetLen]{CGetLen}#(rd, cb))
diff --git a/cheri/sail_latex/sailfndecodeSomeCGetOffset.tex b/cheri/sail_latex/sailfndecodeSomeCGetOffset.tex
deleted file mode 100644
index 7ac298c2..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCGetOffset.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b01101 @ rd : regno @ cb : regno @ 0b00000000 @ 0b010) = #\hyperref[zSome]{Some}#(#\hyperref[zCGetOffset]{CGetOffset}#(rd, cb)) /* NB encoding does not follow pattern */
diff --git a/cheri/sail_latex/sailfndecodeSomeCGetPCCSetOffset.tex b/cheri/sail_latex/sailfndecodeSomeCGetPCCSetOffset.tex
deleted file mode 100644
index dd92b2fd..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCGetPCCSetOffset.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cd : regno @ rs : regno @ 0b00111 @ 0b111111) = #\hyperref[zSome]{Some}#(#\hyperref[zCGetPCCSetOffset]{CGetPCCSetOffset}#(cd, rs))
diff --git a/cheri/sail_latex/sailfndecodeSomeCGetPCCcd.tex b/cheri/sail_latex/sailfndecodeSomeCGetPCCcd.tex
deleted file mode 100644
index 5357a1e4..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCGetPCCcd.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cd : regno @ 0b00000 @ 0b11111 @ 0b111111) = #\hyperref[zSome]{Some}#(#\hyperref[zCGetPCC]{CGetPCC}#(cd))
diff --git a/cheri/sail_latex/sailfndecodeSomeCGetPerm.tex b/cheri/sail_latex/sailfndecodeSomeCGetPerm.tex
deleted file mode 100644
index 0a14b6a1..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCGetPerm.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00000000 @ 0b000) = #\hyperref[zSome]{Some}#(#\hyperref[zCGetPerm]{CGetPerm}#(rd, cb))
diff --git a/cheri/sail_latex/sailfndecodeSomeCGetSealed.tex b/cheri/sail_latex/sailfndecodeSomeCGetSealed.tex
deleted file mode 100644
index c7511dfa..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCGetSealed.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00000000 @ 0b110) = #\hyperref[zSome]{Some}#(#\hyperref[zCGetSealed]{CGetSealed}#(rd, cb))
diff --git a/cheri/sail_latex/sailfndecodeSomeCGetTag.tex b/cheri/sail_latex/sailfndecodeSomeCGetTag.tex
deleted file mode 100644
index 794216a2..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCGetTag.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00000000 @ 0b101) = #\hyperref[zSome]{Some}#(#\hyperref[zCGetTag]{CGetTag}#(rd, cb))
diff --git a/cheri/sail_latex/sailfndecodeSomeCGetType.tex b/cheri/sail_latex/sailfndecodeSomeCGetType.tex
deleted file mode 100644
index 1568e5a4..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCGetType.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00000000 @ 0b001) = #\hyperref[zSome]{Some}#(#\hyperref[zCGetType]{CGetType}#(rd, cb))
diff --git a/cheri/sail_latex/sailfndecodeSomeCIncOffset.tex b/cheri/sail_latex/sailfndecodeSomeCIncOffset.tex
deleted file mode 100644
index 893e774b..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCIncOffset.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b01101 @ cd : regno @ cb : regno @ rt : regno @ 0b000 @ 0b000) = #\hyperref[zSome]{Some}#(#\hyperref[zCIncOffset]{CIncOffset}#(cd, cb, rt))
diff --git a/cheri/sail_latex/sailfndecodeSomeCIncOffsetImmediate.tex b/cheri/sail_latex/sailfndecodeSomeCIncOffsetImmediate.tex
deleted file mode 100644
index a0287341..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCIncOffsetImmediate.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b10011 @ cd : regno @ cb : regno @ imm : #\hyperref[zbits]{bits}#(11)) = #\hyperref[zSome]{Some}#(#\hyperref[zCIncOffsetImmediate]{CIncOffsetImmediate}#(cd, cb, imm))
diff --git a/cheri/sail_latex/sailfndecodeSomeCJALR.tex b/cheri/sail_latex/sailfndecodeSomeCJALR.tex
deleted file mode 100644
index 6d67580e..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCJALR.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00111 @ cd : regno @ cb : regno @ 0b00000 @ 0b000000) = #\hyperref[zSome]{Some}#(#\hyperref[zCJALR]{CJALR}#(cd, cb, true)) /* CJALR */
diff --git a/cheri/sail_latex/sailfndecodeSomeCLC.tex b/cheri/sail_latex/sailfndecodeSomeCLC.tex
deleted file mode 100644
index ee20ffd2..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCLC.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b110110 @ cd : regno @ cb : regno @ rt : regno @ offset : #\hyperref[zbits]{bits}#(11)) = #\hyperref[zSome]{Some}#(#\hyperref[zCLC]{CLC}#(cd, cb, rt, #\hyperref[zsignzyextend]{sign\_extend}#(offset), false)) /* CLC */
diff --git a/cheri/sail_latex/sailfndecodeSomeCLoad.tex b/cheri/sail_latex/sailfndecodeSomeCLoad.tex
deleted file mode 100644
index 4f0e7692..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCLoad.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b110010 @ rd : regno @ cb : regno@ rt : regno @ offset : #\hyperref[zbits]{bits}#(8) @ 0b0 @ 0b00) = #\hyperref[zSome]{Some}#(#\hyperref[zCLoad]{CLoad}#(rd, cb, rt, offset, false, B, false)) /* CLBU */
diff --git a/cheri/sail_latex/sailfndecodeSomeCMOVX.tex b/cheri/sail_latex/sailfndecodeSomeCMOVX.tex
deleted file mode 100644
index 57f4de7c..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCMOVX.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cd : regno @ cs : regno @ 0b01010 @ 0b111111) = #\hyperref[zSome]{Some}#(#\hyperref[zCMOVX]{CMOVX}#(cd, cs, 0b00000, false)) /* CMOVE */
diff --git a/cheri/sail_latex/sailfndecodeSomeCPtrCmp.tex b/cheri/sail_latex/sailfndecodeSomeCPtrCmp.tex
deleted file mode 100644
index 31f83677..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCPtrCmp.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b01110 @ rd : regno @ cb : regno @ ct : regno @ 0b000 @ 0b000) = #\hyperref[zSome]{Some}#(#\hyperref[zCPtrCmp]{CPtrCmp}#(rd, cb, ct, CEQ))
diff --git a/cheri/sail_latex/sailfndecodeSomeCReadHwr.tex b/cheri/sail_latex/sailfndecodeSomeCReadHwr.tex
deleted file mode 100644
index 0bacf907..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCReadHwr.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cd : regno @ sel : regno @ 0b01101 @ 0b111111) = #\hyperref[zSome]{Some}#(#\hyperref[zCReadHwr]{CReadHwr}#(cd, sel))
diff --git a/cheri/sail_latex/sailfndecodeSomeCReturn.tex b/cheri/sail_latex/sailfndecodeSomeCReturn.tex
deleted file mode 100644
index 9e773418..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCReturn.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00110 @ 0b000000000000000000000) = #\hyperref[zSome]{Some}#(#\hyperref[zCReturn]{CReturn}#())
diff --git a/cheri/sail_latex/sailfndecodeSomeCSC.tex b/cheri/sail_latex/sailfndecodeSomeCSC.tex
deleted file mode 100644
index 1271b654..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCSC.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b111110 @ cs : regno @ cb : regno@ rt : regno @ offset : #\hyperref[zbits]{bits}#(11)) = #\hyperref[zSome]{Some}#(#\hyperref[zCSC]{CSC}#(cs, cb, rt, 0b00000, offset, false))
diff --git a/cheri/sail_latex/sailfndecodeSomeCSeal.tex b/cheri/sail_latex/sailfndecodeSomeCSeal.tex
deleted file mode 100644
index 91cad204..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCSeal.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00010 @ cd : regno @ cs : regno @ ct : regno @ 0b000@ 0b000) = #\hyperref[zSome]{Some}#(#\hyperref[zCSeal]{CSeal}#(cd, cs, ct))
diff --git a/cheri/sail_latex/sailfndecodeSomeCSetBounds.tex b/cheri/sail_latex/sailfndecodeSomeCSetBounds.tex
deleted file mode 100644
index 0675556f..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCSetBounds.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00001 @ cd : regno @ cb : regno @ rt : regno @ 0b000000) = #\hyperref[zSome]{Some}#(#\hyperref[zCSetBounds]{CSetBounds}#(cd, cb, rt))
diff --git a/cheri/sail_latex/sailfndecodeSomeCSetBoundsExact.tex b/cheri/sail_latex/sailfndecodeSomeCSetBoundsExact.tex
deleted file mode 100644
index 39caef88..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCSetBoundsExact.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cd : regno @ cs : regno @ rt : regno @ 0b001001) = #\hyperref[zSome]{Some}#(#\hyperref[zCSetBoundsExact]{CSetBoundsExact}#(cd, cs, rt))
diff --git a/cheri/sail_latex/sailfndecodeSomeCSetBoundsImmediate.tex b/cheri/sail_latex/sailfndecodeSomeCSetBoundsImmediate.tex
deleted file mode 100644
index ce53cb78..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCSetBoundsImmediate.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b10100 @ cd : regno @ cb : regno @ imm : #\hyperref[zbits]{bits}#(11)) = #\hyperref[zSome]{Some}#(#\hyperref[zCSetBoundsImmediate]{CSetBoundsImmediate}#(cd, cb, imm))
diff --git a/cheri/sail_latex/sailfndecodeSomeCSetCausers.tex b/cheri/sail_latex/sailfndecodeSomeCSetCausers.tex
deleted file mode 100644
index a775811b..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCSetCausers.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rs : regno @ 0b00010 @ 0b11111 @ 0b111111) = #\hyperref[zSome]{Some}#(#\hyperref[zCSetCause]{CSetCause}#(rs))
diff --git a/cheri/sail_latex/sailfndecodeSomeCSetCausert.tex b/cheri/sail_latex/sailfndecodeSomeCSetCausert.tex
deleted file mode 100644
index dc995af3..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCSetCausert.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00100 @ 0b00000 @ 0b00000 @ rt : regno @ 0b000 @ 0b100) = #\hyperref[zSome]{Some}#(#\hyperref[zCSetCause]{CSetCause}#(rt))
diff --git a/cheri/sail_latex/sailfndecodeSomeCSetOffset.tex b/cheri/sail_latex/sailfndecodeSomeCSetOffset.tex
deleted file mode 100644
index f2b367c4..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCSetOffset.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b01101 @ cd : regno @ cb : regno @ rt : regno @ 0b000 @ 0b001) = #\hyperref[zSome]{Some}#(#\hyperref[zCSetOffset]{CSetOffset}#(cd, cb, rt))
diff --git a/cheri/sail_latex/sailfndecodeSomeCStore.tex b/cheri/sail_latex/sailfndecodeSomeCStore.tex
deleted file mode 100644
index e93884fc..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCStore.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b111010 @ rs : regno @ cb : regno@ rt : regno @ offset : #\hyperref[zbits]{bits}#(8) @ 0b0 @ 0b00) = #\hyperref[zSome]{Some}#(#\hyperref[zCStore]{CStore}#(rs, cb, rt, 0b00000, offset, B, false)) /* CSB */
diff --git a/cheri/sail_latex/sailfndecodeSomeCSub.tex b/cheri/sail_latex/sailfndecodeSomeCSub.tex
deleted file mode 100644
index bc2347e5..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCSub.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rt : regno @ cb : regno @ cs : regno @ 0b001010) = #\hyperref[zSome]{Some}#(#\hyperref[zCSub]{CSub}#(rt, cb, cs))
diff --git a/cheri/sail_latex/sailfndecodeSomeCTestSubset.tex b/cheri/sail_latex/sailfndecodeSomeCTestSubset.tex
deleted file mode 100644
index 1f950ad8..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCTestSubset.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ ct : regno @ 0b100000) = #\hyperref[zSome]{Some}#(#\hyperref[zCTestSubset]{CTestSubset}#(rd, cb, ct))
diff --git a/cheri/sail_latex/sailfndecodeSomeCToPtr.tex b/cheri/sail_latex/sailfndecodeSomeCToPtr.tex
deleted file mode 100644
index aac23e6c..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCToPtr.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b01100 @ rd : regno @ cb : regno @ ct : regno @ 0b000 @ 0b000) = #\hyperref[zSome]{Some}#(#\hyperref[zCToPtr]{CToPtr}#(rd, cb, ct))
diff --git a/cheri/sail_latex/sailfndecodeSomeCUnseal.tex b/cheri/sail_latex/sailfndecodeSomeCUnseal.tex
deleted file mode 100644
index 50de73da..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCUnseal.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00011 @ cd : regno @ cs : regno @ ct : regno @ 0b000@ 0b000) = #\hyperref[zSome]{Some}#(#\hyperref[zCUnseal]{CUnseal}#(cd, cs, ct))
diff --git a/cheri/sail_latex/sailfndecodeSomeCWriteHwr.tex b/cheri/sail_latex/sailfndecodeSomeCWriteHwr.tex
deleted file mode 100644
index 663fa792..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCWriteHwr.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cb : regno @ sel : regno @ 0b01110 @ 0b111111) = #\hyperref[zSome]{Some}#(#\hyperref[zCWriteHwr]{CWriteHwr}#(cb, sel))
diff --git a/cheri/sail_latex/sailfndecodeSomeClearRegs.tex b/cheri/sail_latex/sailfndecodeSomeClearRegs.tex
deleted file mode 100644
index 37c28d29..00000000
--- a/cheri/sail_latex/sailfndecodeSomeClearRegs.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b01111 @ 0b00000 @ imm : #\hyperref[zbits]{bits}#(16)) = #\hyperref[zSome]{Some}#(#\hyperref[zClearRegs]{ClearRegs}#(GPLo, imm))
diff --git a/cheri/sail_latex/sailfndecodeSomeCtwoDumprt.tex b/cheri/sail_latex/sailfndecodeSomeCtwoDumprt.tex
deleted file mode 100644
index cccfa876..00000000
--- a/cheri/sail_latex/sailfndecodeSomeCtwoDumprt.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00100 @ rt : regno @ 0x0006) = #\hyperref[zSome]{Some}#(#\hyperref[zCtwoDump]{C2Dump}#(rt))
diff --git a/cheri/sail_latex/sailfndecodeSomeDADD.tex b/cheri/sail_latex/sailfndecodeSomeDADD.tex
deleted file mode 100644
index 84d05d11..00000000
--- a/cheri/sail_latex/sailfndecodeSomeDADD.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ rd : regno @ 0b00000 @ 0b101100) =
- #\hyperref[zSome]{Some}#(#\hyperref[zDADD]{DADD}#(rs, rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeDADDI.tex b/cheri/sail_latex/sailfndecodeSomeDADDI.tex
deleted file mode 100644
index 27f4cab7..00000000
--- a/cheri/sail_latex/sailfndecodeSomeDADDI.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b011000 @ rs : regno @ rt : regno @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zDADDI]{DADDI}#(rs, rt, imm))
diff --git a/cheri/sail_latex/sailfndecodeSomeDADDIU.tex b/cheri/sail_latex/sailfndecodeSomeDADDIU.tex
deleted file mode 100644
index 66ffc405..00000000
--- a/cheri/sail_latex/sailfndecodeSomeDADDIU.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b011001 @ rs : regno @ rt : regno @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zDADDIU]{DADDIU}#(rs, rt, imm))
diff --git a/cheri/sail_latex/sailfndecodeSomeDADDU.tex b/cheri/sail_latex/sailfndecodeSomeDADDU.tex
deleted file mode 100644
index 558ebacf..00000000
--- a/cheri/sail_latex/sailfndecodeSomeDADDU.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ rd : regno @ 0b00000 @ 0b101101) =
- #\hyperref[zSome]{Some}#(#\hyperref[zDADDU]{DADDU}#(rs, rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeDDIV.tex b/cheri/sail_latex/sailfndecodeSomeDDIV.tex
deleted file mode 100644
index 7e37f87d..00000000
--- a/cheri/sail_latex/sailfndecodeSomeDDIV.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ 0b00000 @ 0b00000 @ 0b011110) =
- #\hyperref[zSome]{Some}#(#\hyperref[zDDIV]{DDIV}#(rs, rt))
diff --git a/cheri/sail_latex/sailfndecodeSomeDDIVU.tex b/cheri/sail_latex/sailfndecodeSomeDDIVU.tex
deleted file mode 100644
index b34ce40f..00000000
--- a/cheri/sail_latex/sailfndecodeSomeDDIVU.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ 0b00000 @ 0b00000 @ 0b011111) =
- #\hyperref[zSome]{Some}#(#\hyperref[zDDIVU]{DDIVU}#(rs, rt))
diff --git a/cheri/sail_latex/sailfndecodeSomeDIV.tex b/cheri/sail_latex/sailfndecodeSomeDIV.tex
deleted file mode 100644
index f9d47a4f..00000000
--- a/cheri/sail_latex/sailfndecodeSomeDIV.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ 0b00000 @ 0b00000 @ 0b011010) =
- #\hyperref[zSome]{Some}#(#\hyperref[zDIV]{DIV}#(rs, rt))
diff --git a/cheri/sail_latex/sailfndecodeSomeDIVU.tex b/cheri/sail_latex/sailfndecodeSomeDIVU.tex
deleted file mode 100644
index 0e9c1385..00000000
--- a/cheri/sail_latex/sailfndecodeSomeDIVU.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ 0b00000 @ 0b00000 @ 0b011011) =
- #\hyperref[zSome]{Some}#(#\hyperref[zDIVU]{DIVU}#(rs, rt))
diff --git a/cheri/sail_latex/sailfndecodeSomeDMULT.tex b/cheri/sail_latex/sailfndecodeSomeDMULT.tex
deleted file mode 100644
index 0d2b12b5..00000000
--- a/cheri/sail_latex/sailfndecodeSomeDMULT.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ 0b00000 @ 0b00000 @ 0b011100) =
- #\hyperref[zSome]{Some}#(#\hyperref[zDMULT]{DMULT}#(rs, rt))
diff --git a/cheri/sail_latex/sailfndecodeSomeDMULTU.tex b/cheri/sail_latex/sailfndecodeSomeDMULTU.tex
deleted file mode 100644
index 53be685e..00000000
--- a/cheri/sail_latex/sailfndecodeSomeDMULTU.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ 0b00000 @ 0b00000 @ 0b011101) =
- #\hyperref[zSome]{Some}#(#\hyperref[zDMULTU]{DMULTU}#(rs, rt))
diff --git a/cheri/sail_latex/sailfndecodeSomeDSLL.tex b/cheri/sail_latex/sailfndecodeSomeDSLL.tex
deleted file mode 100644
index 824f4937..00000000
--- a/cheri/sail_latex/sailfndecodeSomeDSLL.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ 0b00000 @ rt : regno @ rd : regno @ sa : #\hyperref[zbits]{bits}#(5) @ 0b111000) =
- #\hyperref[zSome]{Some}#(#\hyperref[zDSLL]{DSLL}#(rt, rd, sa))
diff --git a/cheri/sail_latex/sailfndecodeSomeDSLLV.tex b/cheri/sail_latex/sailfndecodeSomeDSLLV.tex
deleted file mode 100644
index 707e642c..00000000
--- a/cheri/sail_latex/sailfndecodeSomeDSLLV.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ rd : regno @ 0b00000 @ 0b010100) =
- #\hyperref[zSome]{Some}#(#\hyperref[zDSLLV]{DSLLV}#(rs, rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeDSLLthreetwo.tex b/cheri/sail_latex/sailfndecodeSomeDSLLthreetwo.tex
deleted file mode 100644
index 431ca9e7..00000000
--- a/cheri/sail_latex/sailfndecodeSomeDSLLthreetwo.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ 0b00000 @ rt : regno @ rd : regno @ sa : #\hyperref[zbits]{bits}#(5) @ 0b111100) =
- #\hyperref[zSome]{Some}#(#\hyperref[zDSLLthreetwo]{DSLL32}#(rt, rd, sa))
diff --git a/cheri/sail_latex/sailfndecodeSomeDSRA.tex b/cheri/sail_latex/sailfndecodeSomeDSRA.tex
deleted file mode 100644
index 25dfe705..00000000
--- a/cheri/sail_latex/sailfndecodeSomeDSRA.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ 0b00000 @ rt : regno @ rd : regno @ sa : #\hyperref[zbits]{bits}#(5) @ 0b111011) =
- #\hyperref[zSome]{Some}#(#\hyperref[zDSRA]{DSRA}#(rt, rd, sa))
diff --git a/cheri/sail_latex/sailfndecodeSomeDSRAV.tex b/cheri/sail_latex/sailfndecodeSomeDSRAV.tex
deleted file mode 100644
index b2b92bcb..00000000
--- a/cheri/sail_latex/sailfndecodeSomeDSRAV.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ rd : regno @ 0b00000 @ 0b010111) =
- #\hyperref[zSome]{Some}#(#\hyperref[zDSRAV]{DSRAV}#(rs, rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeDSRAthreetwo.tex b/cheri/sail_latex/sailfndecodeSomeDSRAthreetwo.tex
deleted file mode 100644
index a95f3995..00000000
--- a/cheri/sail_latex/sailfndecodeSomeDSRAthreetwo.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ 0b00000 @ rt : regno @ rd : regno @ sa : #\hyperref[zbits]{bits}#(5) @ 0b111111) =
- #\hyperref[zSome]{Some}#(#\hyperref[zDSRAthreetwo]{DSRA32}#(rt, rd, sa))
diff --git a/cheri/sail_latex/sailfndecodeSomeDSRL.tex b/cheri/sail_latex/sailfndecodeSomeDSRL.tex
deleted file mode 100644
index d13257d3..00000000
--- a/cheri/sail_latex/sailfndecodeSomeDSRL.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ 0b00000 @ rt : regno @ rd : regno @ sa : #\hyperref[zbits]{bits}#(5) @ 0b111010) =
- #\hyperref[zSome]{Some}#(#\hyperref[zDSRL]{DSRL}#(rt, rd, sa))
diff --git a/cheri/sail_latex/sailfndecodeSomeDSRLV.tex b/cheri/sail_latex/sailfndecodeSomeDSRLV.tex
deleted file mode 100644
index 626895ac..00000000
--- a/cheri/sail_latex/sailfndecodeSomeDSRLV.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ rd : regno @ 0b00000 @ 0b010110) =
- #\hyperref[zSome]{Some}#(#\hyperref[zDSRLV]{DSRLV}#(rs, rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeDSRLthreetwo.tex b/cheri/sail_latex/sailfndecodeSomeDSRLthreetwo.tex
deleted file mode 100644
index edfd4ace..00000000
--- a/cheri/sail_latex/sailfndecodeSomeDSRLthreetwo.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ 0b00000 @ rt : regno @ rd : regno @ sa : #\hyperref[zbits]{bits}#(5) @ 0b111110) =
- #\hyperref[zSome]{Some}#(#\hyperref[zDSRLthreetwo]{DSRL32}#(rt, rd, sa))
diff --git a/cheri/sail_latex/sailfndecodeSomeDSUB.tex b/cheri/sail_latex/sailfndecodeSomeDSUB.tex
deleted file mode 100644
index 0a402a4f..00000000
--- a/cheri/sail_latex/sailfndecodeSomeDSUB.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ rd : regno @ 0b00000 @ 0b101110) =
- #\hyperref[zSome]{Some}#(#\hyperref[zDSUB]{DSUB}#(rs, rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeDSUBU.tex b/cheri/sail_latex/sailfndecodeSomeDSUBU.tex
deleted file mode 100644
index 635c5d1f..00000000
--- a/cheri/sail_latex/sailfndecodeSomeDSUBU.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ rd : regno @ 0b00000 @ 0b101111) =
- #\hyperref[zSome]{Some}#(#\hyperref[zDSUBU]{DSUBU}#(rs, rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeERET.tex b/cheri/sail_latex/sailfndecodeSomeERET.tex
deleted file mode 100644
index 95d4fa19..00000000
--- a/cheri/sail_latex/sailfndecodeSomeERET.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010000 @ 0b1 @ 0b0000000000000000000 @ 0b011000) =
- #\hyperref[zSome]{Some}#(#\hyperref[zERET]{ERET}#())
diff --git a/cheri/sail_latex/sailfndecodeSomeHCF.tex b/cheri/sail_latex/sailfndecodeSomeHCF.tex
deleted file mode 100644
index 6f335350..00000000
--- a/cheri/sail_latex/sailfndecodeSomeHCF.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010000 @ 0b00100 @ rt : regno @ 0b10111 @ 0b00000000000) =
- #\hyperref[zSome]{Some}#(#\hyperref[zHCF]{HCF}#())
diff --git a/cheri/sail_latex/sailfndecodeSomeJALR.tex b/cheri/sail_latex/sailfndecodeSomeJALR.tex
deleted file mode 100644
index 9d31119a..00000000
--- a/cheri/sail_latex/sailfndecodeSomeJALR.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ 0b00000 @ rd : regno @ hint : regno @ 0b001001) =
- #\hyperref[zSome]{Some}#(#\hyperref[zJALR]{JALR}#(rs, rd)) /* hint is ignored */
diff --git a/cheri/sail_latex/sailfndecodeSomeJALoffset.tex b/cheri/sail_latex/sailfndecodeSomeJALoffset.tex
deleted file mode 100644
index 6f89b7a2..00000000
--- a/cheri/sail_latex/sailfndecodeSomeJALoffset.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000011 @ offset : #\hyperref[zbits]{bits}#(26)) =
- #\hyperref[zSome]{Some}#(#\hyperref[zJAL]{JAL}#(offset))
diff --git a/cheri/sail_latex/sailfndecodeSomeJRrs.tex b/cheri/sail_latex/sailfndecodeSomeJRrs.tex
deleted file mode 100644
index 11f38614..00000000
--- a/cheri/sail_latex/sailfndecodeSomeJRrs.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ 0b00000 @ 0b00000 @ hint : regno @ 0b001000) =
- #\hyperref[zSome]{Some}#(#\hyperref[zJR]{JR}#(rs)) /* hint is ignored */
diff --git a/cheri/sail_latex/sailfndecodeSomeJoffset.tex b/cheri/sail_latex/sailfndecodeSomeJoffset.tex
deleted file mode 100644
index b7fe0c10..00000000
--- a/cheri/sail_latex/sailfndecodeSomeJoffset.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000010 @ offset : #\hyperref[zbits]{bits}#(26)) =
- #\hyperref[zSome]{Some}#(#\hyperref[zJ]{J}#(offset))
diff --git a/cheri/sail_latex/sailfndecodeSomeLDL.tex b/cheri/sail_latex/sailfndecodeSomeLDL.tex
deleted file mode 100644
index d0aa03e7..00000000
--- a/cheri/sail_latex/sailfndecodeSomeLDL.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}#(0b011010 @ base : regno @ rt : regno @ offset : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zLDL]{LDL}#(base, rt, offset))
diff --git a/cheri/sail_latex/sailfndecodeSomeLDR.tex b/cheri/sail_latex/sailfndecodeSomeLDR.tex
deleted file mode 100644
index e2587245..00000000
--- a/cheri/sail_latex/sailfndecodeSomeLDR.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}#(0b011011 @ base : regno @ rt : regno @ offset : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zLDR]{LDR}#(base, rt, offset))
diff --git a/cheri/sail_latex/sailfndecodeSomeLUI.tex b/cheri/sail_latex/sailfndecodeSomeLUI.tex
deleted file mode 100644
index e26f924d..00000000
--- a/cheri/sail_latex/sailfndecodeSomeLUI.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b001111 @ 0b00000 @ rt : regno @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zLUI]{LUI}#(rt, imm))
diff --git a/cheri/sail_latex/sailfndecodeSomeLWL.tex b/cheri/sail_latex/sailfndecodeSomeLWL.tex
deleted file mode 100644
index 12e0398d..00000000
--- a/cheri/sail_latex/sailfndecodeSomeLWL.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}#(0b100010 @ base : regno @ rt : regno @ offset : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zLWL]{LWL}#(base, rt, offset))
diff --git a/cheri/sail_latex/sailfndecodeSomeLWR.tex b/cheri/sail_latex/sailfndecodeSomeLWR.tex
deleted file mode 100644
index fbbe2a6c..00000000
--- a/cheri/sail_latex/sailfndecodeSomeLWR.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}#(0b100110 @ base : regno @ rt : regno @ offset : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zLWR]{LWR}#(base, rt, offset))
diff --git a/cheri/sail_latex/sailfndecodeSomeLoad.tex b/cheri/sail_latex/sailfndecodeSomeLoad.tex
deleted file mode 100644
index b9376877..00000000
--- a/cheri/sail_latex/sailfndecodeSomeLoad.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b100000 @ base : regno @ rt : regno @ offset : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zLoad]{Load}#(B, true, false, base, rt, offset)) /* LB */
diff --git a/cheri/sail_latex/sailfndecodeSomeMADD.tex b/cheri/sail_latex/sailfndecodeSomeMADD.tex
deleted file mode 100644
index 3b8b9d75..00000000
--- a/cheri/sail_latex/sailfndecodeSomeMADD.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b011100 @ rs : regno @ rt : regno @ 0b00000 @ 0b00000 @ 0b000000) =
- #\hyperref[zSome]{Some}#(#\hyperref[zMADD]{MADD}#(rs, rt))
diff --git a/cheri/sail_latex/sailfndecodeSomeMADDU.tex b/cheri/sail_latex/sailfndecodeSomeMADDU.tex
deleted file mode 100644
index a1b46968..00000000
--- a/cheri/sail_latex/sailfndecodeSomeMADDU.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b011100 @ rs : regno @ rt : regno @ 0b00000 @ 0b00000 @ 0b000001) =
- #\hyperref[zSome]{Some}#(#\hyperref[zMADDU]{MADDU}#(rs, rt))
diff --git a/cheri/sail_latex/sailfndecodeSomeMFCzero.tex b/cheri/sail_latex/sailfndecodeSomeMFCzero.tex
deleted file mode 100644
index 67608b6d..00000000
--- a/cheri/sail_latex/sailfndecodeSomeMFCzero.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010000 @ 0b00000 @ rt : regno @ rd : regno @ 0b00000000 @ sel : #\hyperref[zbits]{bits}#(3)) =
- #\hyperref[zSome]{Some}#(#\hyperref[zMFCzero]{MFC0}#(rt, rd, sel, false)) /* MFC0 */
diff --git a/cheri/sail_latex/sailfndecodeSomeMFHIrd.tex b/cheri/sail_latex/sailfndecodeSomeMFHIrd.tex
deleted file mode 100644
index 9f48db83..00000000
--- a/cheri/sail_latex/sailfndecodeSomeMFHIrd.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ 0b0000000000 @ rd : regno @ 0b00000 @ 0b010000) =
- #\hyperref[zSome]{Some}#(#\hyperref[zMFHI]{MFHI}#(rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeMFLOrd.tex b/cheri/sail_latex/sailfndecodeSomeMFLOrd.tex
deleted file mode 100644
index 6ea47d5b..00000000
--- a/cheri/sail_latex/sailfndecodeSomeMFLOrd.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ 0b0000000000 @ rd : regno @ 0b00000 @ 0b010010) =
- #\hyperref[zSome]{Some}#(#\hyperref[zMFLO]{MFLO}#(rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeMOVN.tex b/cheri/sail_latex/sailfndecodeSomeMOVN.tex
deleted file mode 100644
index e975a85c..00000000
--- a/cheri/sail_latex/sailfndecodeSomeMOVN.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ rd : regno @ 0b00000 @ 0b001011) =
- #\hyperref[zSome]{Some}#(#\hyperref[zMOVN]{MOVN}#(rs, rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeMOVZ.tex b/cheri/sail_latex/sailfndecodeSomeMOVZ.tex
deleted file mode 100644
index a503217a..00000000
--- a/cheri/sail_latex/sailfndecodeSomeMOVZ.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ rd : regno @ 0b00000 @ 0b001010) =
- #\hyperref[zSome]{Some}#(#\hyperref[zMOVZ]{MOVZ}#(rs, rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeMSUB.tex b/cheri/sail_latex/sailfndecodeSomeMSUB.tex
deleted file mode 100644
index bfc18834..00000000
--- a/cheri/sail_latex/sailfndecodeSomeMSUB.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b011100 @ rs : regno @ rt : regno @ 0b00000 @ 0b00000 @ 0b000100) =
- #\hyperref[zSome]{Some}#(#\hyperref[zMSUB]{MSUB}#(rs, rt))
diff --git a/cheri/sail_latex/sailfndecodeSomeMSUBU.tex b/cheri/sail_latex/sailfndecodeSomeMSUBU.tex
deleted file mode 100644
index 07efaff8..00000000
--- a/cheri/sail_latex/sailfndecodeSomeMSUBU.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b011100 @ rs : regno @ rt : regno @ 0b00000 @ 0b00000 @ 0b000101) =
- #\hyperref[zSome]{Some}#(#\hyperref[zMSUBU]{MSUBU}#(rs, rt))
diff --git a/cheri/sail_latex/sailfndecodeSomeMTCzero.tex b/cheri/sail_latex/sailfndecodeSomeMTCzero.tex
deleted file mode 100644
index 890984a6..00000000
--- a/cheri/sail_latex/sailfndecodeSomeMTCzero.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010000 @ 0b00100 @ rt : regno @ rd : regno @ 0b00000000 @ sel : #\hyperref[zbits]{bits}#(3)) =
- #\hyperref[zSome]{Some}#(#\hyperref[zMTCzero]{MTC0}#(rt, rd, sel, false)) /* MTC0 */
diff --git a/cheri/sail_latex/sailfndecodeSomeMTHIrs.tex b/cheri/sail_latex/sailfndecodeSomeMTHIrs.tex
deleted file mode 100644
index bbe47eeb..00000000
--- a/cheri/sail_latex/sailfndecodeSomeMTHIrs.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ 0b000000000000000 @ 0b010001) =
- #\hyperref[zSome]{Some}#(#\hyperref[zMTHI]{MTHI}#(rs))
diff --git a/cheri/sail_latex/sailfndecodeSomeMTLOrs.tex b/cheri/sail_latex/sailfndecodeSomeMTLOrs.tex
deleted file mode 100644
index b6e4f81a..00000000
--- a/cheri/sail_latex/sailfndecodeSomeMTLOrs.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ 0b000000000000000 @ 0b010011) =
- #\hyperref[zSome]{Some}#(#\hyperref[zMTLO]{MTLO}#(rs))
diff --git a/cheri/sail_latex/sailfndecodeSomeMUL.tex b/cheri/sail_latex/sailfndecodeSomeMUL.tex
deleted file mode 100644
index 806554c1..00000000
--- a/cheri/sail_latex/sailfndecodeSomeMUL.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b011100 @ rs : regno @ rt : regno @ rd : regno @ 0b00000 @ 0b000010) =
- #\hyperref[zSome]{Some}#(#\hyperref[zMUL]{MUL}#(rs, rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeMULT.tex b/cheri/sail_latex/sailfndecodeSomeMULT.tex
deleted file mode 100644
index 3358669f..00000000
--- a/cheri/sail_latex/sailfndecodeSomeMULT.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ 0b00000 @ 0b00000 @ 0b011000) =
- #\hyperref[zSome]{Some}#(#\hyperref[zMULT]{MULT}#(rs, rt))
diff --git a/cheri/sail_latex/sailfndecodeSomeMULTU.tex b/cheri/sail_latex/sailfndecodeSomeMULTU.tex
deleted file mode 100644
index 1de82a86..00000000
--- a/cheri/sail_latex/sailfndecodeSomeMULTU.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ 0b00000 @ 0b00000 @ 0b011001) =
- #\hyperref[zSome]{Some}#(#\hyperref[zMULTU]{MULTU}#(rs, rt))
diff --git a/cheri/sail_latex/sailfndecodeSomeNOR.tex b/cheri/sail_latex/sailfndecodeSomeNOR.tex
deleted file mode 100644
index 591bd681..00000000
--- a/cheri/sail_latex/sailfndecodeSomeNOR.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ rd : regno @ 0b00000 @ 0b100111) =
- #\hyperref[zSome]{Some}#(#\hyperref[zNOR]{NOR}#(rs, rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeOR.tex b/cheri/sail_latex/sailfndecodeSomeOR.tex
deleted file mode 100644
index 4e4c898a..00000000
--- a/cheri/sail_latex/sailfndecodeSomeOR.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ rd : regno @ 0b00000 @ 0b100101) =
- #\hyperref[zSome]{Some}#(#\hyperref[zOR]{OR}#(rs, rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeORI.tex b/cheri/sail_latex/sailfndecodeSomeORI.tex
deleted file mode 100644
index ab0e3590..00000000
--- a/cheri/sail_latex/sailfndecodeSomeORI.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b001101 @ rs : regno @ rt : regno @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zORI]{ORI}#(rs, rt, imm))
diff --git a/cheri/sail_latex/sailfndecodeSomeRDHWR.tex b/cheri/sail_latex/sailfndecodeSomeRDHWR.tex
deleted file mode 100644
index ea58d589..00000000
--- a/cheri/sail_latex/sailfndecodeSomeRDHWR.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b011111 @ 0b00000 @ rt : regno @ rd : regno @ 0b00000 @ 0b111011) =
- #\hyperref[zSome]{Some}#(#\hyperref[zRDHWR]{RDHWR}#(rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeRI.tex b/cheri/sail_latex/sailfndecodeSomeRI.tex
deleted file mode 100644
index 33607cfb..00000000
--- a/cheri/sail_latex/sailfndecodeSomeRI.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause decode _ = #\hyperref[zSome]{Some}#(#\hyperref[zRI]{RI}#())
diff --git a/cheri/sail_latex/sailfndecodeSomeSDL.tex b/cheri/sail_latex/sailfndecodeSomeSDL.tex
deleted file mode 100644
index bf001ec3..00000000
--- a/cheri/sail_latex/sailfndecodeSomeSDL.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}#(0b101100 @ base : regno @ rt : regno @ offset : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zSDL]{SDL}#(base, rt, offset))
diff --git a/cheri/sail_latex/sailfndecodeSomeSDR.tex b/cheri/sail_latex/sailfndecodeSomeSDR.tex
deleted file mode 100644
index 437d09b0..00000000
--- a/cheri/sail_latex/sailfndecodeSomeSDR.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}#(0b101101 @ base : regno @ rt : regno @ offset : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zSDR]{SDR}#(base, rt, offset))
diff --git a/cheri/sail_latex/sailfndecodeSomeSLL.tex b/cheri/sail_latex/sailfndecodeSomeSLL.tex
deleted file mode 100644
index 2d130736..00000000
--- a/cheri/sail_latex/sailfndecodeSomeSLL.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ 0b00000 @ rt : regno @ rd : regno @ sa : regno @ 0b000000) =
- #\hyperref[zSome]{Some}#(#\hyperref[zSLL]{SLL}#(rt, rd, sa))
diff --git a/cheri/sail_latex/sailfndecodeSomeSLLV.tex b/cheri/sail_latex/sailfndecodeSomeSLLV.tex
deleted file mode 100644
index b06ee12d..00000000
--- a/cheri/sail_latex/sailfndecodeSomeSLLV.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ rd : regno @ 0b00000 @ 0b000100) =
- #\hyperref[zSome]{Some}#(#\hyperref[zSLLV]{SLLV}#(rs, rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeSLT.tex b/cheri/sail_latex/sailfndecodeSomeSLT.tex
deleted file mode 100644
index b6651698..00000000
--- a/cheri/sail_latex/sailfndecodeSomeSLT.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ rd : regno @ 0b00000 @ 0b101010) =
- #\hyperref[zSome]{Some}#(#\hyperref[zSLT]{SLT}#(rs, rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeSLTI.tex b/cheri/sail_latex/sailfndecodeSomeSLTI.tex
deleted file mode 100644
index c1240f5b..00000000
--- a/cheri/sail_latex/sailfndecodeSomeSLTI.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b001010 @ rs : regno @ rt : regno @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zSLTI]{SLTI}#(rs, rt, imm))
diff --git a/cheri/sail_latex/sailfndecodeSomeSLTIU.tex b/cheri/sail_latex/sailfndecodeSomeSLTIU.tex
deleted file mode 100644
index 72d15602..00000000
--- a/cheri/sail_latex/sailfndecodeSomeSLTIU.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b001011 @ rs : regno @ rt : regno @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zSLTIU]{SLTIU}#(rs, rt, imm))
diff --git a/cheri/sail_latex/sailfndecodeSomeSLTU.tex b/cheri/sail_latex/sailfndecodeSomeSLTU.tex
deleted file mode 100644
index c735877d..00000000
--- a/cheri/sail_latex/sailfndecodeSomeSLTU.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ rd : regno @ 0b00000 @ 0b101011) =
- #\hyperref[zSome]{Some}#(#\hyperref[zSLTU]{SLTU}#(rs, rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeSRA.tex b/cheri/sail_latex/sailfndecodeSomeSRA.tex
deleted file mode 100644
index 2050a307..00000000
--- a/cheri/sail_latex/sailfndecodeSomeSRA.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ 0b00000 @ rt : regno @ rd : regno @ sa : regno @ 0b000011) =
- #\hyperref[zSome]{Some}#(#\hyperref[zSRA]{SRA}#(rt, rd, sa))
diff --git a/cheri/sail_latex/sailfndecodeSomeSRAV.tex b/cheri/sail_latex/sailfndecodeSomeSRAV.tex
deleted file mode 100644
index a198a715..00000000
--- a/cheri/sail_latex/sailfndecodeSomeSRAV.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ rd : regno @ 0b00000 @ 0b000111) =
- #\hyperref[zSome]{Some}#(#\hyperref[zSRAV]{SRAV}#(rs, rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeSRL.tex b/cheri/sail_latex/sailfndecodeSomeSRL.tex
deleted file mode 100644
index 80c0dd7a..00000000
--- a/cheri/sail_latex/sailfndecodeSomeSRL.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ 0b00000 @ rt : regno @ rd : regno @ sa : regno @ 0b000010) =
- #\hyperref[zSome]{Some}#(#\hyperref[zSRL]{SRL}#(rt, rd, sa))
diff --git a/cheri/sail_latex/sailfndecodeSomeSRLV.tex b/cheri/sail_latex/sailfndecodeSomeSRLV.tex
deleted file mode 100644
index b06e51d9..00000000
--- a/cheri/sail_latex/sailfndecodeSomeSRLV.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ rd : regno @ 0b00000 @ 0b000110) =
- #\hyperref[zSome]{Some}#(#\hyperref[zSRLV]{SRLV}#(rs, rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeSUB.tex b/cheri/sail_latex/sailfndecodeSomeSUB.tex
deleted file mode 100644
index 2ee4e29f..00000000
--- a/cheri/sail_latex/sailfndecodeSomeSUB.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ rd : regno @ 0b00000 @ 0b100010) =
- #\hyperref[zSome]{Some}#(#\hyperref[zSUB]{SUB}#(rs, rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeSUBU.tex b/cheri/sail_latex/sailfndecodeSomeSUBU.tex
deleted file mode 100644
index 4f00e98b..00000000
--- a/cheri/sail_latex/sailfndecodeSomeSUBU.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ rd : regno @ 0b00000 @ 0b100011) =
- #\hyperref[zSome]{Some}#(#\hyperref[zSUBU]{SUBU}#(rs, rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeSWL.tex b/cheri/sail_latex/sailfndecodeSomeSWL.tex
deleted file mode 100644
index 208f2397..00000000
--- a/cheri/sail_latex/sailfndecodeSomeSWL.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}#(0b101010 @ base : regno @ rt : regno @ offset : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zSWL]{SWL}#(base, rt, offset))
diff --git a/cheri/sail_latex/sailfndecodeSomeSWR.tex b/cheri/sail_latex/sailfndecodeSomeSWR.tex
deleted file mode 100644
index 41ef1162..00000000
--- a/cheri/sail_latex/sailfndecodeSomeSWR.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}#(0b101110 @ base : regno @ rt : regno @ offset : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zSWR]{SWR}#(base, rt, offset))
diff --git a/cheri/sail_latex/sailfndecodeSomeSYNC.tex b/cheri/sail_latex/sailfndecodeSomeSYNC.tex
deleted file mode 100644
index 12f85118..00000000
--- a/cheri/sail_latex/sailfndecodeSomeSYNC.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ 0b00000 @ 0b00000 @ 0b00000 @ stype : regno @ 0b001111) =
- #\hyperref[zSome]{Some}#(#\hyperref[zSYNC]{SYNC}#()) /* stype is currently ignored */
diff --git a/cheri/sail_latex/sailfndecodeSomeSYSCALL.tex b/cheri/sail_latex/sailfndecodeSomeSYSCALL.tex
deleted file mode 100644
index bace77fa..00000000
--- a/cheri/sail_latex/sailfndecodeSomeSYSCALL.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ code : #\hyperref[zbits]{bits}#(20) @ 0b001100) =
- #\hyperref[zSome]{Some}#(#\hyperref[zSYSCALL]{SYSCALL}#()) /* code is ignored */
diff --git a/cheri/sail_latex/sailfndecodeSomeStore.tex b/cheri/sail_latex/sailfndecodeSomeStore.tex
deleted file mode 100644
index 1a291fbd..00000000
--- a/cheri/sail_latex/sailfndecodeSomeStore.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b101000 @ base : regno @ rt : regno @ offset : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zStore]{Store}#(B, false, base, rt, offset)) /* SB */
diff --git a/cheri/sail_latex/sailfndecodeSomeTRAPIMM.tex b/cheri/sail_latex/sailfndecodeSomeTRAPIMM.tex
deleted file mode 100644
index 90ed1745..00000000
--- a/cheri/sail_latex/sailfndecodeSomeTRAPIMM.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000001 @ rs : regno @ 0b01100 @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zTRAPIMM]{TRAPIMM}#(rs, imm, EQ)) /* TEQI */
diff --git a/cheri/sail_latex/sailfndecodeSomeTRAPREG.tex b/cheri/sail_latex/sailfndecodeSomeTRAPREG.tex
deleted file mode 100644
index 66126500..00000000
--- a/cheri/sail_latex/sailfndecodeSomeTRAPREG.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ code : #\hyperref[zbits]{bits}#(10) @ 0b110000) =
- #\hyperref[zSome]{Some}#(#\hyperref[zTRAPREG]{TRAPREG}#(rs, rt, GE)) /* TGE */
diff --git a/cheri/sail_latex/sailfndecodeSomeWAIT.tex b/cheri/sail_latex/sailfndecodeSomeWAIT.tex
deleted file mode 100644
index 443840f8..00000000
--- a/cheri/sail_latex/sailfndecodeSomeWAIT.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010000 @ 0x80000 @ 0b100000) =
- #\hyperref[zSome]{Some}#(#\hyperref[zWAIT]{WAIT}#()) /* we only accept code == 0 */
diff --git a/cheri/sail_latex/sailfndecodeSomeXOR.tex b/cheri/sail_latex/sailfndecodeSomeXOR.tex
deleted file mode 100644
index f25d968e..00000000
--- a/cheri/sail_latex/sailfndecodeSomeXOR.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ rd : regno @ 0b00000 @ 0b100110) =
- #\hyperref[zSome]{Some}#(#\hyperref[zXOR]{XOR}#(rs, rt, rd))
diff --git a/cheri/sail_latex/sailfndecodeSomeXORI.tex b/cheri/sail_latex/sailfndecodeSomeXORI.tex
deleted file mode 100644
index 018ca5d7..00000000
--- a/cheri/sail_latex/sailfndecodeSomeXORI.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b001110 @ rs : regno @ rt : regno @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zXORI]{XORI}#(rs, rt, imm))
diff --git a/cheri/sail_latex/sailfndecodefailureofnum.tex b/cheri/sail_latex/sailfndecodefailureofnum.tex
deleted file mode 100644
index 2ad9ff6d..00000000
--- a/cheri/sail_latex/sailfndecodefailureofnum.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function decode_failure_of_num arg# = match arg# {
- 0 => no_matching_pattern,
- 1 => unsupported_instruction,
- 2 => illegal_instruction,
- _ => internal_error
-}
diff --git a/cheri/sail_latex/sailfndumpcptwostate.tex b/cheri/sail_latex/sailfndumpcptwostate.tex
deleted file mode 100644
index 53ab717e..00000000
--- a/cheri/sail_latex/sailfndumpcptwostate.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-function #\hyperref[zdumpzycptwozystate]{dump\_cp2\_state}# () = {
- #\hyperref[zprint]{print}#(#\hyperref[zconcatzystr]{concat\_str}#("DEBUG CAP PCC", #\hyperref[zcapToString]{capToString}#(#\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(PCC))));
- foreach(i from 0 to 31) {
- #\hyperref[zprint]{print}#(#\hyperref[zconcatzystr]{concat\_str}#("DEBUG CAP REG ", #\hyperref[zconcatzystr]{concat\_str}#(#\hyperref[zstringzyofzyint]{string\_of\_int}#(i), #\hyperref[zcapToString]{capToString}#(#\hyperref[zreadCapReg]{readCapReg}#(#\hyperref[ztozybits]{to\_bits}#(5, i))))))
- };
- #\hyperref[zprint]{print}#(#\hyperref[zconcatzystr]{concat\_str}#("DEBUG CAP HWREG 00", #\hyperref[zcapToString]{capToString}#(#\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(DDC))));
- #\hyperref[zprint]{print}#(#\hyperref[zconcatzystr]{concat\_str}#("DEBUG CAP HWREG 01", #\hyperref[zcapToString]{capToString}#(#\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(CTLSU))));
- #\hyperref[zprint]{print}#(#\hyperref[zconcatzystr]{concat\_str}#("DEBUG CAP HWREG 08", #\hyperref[zcapToString]{capToString}#(#\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(CTLSP))));
- /* TODO: these two should not be mirrored to match the FPGA */
- #\hyperref[zprint]{print}#(#\hyperref[zconcatzystr]{concat\_str}#("DEBUG CAP HWREG 22", #\hyperref[zcapToString]{capToString}#(#\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(KR1C))));
- #\hyperref[zprint]{print}#(#\hyperref[zconcatzystr]{concat\_str}#("DEBUG CAP HWREG 23", #\hyperref[zcapToString]{capToString}#(#\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(KR2C))));
- /* KCC, KDC, EPCC */
- #\hyperref[zprint]{print}#(#\hyperref[zconcatzystr]{concat\_str}#("DEBUG CAP HWREG 29", #\hyperref[zcapToString]{capToString}#(#\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(KCC))));
- #\hyperref[zprint]{print}#(#\hyperref[zconcatzystr]{concat\_str}#("DEBUG CAP HWREG 30", #\hyperref[zcapToString]{capToString}#(#\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(KDC))));
- #\hyperref[zprint]{print}#(#\hyperref[zconcatzystr]{concat\_str}#("DEBUG CAP HWREG 31", #\hyperref[zcapToString]{capToString}#(#\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(EPCC))));
-
-}
diff --git a/cheri/sail_latex/sailfnexecuteADD.tex b/cheri/sail_latex/sailfnexecuteADD.tex
deleted file mode 100644
index 2ad9da32..00000000
--- a/cheri/sail_latex/sailfnexecuteADD.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zADD]{ADD}#(rs, rt, rd)) =
- {
- opA : #\hyperref[zbits]{bits}#(64) = #\hyperref[zrGPR]{rGPR}#(rs);
- opB : #\hyperref[zbits]{bits}#(64) = #\hyperref[zrGPR]{rGPR}#(rt);
- if #\hyperref[zNotWordVal]{NotWordVal}#(opA) | #\hyperref[zNotWordVal]{NotWordVal}#(opB) then
- #\hyperref[zwGPR]{wGPR}#(rd) = undefined /* XXX could exit instead */
- else
- let sum33 : #\hyperref[zbits]{bits}#(33) = #\hyperref[zsignzyextend]{sign\_extend}#(opA[31 .. 0]) + #\hyperref[zsignzyextend]{sign\_extend}#(opB[31 .. 0])in
- if sum33[32] != sum33[31] then
- (#\hyperref[zSignalException]{SignalException}#(Ov))
- else
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zsignzyextend]{sign\_extend}#(sum33[31..0])
- }
diff --git a/cheri/sail_latex/sailfnexecuteADDI.tex b/cheri/sail_latex/sailfnexecuteADDI.tex
deleted file mode 100644
index 07076225..00000000
--- a/cheri/sail_latex/sailfnexecuteADDI.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zADDI]{ADDI}#(rs, rt, imm)) =
- {
- opA = #\hyperref[zrGPR]{rGPR}#(rs);
- if #\hyperref[zNotWordVal]{NotWordVal}#(opA) then
- #\hyperref[zwGPR]{wGPR}#(rt) = undefined /* XXX could exit instead */
- else
- let sum33 : #\hyperref[zbits]{bits}#(33) = #\hyperref[zsignzyextend]{sign\_extend}#(opA[31 .. 0]) + #\hyperref[zsignzyextend]{sign\_extend}#(imm) in
- if sum33[32] != sum33[31] then
- (#\hyperref[zSignalException]{SignalException}#(Ov))
- else
- #\hyperref[zwGPR]{wGPR}#(rt) = #\hyperref[zsignzyextend]{sign\_extend}#(sum33[31..0])
- }
diff --git a/cheri/sail_latex/sailfnexecuteADDIU.tex b/cheri/sail_latex/sailfnexecuteADDIU.tex
deleted file mode 100644
index 5be7b646..00000000
--- a/cheri/sail_latex/sailfnexecuteADDIU.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zADDIU]{ADDIU}#(rs, rt, imm)) =
- {
- opA = #\hyperref[zrGPR]{rGPR}#(rs);
- if #\hyperref[zNotWordVal]{NotWordVal}#(opA) then
- #\hyperref[zwGPR]{wGPR}#(rt) = undefined /* XXX could exit instead */
- else
- #\hyperref[zwGPR]{wGPR}#(rt) = #\hyperref[zsignzyextend]{sign\_extend}#((opA[31 .. 0]) + #\hyperref[zsignzyextend]{sign\_extend}#(imm))
- }
diff --git a/cheri/sail_latex/sailfnexecuteADDU.tex b/cheri/sail_latex/sailfnexecuteADDU.tex
deleted file mode 100644
index ec253078..00000000
--- a/cheri/sail_latex/sailfnexecuteADDU.tex
+++ /dev/null
@@ -1,9 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zADDU]{ADDU}#(rs, rt, rd)) =
- {
- opA = #\hyperref[zrGPR]{rGPR}#(rs);
- opB = #\hyperref[zrGPR]{rGPR}#(rt);
- if #\hyperref[zNotWordVal]{NotWordVal}#(opA) | #\hyperref[zNotWordVal]{NotWordVal}#(opB) then
- #\hyperref[zwGPR]{wGPR}#(rd) = undefined
- else
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zsignzyextend]{sign\_extend}#(opA[31..0] + opB[31..0])
- }
diff --git a/cheri/sail_latex/sailfnexecuteAND.tex b/cheri/sail_latex/sailfnexecuteAND.tex
deleted file mode 100644
index f24435e8..00000000
--- a/cheri/sail_latex/sailfnexecuteAND.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zAND]{AND}# (rs, rt, rd)) =
- {
- #\hyperref[zwGPR]{wGPR}#(rd) = (#\hyperref[zrGPR]{rGPR}#(rs) & #\hyperref[zrGPR]{rGPR}#(rt))
- }
diff --git a/cheri/sail_latex/sailfnexecuteANDI.tex b/cheri/sail_latex/sailfnexecuteANDI.tex
deleted file mode 100644
index 03305987..00000000
--- a/cheri/sail_latex/sailfnexecuteANDI.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zANDI]{ANDI}# (rs, rt, imm)) =
- {
- #\hyperref[zwGPR]{wGPR}#(rt) = (#\hyperref[zrGPR]{rGPR}#(rs) & #\hyperref[zzzerozyextend]{zero\_extend}#(imm))
- }
diff --git a/cheri/sail_latex/sailfnexecuteBCMPZ.tex b/cheri/sail_latex/sailfnexecuteBCMPZ.tex
deleted file mode 100644
index ffaa5df3..00000000
--- a/cheri/sail_latex/sailfnexecuteBCMPZ.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zBCMPZ]{BCMPZ}#(rs, imm, cmp, link, likely)) =
- {
- linkVal = PC + 8;
- regVal = #\hyperref[zrGPR]{rGPR}#(rs);
- condition = #\hyperref[zcompare]{compare}#(cmp, regVal, #\hyperref[zzzerozyextend]{zero\_extend}#(0b0));
- if (condition) then
- {
- let offset : #\hyperref[zbits]{bits}#(64) = (#\hyperref[zsignzyextend]{sign\_extend}#(imm @ 0b00) + 4) in
- #\hyperref[zexecutezybranch]{execute\_branch}#(PC + offset);
- }
- else if (likely) then
- {
- nextPC = PC + 8 /* skip branch delay */
- };
- if (link) then
- #\hyperref[zwGPR]{wGPR}#(0b11111) = linkVal
- }
diff --git a/cheri/sail_latex/sailfnexecuteBEQ.tex b/cheri/sail_latex/sailfnexecuteBEQ.tex
deleted file mode 100644
index 348c1c0e..00000000
--- a/cheri/sail_latex/sailfnexecuteBEQ.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zBEQ]{BEQ}#(rs, rd, imm, ne, likely)) =
- {
- if ((#\hyperref[zrGPR]{rGPR}#(rs) == #\hyperref[zrGPR]{rGPR}#(rd)) ^ ne) then
- {
- let offset : #\hyperref[zbits]{bits}#(64) = (#\hyperref[zsignzyextend]{sign\_extend}#(imm @ 0b00) + 4) in
- #\hyperref[zexecutezybranch]{execute\_branch}#(PC + offset);
- }
- else
- {
- if (likely) then
- nextPC = PC + 8; /* skip branch delay */
- }
- }
diff --git a/cheri/sail_latex/sailfnexecuteBREAK.tex b/cheri/sail_latex/sailfnexecuteBREAK.tex
deleted file mode 100644
index 06f15ea9..00000000
--- a/cheri/sail_latex/sailfnexecuteBREAK.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zBREAK]{BREAK}#()) =
- {
- (#\hyperref[zSignalException]{SignalException}#(Bp))
- }
diff --git a/cheri/sail_latex/sailfnexecuteCACHE.tex b/cheri/sail_latex/sailfnexecuteCACHE.tex
deleted file mode 100644
index 14ecf045..00000000
--- a/cheri/sail_latex/sailfnexecuteCACHE.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCACHE]{CACHE}#(base, op, imm)) =
- #\hyperref[zcheckCPzeroAccess]{checkCP0Access}# () /* pretty much a NOP because no caches */
diff --git a/cheri/sail_latex/sailfnexecuteCAndPerm.tex b/cheri/sail_latex/sailfnexecuteCAndPerm.tex
deleted file mode 100644
index b2cc7bc3..00000000
--- a/cheri/sail_latex/sailfnexecuteCAndPerm.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-function clause #\hyperref[zexecute]{execute}#(#\hyperref[zCAndPerm]{CAndPerm}#(cd, cb, rt)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- let cb_val = #\hyperref[zreadCapReg]{readCapReg}#(cb);
- let rt_val = #\hyperref[zrGPR]{rGPR}#(rt);
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cd)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cd)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if #\hyperref[znot]{not}# (cb_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cb)
- else
- let perms = #\hyperref[zgetCapPerms]{getCapPerms}#(cb_val) in
- let newCap = #\hyperref[zsetCapPerms]{setCapPerms}#(cb_val, (perms & rt_val[30..0])) in
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, newCap);
-}
diff --git a/cheri/sail_latex/sailfnexecuteCBX.tex b/cheri/sail_latex/sailfnexecuteCBX.tex
deleted file mode 100644
index 47463a93..00000000
--- a/cheri/sail_latex/sailfnexecuteCBX.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCBX]{CBX}#(cb, imm, notset)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if (((#\hyperref[zreadCapReg]{readCapReg}#(cb)).tag) ^ notset) then
- {
- let offset : #\hyperref[zbits]{bits}#(64) = (#\hyperref[zsignzyextend]{sign\_extend}#(imm @ 0b00) + 4) in
- #\hyperref[zexecutezybranch]{execute\_branch}#(PC + offset);
- }
-}
diff --git a/cheri/sail_latex/sailfnexecuteCBZ.tex b/cheri/sail_latex/sailfnexecuteCBZ.tex
deleted file mode 100644
index 99a6be08..00000000
--- a/cheri/sail_latex/sailfnexecuteCBZ.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCBZ]{CBZ}#(cb, imm, notzero)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if (((#\hyperref[zreadCapReg]{readCapReg}#(cb)) == null_cap) ^ notzero) then
- {
- let offset : #\hyperref[zbits]{bits}#(64) = (#\hyperref[zsignzyextend]{sign\_extend}#(imm @ 0b00) + 4) in
- #\hyperref[zexecutezybranch]{execute\_branch}#(PC + offset);
- }
-}
diff --git a/cheri/sail_latex/sailfnexecuteCBuildCap.tex b/cheri/sail_latex/sailfnexecuteCBuildCap.tex
deleted file mode 100644
index cff66cc3..00000000
--- a/cheri/sail_latex/sailfnexecuteCBuildCap.tex
+++ /dev/null
@@ -1,40 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCBuildCap]{CBuildCap}#(cd, cb, ct)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- cb_val = #\hyperref[zreadCapRegDDC]{readCapRegDDC}#(cb);
- ct_val = #\hyperref[zreadCapReg]{readCapReg}#(ct);
- cb_base = #\hyperref[zgetCapBase]{getCapBase}#(cb_val);
- ct_base = #\hyperref[zgetCapBase]{getCapBase}#(ct_val);
- cb_top = #\hyperref[zgetCapTop]{getCapTop}#(cb_val);
- ct_top = #\hyperref[zgetCapTop]{getCapTop}#(ct_val);
- cb_perms = #\hyperref[zgetCapPerms]{getCapPerms}#(cb_val);
- ct_perms = #\hyperref[zgetCapPerms]{getCapPerms}#(ct_val);
- ct_offset = #\hyperref[zgetCapOffset]{getCapOffset}#(ct_val);
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cd)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cd)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(ct)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, ct)
- else if #\hyperref[znot]{not}# (cb_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cb)
- else if ct_base < cb_base then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cb)
- else if ct_top > cb_top then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cb)
- else if ct_base > ct_top then /* check for length < 0 - possible because ct might be untagged */
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, ct)
- else if (ct_perms & cb_perms) != ct_perms then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_UserDefViolation, cb)
- else
- let (exact, cd1) = #\hyperref[zsetCapBounds]{setCapBounds}#(cb_val, #\hyperref[ztozybits]{to\_bits}#(64, ct_base), #\hyperref[ztozybits]{to\_bits}#(65, ct_top)) in
- let (representable, cd2) = #\hyperref[zsetCapOffset]{setCapOffset}#(cd1, #\hyperref[ztozybits]{to\_bits}#(64, ct_offset)) in
- let cd3 = #\hyperref[zsetCapPerms]{setCapPerms}#(cd2, ct_perms) in
- {
- assert(exact, ""); /* base and top came from ct originally so will be exact */
- assert(representable, ""); /* similarly offset should be representable XXX except for fastRepCheck */
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, cd3);
- }
-}
diff --git a/cheri/sail_latex/sailfnexecuteCCSeal.tex b/cheri/sail_latex/sailfnexecuteCCSeal.tex
deleted file mode 100644
index 7a1bc402..00000000
--- a/cheri/sail_latex/sailfnexecuteCCSeal.tex
+++ /dev/null
@@ -1,37 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCCSeal]{CCSeal}#(cd, cs, ct)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- cs_val = #\hyperref[zreadCapReg]{readCapReg}#(cs);
- ct_val = #\hyperref[zreadCapReg]{readCapReg}#(ct);
- ct_cursor = #\hyperref[zgetCapCursor]{getCapCursor}#(ct_val);
- ct_top = #\hyperref[zgetCapTop]{getCapTop}#(ct_val);
- ct_base = #\hyperref[zgetCapBase]{getCapBase}#(ct_val);
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cd)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cd)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cs)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cs)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(ct)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, ct)
- else if #\hyperref[znot]{not}# (cs_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, cs)
- else if (#\hyperref[znot]{not}# (ct_val.tag)) | (#\hyperref[zgetCapCursor]{getCapCursor}#(ct_val) == #\hyperref[zunsigned]{unsigned}#(bitone ^^ 64)) then
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, cs_val)
- else if (cs_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cs)
- else if (ct_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, ct)
- else if #\hyperref[znot]{not}# (ct_val.permit_seal) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_PermitSealViolation, ct)
- else if (ct_cursor < ct_base) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, ct)
- else if (ct_cursor >= ct_top) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, ct)
- else if (ct_cursor > max_otype) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, ct)
- else
- let (success, newCap) = #\hyperref[zsealCap]{sealCap}#(cs_val, #\hyperref[ztozybits]{to\_bits}#(24, ct_cursor)) in
- if #\hyperref[znot]{not}# (success) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_InexactBounds, cs)
- else
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, newCap)
-}
diff --git a/cheri/sail_latex/sailfnexecuteCCall.tex b/cheri/sail_latex/sailfnexecuteCCall.tex
deleted file mode 100644
index 1cae71b0..00000000
--- a/cheri/sail_latex/sailfnexecuteCCall.tex
+++ /dev/null
@@ -1,32 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCCall]{CCall}#(cs, cb, 0b00000000000)) = /* selector=0 */
-{
- /* Partial implementation of CCall with checks in hardware, but raising a trap to perform trusted stack manipulation */
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- cs_val = #\hyperref[zreadCapReg]{readCapReg}#(cs);
- cb_val = #\hyperref[zreadCapReg]{readCapReg}#(cb);
- cs_cursor = #\hyperref[zgetCapCursor]{getCapCursor}#(cs_val);
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cs)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cs)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if #\hyperref[znot]{not}# (cs_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, cs)
- else if #\hyperref[znot]{not}# (cb_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, cb)
- else if #\hyperref[znot]{not}# (cs_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cs)
- else if #\hyperref[znot]{not}# (cb_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cb)
- else if ((cs_val.otype) != (cb_val.otype)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TypeViolation, cs)
- else if #\hyperref[znot]{not}# (cs_val.permit_execute) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_PermitExecuteViolation, cs)
- else if (cb_val.permit_execute) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_PermitExecuteViolation, cb)
- else if (cs_cursor < #\hyperref[zgetCapBase]{getCapBase}#(cs_val)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cs)
- else if (cs_cursor >= #\hyperref[zgetCapTop]{getCapTop}#(cs_val)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cs)
- else
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_CallTrap, cs);
-}
diff --git a/cheri/sail_latex/sailfnexecuteCCheckPerm.tex b/cheri/sail_latex/sailfnexecuteCCheckPerm.tex
deleted file mode 100644
index 1a4ac93c..00000000
--- a/cheri/sail_latex/sailfnexecuteCCheckPerm.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCCheckPerm]{CCheckPerm}#(cs, rt)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- cs_val = #\hyperref[zreadCapReg]{readCapReg}#(cs);
- cs_perms : #\hyperref[zbits]{bits}#(64) = #\hyperref[zzzerozyextend]{zero\_extend}#(#\hyperref[zgetCapPerms]{getCapPerms}#(cs_val));
- rt_perms = #\hyperref[zrGPR]{rGPR}#(rt);
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cs)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cs)
- else if #\hyperref[znot]{not}# (cs_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, cs)
- else if ((cs_perms & rt_perms) != rt_perms) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_UserDefViolation, cs)
-}
diff --git a/cheri/sail_latex/sailfnexecuteCCheckType.tex b/cheri/sail_latex/sailfnexecuteCCheckType.tex
deleted file mode 100644
index fa9da35a..00000000
--- a/cheri/sail_latex/sailfnexecuteCCheckType.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCCheckType]{CCheckType}#(cs, cb)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- cs_val = #\hyperref[zreadCapReg]{readCapReg}#(cs);
- cb_val = #\hyperref[zreadCapReg]{readCapReg}#(cb);
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cs)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cs)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if #\hyperref[znot]{not}# (cs_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, cs)
- else if #\hyperref[znot]{not}# (cb_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, cb)
- else if #\hyperref[znot]{not}# (cs_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cs)
- else if #\hyperref[znot]{not}# (cb_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cb)
- else if ((cs_val.otype) != (cb_val.otype)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TypeViolation, cs)
-}
diff --git a/cheri/sail_latex/sailfnexecuteCClearTag.tex b/cheri/sail_latex/sailfnexecuteCClearTag.tex
deleted file mode 100644
index 54863f96..00000000
--- a/cheri/sail_latex/sailfnexecuteCClearTag.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCClearTag]{CClearTag}#(cd, cb)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cd)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cd)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else
- {
- cb_val = #\hyperref[zreadCapReg]{readCapReg}#(cb);
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, {cb_val with tag=false});
- }
-}
diff --git a/cheri/sail_latex/sailfnexecuteCCopyType.tex b/cheri/sail_latex/sailfnexecuteCCopyType.tex
deleted file mode 100644
index dd34a178..00000000
--- a/cheri/sail_latex/sailfnexecuteCCopyType.tex
+++ /dev/null
@@ -1,31 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCCopyType]{CCopyType}#(cd, cb, ct)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- cb_val = #\hyperref[zreadCapReg]{readCapReg}#(cb);
- ct_val = #\hyperref[zreadCapReg]{readCapReg}#(ct);
- cb_base = #\hyperref[zgetCapBase]{getCapBase}#(cb_val);
- cb_top = #\hyperref[zgetCapTop]{getCapTop}#(cb_val);
- ct_otype = #\hyperref[zunsigned]{unsigned}#(ct_val.otype);
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cd)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cd)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(ct)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, ct)
- else if #\hyperref[znot]{not}# (cb_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cb)
- else if (ct_val.sealed) then {
- if ct_otype < cb_base then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cb)
- else if ct_otype >= cb_top then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cb)
- else
- let (success, cap) = #\hyperref[zsetCapOffset]{setCapOffset}#(cb_val, #\hyperref[ztozybits]{to\_bits}#(64, ct_otype - cb_base)) in {
- assert(success, ""); /* offset is in bounds so must succeed */
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, cap);
- }
- } else
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, #\hyperref[zintzytozycap]{int\_to\_cap}#(bitone ^^ 64))
-}
diff --git a/cheri/sail_latex/sailfnexecuteCFromPtr.tex b/cheri/sail_latex/sailfnexecuteCFromPtr.tex
deleted file mode 100644
index eeb1fdc6..00000000
--- a/cheri/sail_latex/sailfnexecuteCFromPtr.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCFromPtr]{CFromPtr}#(cd, cb, rt)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- cb_val = #\hyperref[zreadCapRegDDC]{readCapRegDDC}#(cb);
- rt_val = #\hyperref[zrGPR]{rGPR}#(rt);
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cd)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cd)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if (rt_val == 0x0000000000000000) then
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, null_cap)
- else if #\hyperref[znot]{not}# (cb_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cb)
- else
- let (success, newCap) = #\hyperref[zsetCapOffset]{setCapOffset}#(cb_val, rt_val) in
- if (success) then
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, newCap)
- else
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, #\hyperref[zintzytozycap]{int\_to\_cap}#(#\hyperref[ztozybits]{to\_bits}#(64, #\hyperref[zgetCapBase]{getCapBase}#(cb_val)) + rt_val))
-}
diff --git a/cheri/sail_latex/sailfnexecuteCGetAddr.tex b/cheri/sail_latex/sailfnexecuteCGetAddr.tex
deleted file mode 100644
index dd35b2ce..00000000
--- a/cheri/sail_latex/sailfnexecuteCGetAddr.tex
+++ /dev/null
@@ -1,9 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCGetAddr]{CGetAddr}#(rd, cb)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else
- let capVal = #\hyperref[zreadCapReg]{readCapReg}#(cb) in
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[ztozybits]{to\_bits}#(64, #\hyperref[zgetCapCursor]{getCapCursor}#(capVal));
-}
diff --git a/cheri/sail_latex/sailfnexecuteCGetBase.tex b/cheri/sail_latex/sailfnexecuteCGetBase.tex
deleted file mode 100644
index 305762b9..00000000
--- a/cheri/sail_latex/sailfnexecuteCGetBase.tex
+++ /dev/null
@@ -1,9 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCGetBase]{CGetBase}#(rd, cb)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else
- let capVal = #\hyperref[zreadCapReg]{readCapReg}#(cb) in
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[ztozybits]{to\_bits}#(64, #\hyperref[zgetCapBase]{getCapBase}#(capVal));
-}
diff --git a/cheri/sail_latex/sailfnexecuteCGetCause.tex b/cheri/sail_latex/sailfnexecuteCGetCause.tex
deleted file mode 100644
index 1753022e..00000000
--- a/cheri/sail_latex/sailfnexecuteCGetCause.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCGetCause]{CGetCause}#(rd)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- if #\hyperref[znot]{not}# (#\hyperref[zpcczyaccesszysystemzyregs]{pcc\_access\_system\_regs}# ()) then
- #\hyperref[zraisezyctwozyexceptionzynoreg]{raise\_c2\_exception\_noreg}#(CapEx_AccessSystemRegsViolation)
- else
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zzzerozyextend]{zero\_extend}#(CapCause.#\hyperref[zbits]{bits}#())
-}
diff --git a/cheri/sail_latex/sailfnexecuteCGetLen.tex b/cheri/sail_latex/sailfnexecuteCGetLen.tex
deleted file mode 100644
index 53450720..00000000
--- a/cheri/sail_latex/sailfnexecuteCGetLen.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCGetLen]{CGetLen}#(rd, cb)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else
- let capVal = #\hyperref[zreadCapReg]{readCapReg}#(cb) in
- let len65 = #\hyperref[zgetCapLength]{getCapLength}#(capVal) in
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[ztozybits]{to\_bits}#(64, if len65 > MAX_U64 then MAX_U64 else len65);
-}
diff --git a/cheri/sail_latex/sailfnexecuteCGetOffset.tex b/cheri/sail_latex/sailfnexecuteCGetOffset.tex
deleted file mode 100644
index de2e8e6c..00000000
--- a/cheri/sail_latex/sailfnexecuteCGetOffset.tex
+++ /dev/null
@@ -1,9 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCGetOffset]{CGetOffset}#(rd, cb)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else
- let capVal = #\hyperref[zreadCapReg]{readCapReg}#(cb) in
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[ztozybits]{to\_bits}#(64, #\hyperref[zgetCapOffset]{getCapOffset}#(capVal));
-}
diff --git a/cheri/sail_latex/sailfnexecuteCGetPCC.tex b/cheri/sail_latex/sailfnexecuteCGetPCC.tex
deleted file mode 100644
index 08b9aa67..00000000
--- a/cheri/sail_latex/sailfnexecuteCGetPCC.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCGetPCC]{CGetPCC}#(cd)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cd)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cd)
- else
- let pcc = (#\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(PCC)) in
- let (success, pcc2) = #\hyperref[zsetCapOffset]{setCapOffset}#(pcc, PC) in
- {assert (success, ""); /* guaranteed to be in-bounds */
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, pcc2)};
-}
diff --git a/cheri/sail_latex/sailfnexecuteCGetPCCSetOffset.tex b/cheri/sail_latex/sailfnexecuteCGetPCCSetOffset.tex
deleted file mode 100644
index b9af822e..00000000
--- a/cheri/sail_latex/sailfnexecuteCGetPCCSetOffset.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCGetPCCSetOffset]{CGetPCCSetOffset}#(cd, rs)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cd)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cd)
- else
- let pcc = (#\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(PCC)) in
- let rs_val = #\hyperref[zrGPR]{rGPR}#(rs) in
- let (success, newPCC) = #\hyperref[zsetCapOffset]{setCapOffset}#(pcc, rs_val) in
- if (success) then
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, newPCC)
- else
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, #\hyperref[zintzytozycap]{int\_to\_cap}#(rs_val));
-}
diff --git a/cheri/sail_latex/sailfnexecuteCGetPerm.tex b/cheri/sail_latex/sailfnexecuteCGetPerm.tex
deleted file mode 100644
index 8bde1b68..00000000
--- a/cheri/sail_latex/sailfnexecuteCGetPerm.tex
+++ /dev/null
@@ -1,9 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCGetPerm]{CGetPerm}#(rd, cb)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else
- let capVal = #\hyperref[zreadCapReg]{readCapReg}#(cb) in
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zzzerozyextend]{zero\_extend}#(#\hyperref[zgetCapPerms]{getCapPerms}#(capVal));
-}
diff --git a/cheri/sail_latex/sailfnexecuteCGetSealed.tex b/cheri/sail_latex/sailfnexecuteCGetSealed.tex
deleted file mode 100644
index fb51d742..00000000
--- a/cheri/sail_latex/sailfnexecuteCGetSealed.tex
+++ /dev/null
@@ -1,9 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCGetSealed]{CGetSealed}#(rd, cb)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else
- let capVal = #\hyperref[zreadCapReg]{readCapReg}#(cb) in
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zzzerozyextend]{zero\_extend}#(capVal.sealed);
-}
diff --git a/cheri/sail_latex/sailfnexecuteCGetTag.tex b/cheri/sail_latex/sailfnexecuteCGetTag.tex
deleted file mode 100644
index 827aed6e..00000000
--- a/cheri/sail_latex/sailfnexecuteCGetTag.tex
+++ /dev/null
@@ -1,9 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCGetTag]{CGetTag}#(rd, cb)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else
- let capVal = #\hyperref[zreadCapReg]{readCapReg}#(cb) in
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zzzerozyextend]{zero\_extend}#(capVal.tag);
-}
diff --git a/cheri/sail_latex/sailfnexecuteCGetType.tex b/cheri/sail_latex/sailfnexecuteCGetType.tex
deleted file mode 100644
index abd4490d..00000000
--- a/cheri/sail_latex/sailfnexecuteCGetType.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCGetType]{CGetType}#(rd, cb)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else
- let capVal = #\hyperref[zreadCapReg]{readCapReg}#(cb) in
- #\hyperref[zwGPR]{wGPR}#(rd) = if (capVal.sealed)
- then #\hyperref[zzzerozyextend]{zero\_extend}#(capVal.otype)
- else (bitone ^^ 64)
-}
diff --git a/cheri/sail_latex/sailfnexecuteCIncOffset.tex b/cheri/sail_latex/sailfnexecuteCIncOffset.tex
deleted file mode 100644
index 4b4b1888..00000000
--- a/cheri/sail_latex/sailfnexecuteCIncOffset.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCIncOffset]{CIncOffset}#(cd, cb, rt)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- cb_val = #\hyperref[zreadCapReg]{readCapReg}#(cb);
- rt_val = #\hyperref[zrGPR]{rGPR}#(rt);
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cd)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cd)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if ((cb_val.tag) & (cb_val.sealed) & (rt_val != 0x0000000000000000)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cb)
- else
- let (success, newCap) = #\hyperref[zincCapOffset]{incCapOffset}#(cb_val, rt_val) in
- if (success) then
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, newCap)
- else
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, #\hyperref[zintzytozycap]{int\_to\_cap}#(#\hyperref[ztozybits]{to\_bits}#(64, #\hyperref[zgetCapBase]{getCapBase}#(cb_val)) + rt_val))
-}
diff --git a/cheri/sail_latex/sailfnexecuteCIncOffsetImmediate.tex b/cheri/sail_latex/sailfnexecuteCIncOffsetImmediate.tex
deleted file mode 100644
index d82f66c9..00000000
--- a/cheri/sail_latex/sailfnexecuteCIncOffsetImmediate.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCIncOffsetImmediate]{CIncOffsetImmediate}#(cd, cb, imm)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- let cb_val = #\hyperref[zreadCapReg]{readCapReg}#(cb);
- let imm64 : #\hyperref[zbits]{bits}#(64) = #\hyperref[zsignzyextend]{sign\_extend}#(imm) in
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cd)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cd)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if ((cb_val.tag) & (cb_val.sealed)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cb)
- else
- let (success, newCap) = #\hyperref[zincCapOffset]{incCapOffset}#(cb_val, imm64) in
- if (success) then
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, newCap)
- else
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, #\hyperref[zintzytozycap]{int\_to\_cap}#(#\hyperref[ztozybits]{to\_bits}#(64, #\hyperref[zgetCapBase]{getCapBase}#(cb_val)) + imm64))
-}
diff --git a/cheri/sail_latex/sailfnexecuteCJALR.tex b/cheri/sail_latex/sailfnexecuteCJALR.tex
deleted file mode 100644
index 76a5aa86..00000000
--- a/cheri/sail_latex/sailfnexecuteCJALR.tex
+++ /dev/null
@@ -1,35 +0,0 @@
-function clause #\hyperref[zexecute]{execute}#(#\hyperref[zCJALR]{CJALR}#(cd, cb, link)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- cb_val = #\hyperref[zreadCapReg]{readCapReg}#(cb);
- cb_ptr = #\hyperref[zgetCapCursor]{getCapCursor}#(cb_val);
- cb_top = #\hyperref[zgetCapTop]{getCapTop}#(cb_val);
- cb_base= #\hyperref[zgetCapBase]{getCapBase}#(cb_val);
- if (link & #\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cd)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cd)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if #\hyperref[znot]{not}# (cb_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cb)
- else if #\hyperref[znot]{not}# (cb_val.permit_execute) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_PermitExecuteViolation, cb)
- else if (cb_ptr < cb_base) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cb)
- else if ((cb_ptr + 4) > cb_top) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cb)
- else if ((cb_ptr % 4) != 0) then
- #\hyperref[zSignalException]{SignalException}#(AdEL)
- else
- {
- if (link) then
- let pcc = #\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(PCC) in
- let (success, linkCap) = #\hyperref[zsetCapOffset]{setCapOffset}#(pcc, PC+8) in
- if (success) then
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, linkCap)
- else
- assert(false, "");
- #\hyperref[zexecutezybranchzypcc]{execute\_branch\_pcc}#(cb_val);
- }
-}
diff --git a/cheri/sail_latex/sailfnexecuteCLC.tex b/cheri/sail_latex/sailfnexecuteCLC.tex
deleted file mode 100644
index a128ee88..00000000
--- a/cheri/sail_latex/sailfnexecuteCLC.tex
+++ /dev/null
@@ -1,44 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCLC]{CLC}#(cd, cb, rt, offset, linked)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- cb_val = #\hyperref[zreadCapRegDDC]{readCapRegDDC}#(cb);
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cd)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cd)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if #\hyperref[znot]{not}# (cb_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cb)
- else if #\hyperref[znot]{not}# (cb_val.permit_load) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_PermitLoadViolation, cb)
- else
- {
- cursor = #\hyperref[zgetCapCursor]{getCapCursor}#(cb_val);
- vAddr = (cursor + #\hyperref[zunsigned]{unsigned}#(#\hyperref[zrGPR]{rGPR}#(rt)) + 16 * #\hyperref[zsigned]{signed}#(offset)) % #\hyperref[zpowtwo]{pow2}#(64);
- vAddr64= #\hyperref[ztozybits]{to\_bits}#(64, vAddr);
- if ((vAddr + cap_size) > #\hyperref[zgetCapTop]{getCapTop}#(cb_val)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cb)
- else if (vAddr < #\hyperref[zgetCapBase]{getCapBase}#(cb_val)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cb)
- else if ((vAddr % cap_size) != 0) then
- #\hyperref[zSignalExceptionBadAddr]{SignalExceptionBadAddr}#(AdEL, vAddr64)
- else
- {
- let (pAddr, suppressTag) = #\hyperref[zTLBTranslateC]{TLBTranslateC}#(vAddr64, LoadData) in
- let 'cd = #\hyperref[zunsigned]{unsigned}#(cd) in
- if (linked) then
- {
- CP0LLBit = 0b1;
- CP0LLAddr = pAddr;
- let (tag, mem) = #\hyperref[zMEMrzytaggedzyreserve]{MEMr\_tagged\_reserve}#(pAddr) in
- (*CapRegs[cd]) = #\hyperref[zmemBitsToCapBits]{memBitsToCapBits}#(tag & (cb_val.permit_load_cap) & (#\hyperref[znot]{not}# (suppressTag)), mem);
- }
- else
- {
- let (tag, mem) = #\hyperref[zMEMrzytagged]{MEMr\_tagged}#(pAddr) in
- (*CapRegs[cd]) = #\hyperref[zmemBitsToCapBits]{memBitsToCapBits}#(tag & (cb_val.permit_load_cap) & (#\hyperref[znot]{not}# (suppressTag)), mem);
- }
- }
- }
-}
diff --git a/cheri/sail_latex/sailfnexecuteCLoad.tex b/cheri/sail_latex/sailfnexecuteCLoad.tex
deleted file mode 100644
index 399e63f0..00000000
--- a/cheri/sail_latex/sailfnexecuteCLoad.tex
+++ /dev/null
@@ -1,39 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCLoad]{CLoad}#(rd, cb, rt, offset, signext, width, linked)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- cb_val = #\hyperref[zreadCapRegDDC]{readCapRegDDC}#(cb);
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if #\hyperref[znot]{not}# (cb_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cb)
- else if #\hyperref[znot]{not}# (cb_val.permit_load) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_PermitLoadViolation, cb)
- else
- {
- let 'size = #\hyperref[zwordWidthBytes]{wordWidthBytes}#(width);
- let cursor = #\hyperref[zgetCapCursor]{getCapCursor}#(cb_val);
- let vAddr = (cursor + #\hyperref[zunsigned]{unsigned}#(#\hyperref[zrGPR]{rGPR}#(rt)) + size*#\hyperref[zsigned]{signed}#(offset)) % #\hyperref[zpowtwo]{pow2}#(64);
- let vAddr64 = #\hyperref[ztozybits]{to\_bits}#(64, vAddr);
- if ((vAddr + size) > #\hyperref[zgetCapTop]{getCapTop}#(cb_val)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cb)
- else if (vAddr < #\hyperref[zgetCapBase]{getCapBase}#(cb_val)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cb)
- else if #\hyperref[znot]{not}# (#\hyperref[zisAddressAligned]{isAddressAligned}#(vAddr64, width)) then
- #\hyperref[zSignalExceptionBadAddr]{SignalExceptionBadAddr}#(AdEL, vAddr64)
- else
- {
- pAddr = (#\hyperref[zTLBTranslate]{TLBTranslate}#(vAddr64, LoadData));
- memResult : #\hyperref[zbits]{bits}#(64) = if (linked) then
- {
- CP0LLBit = 0b1;
- CP0LLAddr = pAddr;
- #\hyperref[zextendLoad]{extendLoad}#(#\hyperref[zMEMrzyreservezywrapper]{MEMr\_reserve\_wrapper}#(pAddr, size), signext)
- }
- else
- #\hyperref[zextendLoad]{extendLoad}#(#\hyperref[zMEMrzywrapper]{MEMr\_wrapper}#(pAddr, size), signext);
- #\hyperref[zwGPR]{wGPR}#(rd) = memResult;
- }
- }
-}
diff --git a/cheri/sail_latex/sailfnexecuteCMOVX.tex b/cheri/sail_latex/sailfnexecuteCMOVX.tex
deleted file mode 100644
index 94039992..00000000
--- a/cheri/sail_latex/sailfnexecuteCMOVX.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCMOVX]{CMOVX}#(cd, cb, rt, ismovn)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cd)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cd)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if ((#\hyperref[zrGPR]{rGPR}#(rt) == #\hyperref[zzzeros]{zeros}#()) ^ ismovn) then
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd) = #\hyperref[zreadCapReg]{readCapReg}#(cb);
-}
diff --git a/cheri/sail_latex/sailfnexecuteCPtrCmp.tex b/cheri/sail_latex/sailfnexecuteCPtrCmp.tex
deleted file mode 100644
index fc0f7c54..00000000
--- a/cheri/sail_latex/sailfnexecuteCPtrCmp.tex
+++ /dev/null
@@ -1,43 +0,0 @@
-function clause #\hyperref[zexecute]{execute}#(#\hyperref[zCPtrCmp]{CPtrCmp}#(rd, cb, ct, op)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(ct)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, ct)
- else
- {
- let cb_val = #\hyperref[zreadCapReg]{readCapReg}#(cb);
- let ct_val = #\hyperref[zreadCapReg]{readCapReg}#(ct);
- equal = false;
- ltu = false;
- lts = false;
- if (cb_val.tag != ct_val.tag) then
- {
- if #\hyperref[znot]{not}# (cb_val.tag) then
- {
- ltu = true;
- lts = true;
- }
- }
- else
- {
- cursor1 = #\hyperref[zgetCapCursor]{getCapCursor}#(cb_val);
- cursor2 = #\hyperref[zgetCapCursor]{getCapCursor}#(ct_val);
- equal = (cursor1 == cursor2);
- ltu = (cursor1 < cursor2);
- lts = #\hyperref[ztozybits]{to\_bits}#(64, cursor1) <_s #\hyperref[ztozybits]{to\_bits}#(64, cursor2);
- };
- let cmp : bool = match op {
- CEQ => equal,
- CNE => #\hyperref[znot]{not}# (equal),
- CLT => lts,
- CLE => lts | equal,
- CLTU => ltu,
- CLEU => ltu | equal,
- CEXEQ => cb_val == ct_val,
- CNEXEQ => cb_val != ct_val
- };
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zzzerozyextend]{zero\_extend}# (cmp)
- }
-}
diff --git a/cheri/sail_latex/sailfnexecuteCReadHwr.tex b/cheri/sail_latex/sailfnexecuteCReadHwr.tex
deleted file mode 100644
index cc347d08..00000000
--- a/cheri/sail_latex/sailfnexecuteCReadHwr.tex
+++ /dev/null
@@ -1,35 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCReadHwr]{CReadHwr}#(cd, sel)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- let (needSup, needAccessSys) : (bool, bool) = match #\hyperref[zunsigned]{unsigned}#(sel) {
- 0 => (false, false), /* DDC -- no access control */
- 1 => (false, false), /* CTLSU -- no access control */
- 8 => (false, true), /* CTLSP -- privileged TLS */
- 22 => (true, false), /* KR1C */
- 23 => (true, false), /* KR2C */
- 29 => (true, true), /* KCC */
- 30 => (true, true), /* KDC */
- 31 => (true, true), /* EPCC */
- _ => #\hyperref[zSignalException]{SignalException}#(ResI)
- };
- if #\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cd) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cd)
- else if needAccessSys & #\hyperref[znot]{not}#(#\hyperref[zpcczyaccesszysystemzyregs]{pcc\_access\_system\_regs}#()) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, sel)
- else if needSup & #\hyperref[znot]{not}#(#\hyperref[zgrantsAccess]{grantsAccess}#(#\hyperref[zgetAccessLevel]{getAccessLevel}#(), Supervisor)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, sel)
- else {
- capVal : CapStruct = match #\hyperref[zunsigned]{unsigned}#(sel) {
- 0 => #\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(DDC),
- 1 => #\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(CTLSU),
- 8 => #\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(CTLSP),
- 22 => #\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(KR1C),
- 23 => #\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(KR2C),
- 29 => #\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(KCC),
- 30 => #\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(KDC),
- 31 => #\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(EPCC),
- _ => {assert(false, "should be unreachable code"); undefined}
- };
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, capVal);
- };
-}
diff --git a/cheri/sail_latex/sailfnexecuteCReturn.tex b/cheri/sail_latex/sailfnexecuteCReturn.tex
deleted file mode 100644
index 67f07815..00000000
--- a/cheri/sail_latex/sailfnexecuteCReturn.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCReturn]{CReturn}#()) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- #\hyperref[zraisezyctwozyexceptionzynoreg]{raise\_c2\_exception\_noreg}#(CapEx_ReturnTrap)
-}
diff --git a/cheri/sail_latex/sailfnexecuteCSC.tex b/cheri/sail_latex/sailfnexecuteCSC.tex
deleted file mode 100644
index cd89dcdf..00000000
--- a/cheri/sail_latex/sailfnexecuteCSC.tex
+++ /dev/null
@@ -1,48 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCSC]{CSC}#(cs, cb, rt, rd, offset, conditional)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- cs_val = #\hyperref[zreadCapReg]{readCapReg}#(cs);
- cb_val = #\hyperref[zreadCapRegDDC]{readCapRegDDC}#(cb);
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cs)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cs)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if #\hyperref[znot]{not}# (cb_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cb)
- else if #\hyperref[znot]{not}# (cb_val.permit_store) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_PermitStoreViolation, cb)
- else if #\hyperref[znot]{not}# (cb_val.permit_store_cap) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_PermitStoreCapViolation, cb)
- else if #\hyperref[znot]{not}# (cb_val.permit_store_local_cap) & (cs_val.tag) & #\hyperref[znot]{not}# (cs_val.global) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_PermitStoreLocalCapViolation, cb)
- else
- {
- cursor = #\hyperref[zgetCapCursor]{getCapCursor}#(cb_val);
- vAddr = (cursor + #\hyperref[zunsigned]{unsigned}#(#\hyperref[zrGPR]{rGPR}#(rt)) + 16 * #\hyperref[zsigned]{signed}#(offset)) % #\hyperref[zpowtwo]{pow2}#(64);
- vAddr64= #\hyperref[ztozybits]{to\_bits}#(64, vAddr);
- if ((vAddr + cap_size) > #\hyperref[zgetCapTop]{getCapTop}#(cb_val)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cb)
- else if (vAddr < #\hyperref[zgetCapBase]{getCapBase}#(cb_val)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cb)
- else if ((vAddr % cap_size) != 0) then
- #\hyperref[zSignalExceptionBadAddr]{SignalExceptionBadAddr}#(AdES, vAddr64)
- else
- {
- let (pAddr, noStoreCap) = #\hyperref[zTLBTranslateC]{TLBTranslateC}#(vAddr64, StoreData) in
- if (cs_val.tag & noStoreCap) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TLBNoStoreCap, cs)
- else if (conditional) then
- {
- success = if (CP0LLBit[0]) then
- #\hyperref[zMEMwzytaggedzyconditional]{MEMw\_tagged\_conditional}#(pAddr, cs_val.tag, #\hyperref[zcapStructToMemBits]{capStructToMemBits}#(cs_val))
- else
- false;
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zzzerozyextend]{zero\_extend}#(success);
- }
- else
- #\hyperref[zMEMwzytagged]{MEMw\_tagged}#(pAddr, cs_val.tag, #\hyperref[zcapStructToMemBits]{capStructToMemBits}#(cs_val));
- }
- }
-}
diff --git a/cheri/sail_latex/sailfnexecuteCSeal.tex b/cheri/sail_latex/sailfnexecuteCSeal.tex
deleted file mode 100644
index bf062276..00000000
--- a/cheri/sail_latex/sailfnexecuteCSeal.tex
+++ /dev/null
@@ -1,37 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCSeal]{CSeal}#(cd, cs, ct)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- cs_val = #\hyperref[zreadCapReg]{readCapReg}#(cs);
- ct_val = #\hyperref[zreadCapReg]{readCapReg}#(ct);
- ct_cursor = #\hyperref[zgetCapCursor]{getCapCursor}#(ct_val);
- ct_top = #\hyperref[zgetCapTop]{getCapTop}#(ct_val);
- ct_base = #\hyperref[zgetCapBase]{getCapBase}#(ct_val);
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cd)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cd)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cs)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cs)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(ct)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, ct)
- else if #\hyperref[znot]{not}# (cs_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, cs)
- else if #\hyperref[znot]{not}# (ct_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, ct)
- else if (cs_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cs)
- else if (ct_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, ct)
- else if #\hyperref[znot]{not}# (ct_val.permit_seal) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_PermitSealViolation, ct)
- else if (ct_cursor < ct_base) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, ct)
- else if (ct_cursor >= ct_top) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, ct)
- else if (ct_cursor > max_otype) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, ct)
- else
- let (success, newCap) = #\hyperref[zsealCap]{sealCap}#(cs_val, #\hyperref[ztozybits]{to\_bits}#(24, ct_cursor)) in
- if #\hyperref[znot]{not}# (success) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_InexactBounds, cs)
- else
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, newCap)
-}
diff --git a/cheri/sail_latex/sailfnexecuteCSetBounds.tex b/cheri/sail_latex/sailfnexecuteCSetBounds.tex
deleted file mode 100644
index b193425d..00000000
--- a/cheri/sail_latex/sailfnexecuteCSetBounds.tex
+++ /dev/null
@@ -1,25 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCSetBounds]{CSetBounds}#(cd, cb, rt)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- let cb_val = #\hyperref[zreadCapReg]{readCapReg}#(cb);
- let rt_val = #\hyperref[zunsigned]{unsigned}#(#\hyperref[zrGPR]{rGPR}#(rt));
- cursor = #\hyperref[zgetCapCursor]{getCapCursor}#(cb_val);
- base = #\hyperref[zgetCapBase]{getCapBase}#(cb_val);
- top = #\hyperref[zgetCapTop]{getCapTop}#(cb_val);
- newTop = cursor + rt_val;
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cd)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cd)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if #\hyperref[znot]{not}# (cb_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cb)
- else if (cursor < base) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cb)
- else if (newTop > top) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cb)
- else
- let (_, newCap) = #\hyperref[zsetCapBounds]{setCapBounds}#(cb_val, #\hyperref[ztozybits]{to\_bits}#(64, cursor), #\hyperref[ztozybits]{to\_bits}#(65, newTop)) in
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, newCap) /* ignore exact */
-}
diff --git a/cheri/sail_latex/sailfnexecuteCSetBoundsExact.tex b/cheri/sail_latex/sailfnexecuteCSetBoundsExact.tex
deleted file mode 100644
index 29d049b1..00000000
--- a/cheri/sail_latex/sailfnexecuteCSetBoundsExact.tex
+++ /dev/null
@@ -1,28 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCSetBoundsExact]{CSetBoundsExact}#(cd, cb, rt)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- cb_val = #\hyperref[zreadCapReg]{readCapReg}#(cb);
- rt_val = #\hyperref[zunsigned]{unsigned}#(#\hyperref[zrGPR]{rGPR}#(rt));
- cursor = #\hyperref[zgetCapCursor]{getCapCursor}#(cb_val);
- base = #\hyperref[zgetCapBase]{getCapBase}#(cb_val);
- top = #\hyperref[zgetCapTop]{getCapTop}#(cb_val);
- newTop = cursor + rt_val;
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cd)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cd)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if #\hyperref[znot]{not}# (cb_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cb)
- else if (cursor < base) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cb)
- else if (newTop > top) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cb)
- else
- let (exact, newCap) = #\hyperref[zsetCapBounds]{setCapBounds}#(cb_val, #\hyperref[ztozybits]{to\_bits}#(64, cursor), #\hyperref[ztozybits]{to\_bits}#(65, newTop)) in
- if #\hyperref[znot]{not}# (exact) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_InexactBounds, cb)
- else
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, newCap)
-}
diff --git a/cheri/sail_latex/sailfnexecuteCSetBoundsImmediate.tex b/cheri/sail_latex/sailfnexecuteCSetBoundsImmediate.tex
deleted file mode 100644
index 2d3cfb44..00000000
--- a/cheri/sail_latex/sailfnexecuteCSetBoundsImmediate.tex
+++ /dev/null
@@ -1,25 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCSetBoundsImmediate]{CSetBoundsImmediate}#(cd, cb, imm)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- cb_val = #\hyperref[zreadCapReg]{readCapReg}#(cb);
- immU = #\hyperref[zunsigned]{unsigned}#(imm);
- cursor = #\hyperref[zgetCapCursor]{getCapCursor}#(cb_val);
- base = #\hyperref[zgetCapBase]{getCapBase}#(cb_val);
- top = #\hyperref[zgetCapTop]{getCapTop}#(cb_val);
- newTop = cursor + immU;
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cd)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cd)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if #\hyperref[znot]{not}# (cb_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cb)
- else if (cursor < base) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cb)
- else if (newTop > top) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cb)
- else
- let (_, newCap) = #\hyperref[zsetCapBounds]{setCapBounds}#(cb_val, #\hyperref[ztozybits]{to\_bits}#(64, cursor), #\hyperref[ztozybits]{to\_bits}#(65, newTop)) in
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, newCap) /* ignore exact */
-}
diff --git a/cheri/sail_latex/sailfnexecuteCSetCause.tex b/cheri/sail_latex/sailfnexecuteCSetCause.tex
deleted file mode 100644
index b6b9ca15..00000000
--- a/cheri/sail_latex/sailfnexecuteCSetCause.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCSetCause]{CSetCause}#(rt)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- if #\hyperref[znot]{not}# (#\hyperref[zpcczyaccesszysystemzyregs]{pcc\_access\_system\_regs}# ()) then
- #\hyperref[zraisezyctwozyexceptionzynoreg]{raise\_c2\_exception\_noreg}#(CapEx_AccessSystemRegsViolation)
- else
- {
- let rt_val = #\hyperref[zrGPR]{rGPR}#(rt);
- CapCause->#\hyperref[zExcCode]{ExcCode}#() = rt_val[15..8];
- CapCause->#\hyperref[zRegNum]{RegNum}#() = rt_val[7..0];
- }
-}
diff --git a/cheri/sail_latex/sailfnexecuteCSetOffset.tex b/cheri/sail_latex/sailfnexecuteCSetOffset.tex
deleted file mode 100644
index 6973667a..00000000
--- a/cheri/sail_latex/sailfnexecuteCSetOffset.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCSetOffset]{CSetOffset}#(cd, cb, rt)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- let cb_val = #\hyperref[zreadCapReg]{readCapReg}#(cb);
- let rt_val = #\hyperref[zrGPR]{rGPR}#(rt);
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cd)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cd)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if ((cb_val.tag) & (cb_val.sealed)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cb)
- else
- let (success, newCap) = #\hyperref[zsetCapOffset]{setCapOffset}#(cb_val, rt_val) in
- if (success) then
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, newCap)
- else
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, #\hyperref[zintzytozycap]{int\_to\_cap}#(#\hyperref[ztozybits]{to\_bits}#(64, #\hyperref[zgetCapBase]{getCapBase}#(cb_val)) + rt_val))
-}
diff --git a/cheri/sail_latex/sailfnexecuteCStore.tex b/cheri/sail_latex/sailfnexecuteCStore.tex
deleted file mode 100644
index 6ab40e18..00000000
--- a/cheri/sail_latex/sailfnexecuteCStore.tex
+++ /dev/null
@@ -1,53 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCStore]{CStore}#(rs, cb, rt, rd, offset, width, conditional)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- cb_val = #\hyperref[zreadCapRegDDC]{readCapRegDDC}#(cb);
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if #\hyperref[znot]{not}# (cb_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, cb)
- else if (cb_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cb)
- else if #\hyperref[znot]{not}# (cb_val.permit_store) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_PermitStoreViolation, cb)
- else
- {
- size = #\hyperref[zwordWidthBytes]{wordWidthBytes}#(width);
- cursor = #\hyperref[zgetCapCursor]{getCapCursor}#(cb_val);
- vAddr = (cursor + #\hyperref[zunsigned]{unsigned}#(#\hyperref[zrGPR]{rGPR}#(rt)) + size * #\hyperref[zsigned]{signed}#(offset)) % #\hyperref[zpowtwo]{pow2}#(64);
- vAddr64= #\hyperref[ztozybits]{to\_bits}#(64, vAddr);
- if ((vAddr + size) > #\hyperref[zgetCapTop]{getCapTop}#(cb_val)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cb)
- else if (vAddr < #\hyperref[zgetCapBase]{getCapBase}#(cb_val)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cb)
- else if #\hyperref[znot]{not}# (#\hyperref[zisAddressAligned]{isAddressAligned}#(vAddr64, width)) then
- #\hyperref[zSignalExceptionBadAddr]{SignalExceptionBadAddr}#(AdES, vAddr64)
- else
- {
- pAddr = (#\hyperref[zTLBTranslate]{TLBTranslate}#(vAddr64, StoreData));
- rs_val = #\hyperref[zrGPR]{rGPR}#(rs);
- if (conditional) then
- {
- success : bool = if (CP0LLBit[0]) then
- match width
- {
- B => #\hyperref[zMEMwzyconditionalzywrapper]{MEMw\_conditional\_wrapper}#(pAddr, 1, rs_val[7..0]),
- H => #\hyperref[zMEMwzyconditionalzywrapper]{MEMw\_conditional\_wrapper}#(pAddr, 2, rs_val[15..0]),
- W => #\hyperref[zMEMwzyconditionalzywrapper]{MEMw\_conditional\_wrapper}#(pAddr, 4, rs_val[31..0]),
- D => #\hyperref[zMEMwzyconditionalzywrapper]{MEMw\_conditional\_wrapper}#(pAddr, 8, rs_val)
- }
- else
- false;
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zzzerozyextend]{zero\_extend}#(success);
- }
- else
- match width
- {
- B => #\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(pAddr, 1) = rs_val[7..0],
- H => #\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(pAddr, 2) = rs_val[15..0],
- W => #\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(pAddr, 4) = rs_val[31..0],
- D => #\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(pAddr, 8) = rs_val
- }
- }
- }
-}
diff --git a/cheri/sail_latex/sailfnexecuteCSub.tex b/cheri/sail_latex/sailfnexecuteCSub.tex
deleted file mode 100644
index 957b645f..00000000
--- a/cheri/sail_latex/sailfnexecuteCSub.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-function clause #\hyperref[zexecute]{execute}#(#\hyperref[zCSub]{CSub}#(rd, cb, ct)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- let ct_val = #\hyperref[zreadCapReg]{readCapReg}#(ct);
- let cb_val = #\hyperref[zreadCapReg]{readCapReg}#(cb);
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(ct)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, ct)
- else
- {
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[ztozybits]{to\_bits}#(64, #\hyperref[zgetCapCursor]{getCapCursor}#(cb_val) - #\hyperref[zgetCapCursor]{getCapCursor}#(ct_val))
- }
-}
diff --git a/cheri/sail_latex/sailfnexecuteCTestSubset.tex b/cheri/sail_latex/sailfnexecuteCTestSubset.tex
deleted file mode 100644
index a339dff7..00000000
--- a/cheri/sail_latex/sailfnexecuteCTestSubset.tex
+++ /dev/null
@@ -1,29 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCTestSubset]{CTestSubset}#(rd, cb, ct)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- cb_val = #\hyperref[zreadCapRegDDC]{readCapRegDDC}#(cb);
- ct_val = #\hyperref[zreadCapReg]{readCapReg}#(ct);
- ct_top = #\hyperref[zgetCapTop]{getCapTop}#(ct_val);
- ct_base = #\hyperref[zgetCapBase]{getCapBase}#(ct_val);
- ct_perms = #\hyperref[zgetCapPerms]{getCapPerms}#(ct_val);
- cb_top = #\hyperref[zgetCapTop]{getCapTop}#(cb_val);
- cb_base = #\hyperref[zgetCapBase]{getCapBase}#(cb_val);
- cb_perms = #\hyperref[zgetCapPerms]{getCapPerms}#(cb_val);
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(ct)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, ct)
- else {
- result : #\hyperref[zbits]{bits}#(1) = if (cb_val.tag != ct_val.tag) then
- 0b0
- else if (ct_base < cb_base) then
- 0b0
- else if (ct_top > cb_top) then
- 0b0
- else if ((ct_perms & cb_perms) != ct_perms) then
- 0b0
- else
- 0b1;
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zzzerozyextend]{zero\_extend}#(result);
- }
-}
diff --git a/cheri/sail_latex/sailfnexecuteCToPtr.tex b/cheri/sail_latex/sailfnexecuteCToPtr.tex
deleted file mode 100644
index f37d7ac3..00000000
--- a/cheri/sail_latex/sailfnexecuteCToPtr.tex
+++ /dev/null
@@ -1,27 +0,0 @@
-function clause #\hyperref[zexecute]{execute}#(#\hyperref[zCToPtr]{CToPtr}#(rd, cb, ct)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- let ct_val = #\hyperref[zreadCapRegDDC]{readCapRegDDC}#(ct);
- let cb_val = #\hyperref[zreadCapReg]{readCapReg}#(cb);
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(ct)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, ct)
- else if #\hyperref[znot]{not}# (ct_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, ct)
- else if (cb_val.tag) & (cb_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cb)
- else
- {
- let cbBase = #\hyperref[zgetCapBase]{getCapBase}#(cb_val) in
- let cbTop = #\hyperref[zgetCapTop]{getCapTop}#(cb_val) in
- let ctBase = #\hyperref[zgetCapBase]{getCapBase}#(ct_val) in
- let ctTop = #\hyperref[zgetCapTop]{getCapTop}#(ct_val) in
- #\hyperref[zwGPR]{wGPR}#(rd) = if (#\hyperref[znot]{not}# (cb_val.tag)) |
- (cbBase < ctBase) |
- (cbTop > ctTop) then
- #\hyperref[zzzeros]{zeros}#()
- else
- #\hyperref[ztozybits]{to\_bits}#(64, #\hyperref[zgetCapCursor]{getCapCursor}#(cb_val) - ctBase)
- }
-}
diff --git a/cheri/sail_latex/sailfnexecuteCUnseal.tex b/cheri/sail_latex/sailfnexecuteCUnseal.tex
deleted file mode 100644
index 48b529ef..00000000
--- a/cheri/sail_latex/sailfnexecuteCUnseal.tex
+++ /dev/null
@@ -1,35 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCUnseal]{CUnseal}#(cd, cs, ct)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- cs_val = #\hyperref[zreadCapReg]{readCapReg}#(cs);
- ct_val = #\hyperref[zreadCapReg]{readCapReg}#(ct);
- ct_cursor = #\hyperref[zgetCapCursor]{getCapCursor}#(ct_val);
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cd)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cd)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cs)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cs)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(ct)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, ct)
- else if #\hyperref[znot]{not}# (cs_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, cs)
- else if #\hyperref[znot]{not}# (ct_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, ct)
- else if #\hyperref[znot]{not}# (cs_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cs)
- else if (ct_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, ct)
- else if (ct_cursor != #\hyperref[zunsigned]{unsigned}#(cs_val.otype)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TypeViolation, ct)
- else if #\hyperref[znot]{not}# (ct_val.permit_unseal) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_PermitUnsealViolation, ct)
- else if (ct_cursor < #\hyperref[zgetCapBase]{getCapBase}#(ct_val)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, ct)
- else if (ct_cursor >= #\hyperref[zgetCapTop]{getCapTop}#(ct_val)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, ct)
- else
- #\hyperref[zwriteCapReg]{writeCapReg}#(cd, {cs_val with
- sealed=false,
- otype=#\hyperref[zzzeros]{zeros}#(),
- global=(cs_val.global & ct_val.global)
- })
-}
diff --git a/cheri/sail_latex/sailfnexecuteCWriteHwr.tex b/cheri/sail_latex/sailfnexecuteCWriteHwr.tex
deleted file mode 100644
index 586efb38..00000000
--- a/cheri/sail_latex/sailfnexecuteCWriteHwr.tex
+++ /dev/null
@@ -1,35 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCWriteHwr]{CWriteHwr}#(cb, sel)) =
-{
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- let (needSup, needAccessSys) : (bool, bool) = match #\hyperref[zunsigned]{unsigned}#(sel) {
- 0 => (false, false), /* DDC -- no access control */
- 1 => (false, false), /* CTLSU -- no access control */
- 8 => (false, true), /* CTLSP -- privileged TLS */
- 22 => (true, false), /* KR1C */
- 23 => (true, false), /* KR2C */
- 29 => (true, true), /* KCC */
- 30 => (true, true), /* KDC */
- 31 => (true, true), /* EPCC */
- _ => #\hyperref[zSignalException]{SignalException}#(ResI)
- };
- if #\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if needAccessSys & #\hyperref[znot]{not}#(#\hyperref[zpcczyaccesszysystemzyregs]{pcc\_access\_system\_regs}#()) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, sel)
- else if needSup & #\hyperref[znot]{not}#(#\hyperref[zgrantsAccess]{grantsAccess}#(#\hyperref[zgetAccessLevel]{getAccessLevel}#(), Supervisor)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, sel)
- else {
- capVal = #\hyperref[zreadCapReg]{readCapReg}#(cb);
- match #\hyperref[zunsigned]{unsigned}#(sel) {
- 0 => DDC = #\hyperref[zcapStructToCapReg]{capStructToCapReg}#(capVal),
- 1 => CTLSU = #\hyperref[zcapStructToCapReg]{capStructToCapReg}#(capVal),
- 8 => CTLSP = #\hyperref[zcapStructToCapReg]{capStructToCapReg}#(capVal),
- 22 => KR1C = #\hyperref[zcapStructToCapReg]{capStructToCapReg}#(capVal),
- 23 => KR2C = #\hyperref[zcapStructToCapReg]{capStructToCapReg}#(capVal),
- 29 => KCC = #\hyperref[zcapStructToCapReg]{capStructToCapReg}#(capVal),
- 30 => KDC = #\hyperref[zcapStructToCapReg]{capStructToCapReg}#(capVal),
- 31 => EPCC = #\hyperref[zcapStructToCapReg]{capStructToCapReg}#(capVal),
- _ => assert(false, "should be unreachable code")
- };
- };
-}
diff --git a/cheri/sail_latex/sailfnexecuteClearRegs.tex b/cheri/sail_latex/sailfnexecuteClearRegs.tex
deleted file mode 100644
index 5283918f..00000000
--- a/cheri/sail_latex/sailfnexecuteClearRegs.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zClearRegs]{ClearRegs}#(regset, m)) =
-{
- if ((regset == CLo) | (regset == CHi)) then
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- if (regset == CHi) then
- foreach (i from 0 to 15)
- let r = #\hyperref[ztozybits]{to\_bits}#(5, i+16) in
- if (m[i] & #\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(r)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, r);
- foreach (i from 0 to 15)
- if (m[i]) then
- match regset {
- GPLo => #\hyperref[zwGPR]{wGPR}#(#\hyperref[ztozybits]{to\_bits}#(5, i)) = #\hyperref[zzzeros]{zeros}#(),
- GPHi => #\hyperref[zwGPR]{wGPR}#(#\hyperref[ztozybits]{to\_bits}#(5, i+16)) = #\hyperref[zzzeros]{zeros}#(),
- CLo => if i == 0 then
- DDC = #\hyperref[zcapStructToCapReg]{capStructToCapReg}#(null_cap)
- else
- #\hyperref[zwriteCapReg]{writeCapReg}#(#\hyperref[ztozybits]{to\_bits}#(5, i)) = null_cap,
- CHi => #\hyperref[zwriteCapReg]{writeCapReg}#(#\hyperref[ztozybits]{to\_bits}#(5, i+16)) = null_cap
- }
-}
diff --git a/cheri/sail_latex/sailfnexecuteCtwoDump.tex b/cheri/sail_latex/sailfnexecuteCtwoDump.tex
deleted file mode 100644
index d4986ec2..00000000
--- a/cheri/sail_latex/sailfnexecuteCtwoDump.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCtwoDump]{C2Dump}# (rt)) =
- () /* Currently a NOP */
diff --git a/cheri/sail_latex/sailfnexecuteDADD.tex b/cheri/sail_latex/sailfnexecuteDADD.tex
deleted file mode 100644
index 8a3c2f76..00000000
--- a/cheri/sail_latex/sailfnexecuteDADD.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zDADD]{DADD}# (rs, rt, rd)) =
- {
- let sum65 : #\hyperref[zbits]{bits}#(65) = #\hyperref[zsignzyextend]{sign\_extend}#(#\hyperref[zrGPR]{rGPR}#(rs)) + #\hyperref[zsignzyextend]{sign\_extend}#(#\hyperref[zrGPR]{rGPR}#(rt)) in
- {
- if sum65[64] != sum65[63] then
- (#\hyperref[zSignalException]{SignalException}#(Ov))
- else
- #\hyperref[zwGPR]{wGPR}#(rd) = sum65[63..0]
- }
- }
diff --git a/cheri/sail_latex/sailfnexecuteDADDI.tex b/cheri/sail_latex/sailfnexecuteDADDI.tex
deleted file mode 100644
index c03260b8..00000000
--- a/cheri/sail_latex/sailfnexecuteDADDI.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zDADDI]{DADDI}# (rs, rt, imm)) =
- {
- let sum65 : #\hyperref[zbits]{bits}#(65) = #\hyperref[zsignzyextend]{sign\_extend}#(#\hyperref[zrGPR]{rGPR}#(rs)) + #\hyperref[zsignzyextend]{sign\_extend}#(imm) in
- {
- if (sum65[64] != sum65[63]) then
- (#\hyperref[zSignalException]{SignalException}#(Ov))
- else
- #\hyperref[zwGPR]{wGPR}#(rt) = sum65[63..0]
- }
- }
diff --git a/cheri/sail_latex/sailfnexecuteDADDIU.tex b/cheri/sail_latex/sailfnexecuteDADDIU.tex
deleted file mode 100644
index 028190a0..00000000
--- a/cheri/sail_latex/sailfnexecuteDADDIU.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zDADDIU]{DADDIU}# (rs, rt, imm)) =
- {
- #\hyperref[zwGPR]{wGPR}#(rt) = #\hyperref[zrGPR]{rGPR}#(rs) + #\hyperref[zsignzyextend]{sign\_extend}#(imm)
- }
diff --git a/cheri/sail_latex/sailfnexecuteDADDU.tex b/cheri/sail_latex/sailfnexecuteDADDU.tex
deleted file mode 100644
index 610deeef..00000000
--- a/cheri/sail_latex/sailfnexecuteDADDU.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zDADDU]{DADDU}# (rs, rt, rd)) =
- {
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zrGPR]{rGPR}#(rs) + #\hyperref[zrGPR]{rGPR}#(rt)
- }
diff --git a/cheri/sail_latex/sailfnexecuteDDIV.tex b/cheri/sail_latex/sailfnexecuteDDIV.tex
deleted file mode 100644
index 9e16d758..00000000
--- a/cheri/sail_latex/sailfnexecuteDDIV.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zDDIV]{DDIV}#(rs, rt)) =
- {
- rsVal = #\hyperref[zsigned]{signed}#(#\hyperref[zrGPR]{rGPR}#(rs));
- rtVal = #\hyperref[zsigned]{signed}#(#\hyperref[zrGPR]{rGPR}#(rt));
- let (q , r) =
- if (rtVal == 0)
- then (undefined : #\hyperref[zbits]{bits}#(64), undefined : #\hyperref[zbits]{bits}#(64))
- else
- let qi = #\hyperref[zquotzyroundzyzzero]{quot\_round\_zero}#(rsVal, rtVal) in
- let ri = (rsVal - (qi * rtVal)) in
- (#\hyperref[ztozybits]{to\_bits}#(64, qi), #\hyperref[ztozybits]{to\_bits}#(64, ri)) in
- {
- LO = q;
- HI = r;
- }
- }
diff --git a/cheri/sail_latex/sailfnexecuteDDIVU.tex b/cheri/sail_latex/sailfnexecuteDDIVU.tex
deleted file mode 100644
index af83d644..00000000
--- a/cheri/sail_latex/sailfnexecuteDDIVU.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zDDIVU]{DDIVU}#(rs, rt)) =
- {
- rsVal = #\hyperref[zunsigned]{unsigned}#(#\hyperref[zrGPR]{rGPR}#(rs));
- rtVal = #\hyperref[zunsigned]{unsigned}#(#\hyperref[zrGPR]{rGPR}#(rt));
- let (q, r) =
- if (rtVal == 0)
- then (undefined : #\hyperref[zbits]{bits}#(64), undefined : #\hyperref[zbits]{bits}#(64))
- else
- let qi = #\hyperref[zquotzyroundzyzzero]{quot\_round\_zero}#(rsVal, rtVal) in
- let ri = #\hyperref[zremzyroundzyzzero]{rem\_round\_zero}#(rsVal, rtVal) in
- (#\hyperref[ztozybits]{to\_bits}#(64, qi), #\hyperref[ztozybits]{to\_bits}#(64, ri)) in
- {
- LO = q;
- HI = r;
- }
- }
diff --git a/cheri/sail_latex/sailfnexecuteDIV.tex b/cheri/sail_latex/sailfnexecuteDIV.tex
deleted file mode 100644
index 8bebe43f..00000000
--- a/cheri/sail_latex/sailfnexecuteDIV.tex
+++ /dev/null
@@ -1,19 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zDIV]{DIV}#(rs, rt)) =
- {
- rsVal = #\hyperref[zrGPR]{rGPR}#(rs);
- rtVal = #\hyperref[zrGPR]{rGPR}#(rt);
- let (q, r) =
- if (#\hyperref[zNotWordVal]{NotWordVal}#(rsVal) | #\hyperref[zNotWordVal]{NotWordVal}#(rtVal) | (rtVal == 0x0000000000000000)) then
- (undefined : #\hyperref[zbits]{bits}#(32), undefined : #\hyperref[zbits]{bits}#(32))
- else
- let si = #\hyperref[zsigned]{signed}#((rsVal[31..0])) in
- let ti = #\hyperref[zsigned]{signed}#((rtVal[31..0])) in
- let qi = #\hyperref[zquotzyroundzyzzero]{quot\_round\_zero}#(si, ti) in
- let ri = si - (ti*qi) in
- (#\hyperref[ztozybits]{to\_bits}#(32, qi), #\hyperref[ztozybits]{to\_bits}#(32, ri))
- in
- {
- HI = #\hyperref[zsignzyextend]{sign\_extend}#(r);
- LO = #\hyperref[zsignzyextend]{sign\_extend}#(q);
- }
- }
diff --git a/cheri/sail_latex/sailfnexecuteDIVU.tex b/cheri/sail_latex/sailfnexecuteDIVU.tex
deleted file mode 100644
index a6e54b6a..00000000
--- a/cheri/sail_latex/sailfnexecuteDIVU.tex
+++ /dev/null
@@ -1,19 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zDIVU]{DIVU}#(rs, rt)) =
- {
- rsVal = #\hyperref[zrGPR]{rGPR}#(rs);
- rtVal = #\hyperref[zrGPR]{rGPR}#(rt);
- let (q, r) =
- if (#\hyperref[zNotWordVal]{NotWordVal}#(rsVal) | #\hyperref[zNotWordVal]{NotWordVal}#(rtVal) | rtVal == 0x0000000000000000) then
- (undefined : #\hyperref[zbits]{bits}#(32), undefined : #\hyperref[zbits]{bits}#(32))
- else
- let si = #\hyperref[zunsigned]{unsigned}#(rsVal[31..0]) in
- let ti = #\hyperref[zunsigned]{unsigned}#(rtVal[31..0]) in
- let qi = #\hyperref[zquotzyroundzyzzero]{quot\_round\_zero}#(si, ti) in
- let ri = #\hyperref[zremzyroundzyzzero]{rem\_round\_zero}#(si, ti) in
- (#\hyperref[ztozybits]{to\_bits}#(32, qi), #\hyperref[ztozybits]{to\_bits}#(32, ri))
- in
- {
- HI = #\hyperref[zsignzyextend]{sign\_extend}#(r);
- LO = #\hyperref[zsignzyextend]{sign\_extend}#(q);
- }
- }
diff --git a/cheri/sail_latex/sailfnexecuteDMULT.tex b/cheri/sail_latex/sailfnexecuteDMULT.tex
deleted file mode 100644
index 595fdc74..00000000
--- a/cheri/sail_latex/sailfnexecuteDMULT.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zDMULT]{DMULT}#(rs, rt)) =
- {
- result = #\hyperref[zrGPR]{rGPR}#(rs) *_s #\hyperref[zrGPR]{rGPR}#(rt);
- HI = (result[127..64]);
- LO = (result[63..0]);
- }
diff --git a/cheri/sail_latex/sailfnexecuteDMULTU.tex b/cheri/sail_latex/sailfnexecuteDMULTU.tex
deleted file mode 100644
index cb23f01f..00000000
--- a/cheri/sail_latex/sailfnexecuteDMULTU.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zDMULTU]{DMULTU}#(rs, rt)) =
- {
- result = #\hyperref[zrGPR]{rGPR}#(rs) *_u #\hyperref[zrGPR]{rGPR}#(rt);
- HI = (result[127..64]);
- LO = (result[63..0]);
- }
diff --git a/cheri/sail_latex/sailfnexecuteDSLL.tex b/cheri/sail_latex/sailfnexecuteDSLL.tex
deleted file mode 100644
index d470bb23..00000000
--- a/cheri/sail_latex/sailfnexecuteDSLL.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zDSLL]{DSLL}# (rt, rd, sa)) =
- {
-
- #\hyperref[zwGPR]{wGPR}#(rd) = (#\hyperref[zrGPR]{rGPR}#(rt) << sa)
- }
diff --git a/cheri/sail_latex/sailfnexecuteDSLLV.tex b/cheri/sail_latex/sailfnexecuteDSLLV.tex
deleted file mode 100644
index 87270292..00000000
--- a/cheri/sail_latex/sailfnexecuteDSLLV.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zDSLLV]{DSLLV}# (rs, rt, rd)) =
- {
- #\hyperref[zwGPR]{wGPR}#(rd) = (#\hyperref[zrGPR]{rGPR}#(rt) << ((#\hyperref[zrGPR]{rGPR}#(rs))[5 .. 0]))
- }
diff --git a/cheri/sail_latex/sailfnexecuteDSLLthreetwo.tex b/cheri/sail_latex/sailfnexecuteDSLLthreetwo.tex
deleted file mode 100644
index 0af771cf..00000000
--- a/cheri/sail_latex/sailfnexecuteDSLLthreetwo.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zDSLLthreetwo]{DSLL32}# (rt, rd, sa)) =
- {
- #\hyperref[zwGPR]{wGPR}#(rd) = (#\hyperref[zrGPR]{rGPR}#(rt) << (0b1 @ sa))
- }
diff --git a/cheri/sail_latex/sailfnexecuteDSRA.tex b/cheri/sail_latex/sailfnexecuteDSRA.tex
deleted file mode 100644
index 119d7e4d..00000000
--- a/cheri/sail_latex/sailfnexecuteDSRA.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zDSRA]{DSRA}# (rt, rd, sa)) =
- {
- temp = #\hyperref[zrGPR]{rGPR}#(rt);
- #\hyperref[zwGPR]{wGPR}#(rd) = temp >>_s sa
- }
diff --git a/cheri/sail_latex/sailfnexecuteDSRAV.tex b/cheri/sail_latex/sailfnexecuteDSRAV.tex
deleted file mode 100644
index 35f4a18c..00000000
--- a/cheri/sail_latex/sailfnexecuteDSRAV.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zDSRAV]{DSRAV}# (rs, rt, rd)) =
- {
- temp = #\hyperref[zrGPR]{rGPR}#(rt);
- sa = #\hyperref[zrGPR]{rGPR}#(rs)[5..0];
- #\hyperref[zwGPR]{wGPR}#(rd) = temp >>_s sa
- }
diff --git a/cheri/sail_latex/sailfnexecuteDSRAthreetwo.tex b/cheri/sail_latex/sailfnexecuteDSRAthreetwo.tex
deleted file mode 100644
index 9a0380a5..00000000
--- a/cheri/sail_latex/sailfnexecuteDSRAthreetwo.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zDSRAthreetwo]{DSRA32}# (rt, rd, sa)) =
- {
- temp = #\hyperref[zrGPR]{rGPR}#(rt);
- sa32 = 0b1 @ sa; /* sa+32 */
- #\hyperref[zwGPR]{wGPR}#(rd) = temp >>_s sa32
- }
diff --git a/cheri/sail_latex/sailfnexecuteDSRL.tex b/cheri/sail_latex/sailfnexecuteDSRL.tex
deleted file mode 100644
index bebaebba..00000000
--- a/cheri/sail_latex/sailfnexecuteDSRL.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zDSRL]{DSRL}# (rt, rd, sa)) =
- {
- temp = #\hyperref[zrGPR]{rGPR}#(rt);
- #\hyperref[zwGPR]{wGPR}#(rd) = temp >> sa;
- }
diff --git a/cheri/sail_latex/sailfnexecuteDSRLV.tex b/cheri/sail_latex/sailfnexecuteDSRLV.tex
deleted file mode 100644
index d0dc368c..00000000
--- a/cheri/sail_latex/sailfnexecuteDSRLV.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zDSRLV]{DSRLV}# (rs, rt, rd)) =
- {
- temp = #\hyperref[zrGPR]{rGPR}#(rt);
- sa = #\hyperref[zrGPR]{rGPR}#(rs)[5..0];
- #\hyperref[zwGPR]{wGPR}#(rd) = temp >> sa;
- }
diff --git a/cheri/sail_latex/sailfnexecuteDSRLthreetwo.tex b/cheri/sail_latex/sailfnexecuteDSRLthreetwo.tex
deleted file mode 100644
index 155fe058..00000000
--- a/cheri/sail_latex/sailfnexecuteDSRLthreetwo.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zDSRLthreetwo]{DSRL32}# (rt, rd, sa)) =
- {
- temp = #\hyperref[zrGPR]{rGPR}#(rt);
- sa32 = 0b1 @ sa; /* sa+32 */
- #\hyperref[zwGPR]{wGPR}#(rd) = temp >> sa32;
- }
diff --git a/cheri/sail_latex/sailfnexecuteDSUB.tex b/cheri/sail_latex/sailfnexecuteDSUB.tex
deleted file mode 100644
index b4021172..00000000
--- a/cheri/sail_latex/sailfnexecuteDSUB.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zDSUB]{DSUB}# (rs, rt, rd)) =
- {
- let temp65 : #\hyperref[zbits]{bits}#(65) = #\hyperref[zsignzyextend]{sign\_extend}#(#\hyperref[zrGPR]{rGPR}#(rs)) - #\hyperref[zsignzyextend]{sign\_extend}#(#\hyperref[zrGPR]{rGPR}#(rt)) in
- {
- if temp65[64] != temp65[63] then
- (#\hyperref[zSignalException]{SignalException}#(Ov))
- else
- #\hyperref[zwGPR]{wGPR}#(rd) = temp65[63..0]
- }
- }
diff --git a/cheri/sail_latex/sailfnexecuteDSUBU.tex b/cheri/sail_latex/sailfnexecuteDSUBU.tex
deleted file mode 100644
index 1f0f28ec..00000000
--- a/cheri/sail_latex/sailfnexecuteDSUBU.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zDSUBU]{DSUBU}# (rs, rt, rd)) =
- {
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zrGPR]{rGPR}#(rs) - #\hyperref[zrGPR]{rGPR}#(rt)
- }
diff --git a/cheri/sail_latex/sailfnexecuteERET.tex b/cheri/sail_latex/sailfnexecuteERET.tex
deleted file mode 100644
index 1517ff7d..00000000
--- a/cheri/sail_latex/sailfnexecuteERET.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zERET]{ERET}#()) =
- {
- #\hyperref[zcheckCPzeroAccess]{checkCP0Access}#();
- #\hyperref[zERETHook]{ERETHook}#();
- CP0LLBit = 0b0;
- if (CP0Status.#\hyperref[zERL]{ERL}#() == bitone) then
- {
- nextPC = CP0ErrorEPC;
- CP0Status->#\hyperref[zERL]{ERL}#() = 0b0;
- }
- else
- {
- nextPC = CP0EPC;
- CP0Status->#\hyperref[zEXL]{EXL}#() = 0b0;
- }
- }
diff --git a/cheri/sail_latex/sailfnexecuteHCF.tex b/cheri/sail_latex/sailfnexecuteHCF.tex
deleted file mode 100644
index 29eef4b5..00000000
--- a/cheri/sail_latex/sailfnexecuteHCF.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zHCF]{HCF}#()) =
- () /* halt instruction actually executed by interpreter framework */
diff --git a/cheri/sail_latex/sailfnexecuteJ.tex b/cheri/sail_latex/sailfnexecuteJ.tex
deleted file mode 100644
index b671d406..00000000
--- a/cheri/sail_latex/sailfnexecuteJ.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zJ]{J}#(offset)) =
- {
- #\hyperref[zexecutezybranch]{execute\_branch}#((PC + 4)[63..28] @ offset @ 0b00);
- }
diff --git a/cheri/sail_latex/sailfnexecuteJAL.tex b/cheri/sail_latex/sailfnexecuteJAL.tex
deleted file mode 100644
index 3aa4dbf4..00000000
--- a/cheri/sail_latex/sailfnexecuteJAL.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zJAL]{JAL}#(offset)) =
- {
- #\hyperref[zexecutezybranch]{execute\_branch}#((PC + 4)[63..28] @ offset @ 0b00);
- #\hyperref[zwGPR]{wGPR}#(0b11111) = PC + 8;
- }
diff --git a/cheri/sail_latex/sailfnexecuteJALR.tex b/cheri/sail_latex/sailfnexecuteJALR.tex
deleted file mode 100644
index 41415ba8..00000000
--- a/cheri/sail_latex/sailfnexecuteJALR.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zJALR]{JALR}#(rs, rd)) =
- {
- #\hyperref[zexecutezybranch]{execute\_branch}#(#\hyperref[zrGPR]{rGPR}#(rs));
- #\hyperref[zwGPR]{wGPR}#(rd) = PC + 8;
- }
diff --git a/cheri/sail_latex/sailfnexecuteJR.tex b/cheri/sail_latex/sailfnexecuteJR.tex
deleted file mode 100644
index ab19bbfb..00000000
--- a/cheri/sail_latex/sailfnexecuteJR.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zJR]{JR}#(rs)) =
- {
- #\hyperref[zexecutezybranch]{execute\_branch}#(#\hyperref[zrGPR]{rGPR}#(rs));
- }
diff --git a/cheri/sail_latex/sailfnexecuteLDL.tex b/cheri/sail_latex/sailfnexecuteLDL.tex
deleted file mode 100644
index c7df3f65..00000000
--- a/cheri/sail_latex/sailfnexecuteLDL.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-function clause #\hyperref[zexecute]{execute}#(#\hyperref[zLDL]{LDL}#(base, rt, offset)) =
- {
- vAddr = #\hyperref[zaddrWrapperUnaligned]{addrWrapperUnaligned}#(#\hyperref[zsignzyextend]{sign\_extend}#(offset) + #\hyperref[zrGPR]{rGPR}#(base), LoadData, DL);
- let pAddr = #\hyperref[zTLBTranslate]{TLBTranslate}#(vAddr, LoadData) in
- {
- mem_val = #\hyperref[zMEMrzywrapper]{MEMr\_wrapper}#(pAddr[63..3] @ 0b000, 8); /* read double of interest */
- reg_val = #\hyperref[zrGPR]{rGPR}#(rt);
- #\hyperref[zwGPR]{wGPR}#(rt) = match vAddr[2..0]
- {
- 0b000 => mem_val,
- 0b001 => mem_val[55..0] @ reg_val[7..0],
- 0b010 => mem_val[47..0] @ reg_val[15..0],
- 0b011 => mem_val[39..0] @ reg_val[23..0],
- 0b100 => mem_val[31..0] @ reg_val[31..0],
- 0b101 => mem_val[23..0] @ reg_val[39..0],
- 0b110 => mem_val[15..0] @ reg_val[47..0],
- 0b111 => mem_val[07..0] @ reg_val[55..0]
- };
- }
- }
diff --git a/cheri/sail_latex/sailfnexecuteLDR.tex b/cheri/sail_latex/sailfnexecuteLDR.tex
deleted file mode 100644
index a66114b2..00000000
--- a/cheri/sail_latex/sailfnexecuteLDR.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-function clause #\hyperref[zexecute]{execute}#(#\hyperref[zLDR]{LDR}#(base, rt, offset)) =
- {
- vAddr = #\hyperref[zaddrWrapperUnaligned]{addrWrapperUnaligned}#(#\hyperref[zsignzyextend]{sign\_extend}#(offset) + #\hyperref[zrGPR]{rGPR}#(base), LoadData, DR);
- let pAddr = #\hyperref[zTLBTranslate]{TLBTranslate}#(vAddr, LoadData) in
- {
- mem_val = #\hyperref[zMEMrzywrapper]{MEMr\_wrapper}#(pAddr[63..3] @ 0b000, 8); /* read double of interest */
- reg_val = #\hyperref[zrGPR]{rGPR}#(rt);
- #\hyperref[zwGPR]{wGPR}#(rt) = match vAddr[2..0]
- {
- 0b000 => reg_val[63..08] @ mem_val[63..56],
- 0b001 => reg_val[63..16] @ mem_val[63..48],
- 0b010 => reg_val[63..24] @ mem_val[63..40],
- 0b011 => reg_val[63..32] @ mem_val[63..32],
- 0b100 => reg_val[63..40] @ mem_val[63..24],
- 0b101 => reg_val[63..48] @ mem_val[63..16],
- 0b110 => reg_val[63..56] @ mem_val[63..08],
- 0b111 => mem_val
- };
- }
- }
diff --git a/cheri/sail_latex/sailfnexecuteLUI.tex b/cheri/sail_latex/sailfnexecuteLUI.tex
deleted file mode 100644
index 9c3f8089..00000000
--- a/cheri/sail_latex/sailfnexecuteLUI.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zLUI]{LUI}# (rt, imm)) =
- {
- #\hyperref[zwGPR]{wGPR}#(rt) = #\hyperref[zsignzyextend]{sign\_extend}#(imm @ 0x0000)
- }
diff --git a/cheri/sail_latex/sailfnexecuteLWL.tex b/cheri/sail_latex/sailfnexecuteLWL.tex
deleted file mode 100644
index 46fd760d..00000000
--- a/cheri/sail_latex/sailfnexecuteLWL.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-function clause #\hyperref[zexecute]{execute}#(#\hyperref[zLWL]{LWL}#(base, rt, offset)) =
- {
- vAddr = #\hyperref[zaddrWrapperUnaligned]{addrWrapperUnaligned}#(#\hyperref[zsignzyextend]{sign\_extend}#(offset) + #\hyperref[zrGPR]{rGPR}#(base), LoadData, WL);
- let pAddr = (#\hyperref[zTLBTranslate]{TLBTranslate}#(vAddr, LoadData)) in
- {
- mem_val = #\hyperref[zMEMrzywrapper]{MEMr\_wrapper}# (pAddr[63..2] @ 0b00, 4); /* read word of interest */
- reg_val = #\hyperref[zrGPR]{rGPR}#(rt);
- result : #\hyperref[zbits]{bits}#(32) = match vAddr[1..0]
- {
- 0b00 => mem_val,
- 0b01 => mem_val[23..0] @ reg_val[07..0],
- 0b10 => mem_val[15..0] @ reg_val[15..0],
- 0b11 => mem_val[07..0] @ reg_val[23..0]
- };
- #\hyperref[zwGPR]{wGPR}#(rt) = #\hyperref[zsignzyextend]{sign\_extend}#(result);
- }
- }
diff --git a/cheri/sail_latex/sailfnexecuteLWR.tex b/cheri/sail_latex/sailfnexecuteLWR.tex
deleted file mode 100644
index c72d81e0..00000000
--- a/cheri/sail_latex/sailfnexecuteLWR.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-function clause #\hyperref[zexecute]{execute}#(#\hyperref[zLWR]{LWR}#(base, rt, offset)) =
- {
- vAddr = #\hyperref[zaddrWrapperUnaligned]{addrWrapperUnaligned}#(#\hyperref[zsignzyextend]{sign\_extend}#(offset) + #\hyperref[zrGPR]{rGPR}#(base), LoadData, WR);
- let pAddr = (#\hyperref[zTLBTranslate]{TLBTranslate}#(vAddr, LoadData)) in
- {
- mem_val = #\hyperref[zMEMrzywrapper]{MEMr\_wrapper}#(pAddr[63..2] @ 0b00, 4); /* read word of interest */
- reg_val = #\hyperref[zrGPR]{rGPR}#(rt);
- result : #\hyperref[zbits]{bits}#(32) = match vAddr[1..0]
- {
- 0b00 => reg_val[31..8] @ mem_val[31..24],
- 0b01 => reg_val[31..16] @ mem_val[31..16],
- 0b10 => reg_val[31..24] @ mem_val[31..8],
- 0b11 => mem_val
- };
- #\hyperref[zwGPR]{wGPR}#(rt) = #\hyperref[zsignzyextend]{sign\_extend}#(result)
- }
- }
diff --git a/cheri/sail_latex/sailfnexecuteLoad.tex b/cheri/sail_latex/sailfnexecuteLoad.tex
deleted file mode 100644
index 2db4a73b..00000000
--- a/cheri/sail_latex/sailfnexecuteLoad.tex
+++ /dev/null
@@ -1,30 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zLoad]{Load}#(width, sign, linked, base, rt, offset)) =
- {
- vAddr : #\hyperref[zbits]{bits}#(64) = #\hyperref[zaddrWrapper]{addrWrapper}#(#\hyperref[zsignzyextend]{sign\_extend}#(offset) + #\hyperref[zrGPR]{rGPR}#(base), LoadData, width);
- if ~ (#\hyperref[zisAddressAligned]{isAddressAligned}#(vAddr, width)) then
- (#\hyperref[zSignalExceptionBadAddr]{SignalExceptionBadAddr}#(AdEL, vAddr)) /* unaligned access */
- else
- let pAddr = (#\hyperref[zTLBTranslate]{TLBTranslate}#(vAddr, LoadData)) in
- {
- memResult : #\hyperref[zbits]{bits}#(64) = if (linked) then
- {
- CP0LLBit = 0b1;
- CP0LLAddr = pAddr;
- match width {
- W => #\hyperref[zextendLoad]{extendLoad}#(#\hyperref[zMEMrzyreservezywrapper]{MEMr\_reserve\_wrapper}#(pAddr, 4), sign),
- D => #\hyperref[zextendLoad]{extendLoad}#(#\hyperref[zMEMrzyreservezywrapper]{MEMr\_reserve\_wrapper}#(pAddr, 8), sign),
- _ => throw(#\hyperref[zErrorzyinternalzyerror]{Error\_internal\_error}#()) /* there is no llbc or llhc */
- }
- }
- else
- {
- match width {
- B => #\hyperref[zextendLoad]{extendLoad}#(#\hyperref[zMEMrzywrapper]{MEMr\_wrapper}#(pAddr, 1), sign),
- H => #\hyperref[zextendLoad]{extendLoad}#(#\hyperref[zMEMrzywrapper]{MEMr\_wrapper}#(pAddr, 2), sign),
- W => #\hyperref[zextendLoad]{extendLoad}#(#\hyperref[zMEMrzywrapper]{MEMr\_wrapper}#(pAddr, 4), sign),
- D => #\hyperref[zextendLoad]{extendLoad}#(#\hyperref[zMEMrzywrapper]{MEMr\_wrapper}#(pAddr, 8), sign)
- }
- };
- #\hyperref[zwGPR]{wGPR}#(rt) = memResult
- }
- }
diff --git a/cheri/sail_latex/sailfnexecuteMADD.tex b/cheri/sail_latex/sailfnexecuteMADD.tex
deleted file mode 100644
index 77d54494..00000000
--- a/cheri/sail_latex/sailfnexecuteMADD.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zMADD]{MADD}#(rs, rt)) =
- {
- rsVal = #\hyperref[zrGPR]{rGPR}#(rs);
- rtVal = #\hyperref[zrGPR]{rGPR}#(rt);
- mul_result : #\hyperref[zbits]{bits}#(64) = if (#\hyperref[zNotWordVal]{NotWordVal}#(rsVal) | #\hyperref[zNotWordVal]{NotWordVal}#(rtVal)) then
- undefined
- else
- rsVal[31..0] *_s rtVal[31..0];
- result = mul_result + (HI[31..0] @ LO[31..0]);
- HI = #\hyperref[zsignzyextend]{sign\_extend}#(result[63..32]);
- LO = #\hyperref[zsignzyextend]{sign\_extend}#(result[31..0]);
- }
diff --git a/cheri/sail_latex/sailfnexecuteMADDU.tex b/cheri/sail_latex/sailfnexecuteMADDU.tex
deleted file mode 100644
index 67f95457..00000000
--- a/cheri/sail_latex/sailfnexecuteMADDU.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zMADDU]{MADDU}#(rs, rt)) =
- {
- rsVal = #\hyperref[zrGPR]{rGPR}#(rs);
- rtVal = #\hyperref[zrGPR]{rGPR}#(rt);
- mul_result : #\hyperref[zbits]{bits}#(64) = if (#\hyperref[zNotWordVal]{NotWordVal}#(rsVal) | #\hyperref[zNotWordVal]{NotWordVal}#(rtVal)) then
- undefined
- else
- rsVal[31..0] *_u rtVal[31..0];
- result = mul_result + (HI[31..0] @ LO[31..0]);
- HI = #\hyperref[zsignzyextend]{sign\_extend}#(result[63..32]);
- LO = #\hyperref[zsignzyextend]{sign\_extend}#(result[31..0]);
- }
diff --git a/cheri/sail_latex/sailfnexecuteMFCzero.tex b/cheri/sail_latex/sailfnexecuteMFCzero.tex
deleted file mode 100644
index c15ef9f8..00000000
--- a/cheri/sail_latex/sailfnexecuteMFCzero.tex
+++ /dev/null
@@ -1,70 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zMFCzero]{MFC0}#(rt, rd, sel, double)) = {
- #\hyperref[zcheckCPzeroAccess]{checkCP0Access}#();
- let result : #\hyperref[zbits]{bits}#(64) = match (rd, sel)
- {
- (0b00000,0b000) => let idx : #\hyperref[zbits]{bits}#(31) = #\hyperref[zzzerozyextend]{zero\_extend}#(TLBIndex) in
- (0x00000000 @ TLBProbe @ idx), /* 0, TLB Index */
- (0b00001,0b000) => #\hyperref[zzzerozyextend]{zero\_extend}#(TLBRandom), /* 1, TLB Random */
- (0b00010,0b000) => TLBEntryLo0.#\hyperref[zbits]{bits}#(), /* 2, TLB EntryLo0 */
- (0b00011,0b000) => TLBEntryLo1.#\hyperref[zbits]{bits}#(), /* 3, TLB EntryLo1 */
- (0b00100,0b000) => TLBContext.#\hyperref[zbits]{bits}#(), /* 4, TLB Context */
- (0b00100,0b010) => CP0UserLocal,
- (0b00101,0b000) => #\hyperref[zzzerozyextend]{zero\_extend}#(TLBPageMask @ 0x000), /* 5, TLB PageMask */
- (0b00110,0b000) => #\hyperref[zzzerozyextend]{zero\_extend}#(TLBWired), /* 6, TLB Wired */
- (0b00111,0b000) => #\hyperref[zzzerozyextend]{zero\_extend}#(CP0HWREna), /* 7, HWREna */
- (0b01000,0b000) => CP0BadVAddr, /* 8, BadVAddr reg */
- (0b01000,0b001) => #\hyperref[zzzerozyextend]{zero\_extend}#(0b0), /* 8, BadInstr reg XXX TODO */
- (0b01001,0b000) => #\hyperref[zzzerozyextend]{zero\_extend}#(CP0Count), /* 9, Count reg */
- (0b01010,0b000) => TLBEntryHi.#\hyperref[zbits]{bits}#(),/* 10, TLB EntryHi */
- (0b01011,0b000) => #\hyperref[zzzerozyextend]{zero\_extend}#(CP0Compare), /* 11, Compare reg */
- (0b01100,0b000) => #\hyperref[zzzerozyextend]{zero\_extend}#(CP0Status.#\hyperref[zbits]{bits}#()), /* 12, Status reg */
- (0b01101,0b000) => #\hyperref[zzzerozyextend]{zero\_extend}#(CP0Cause.#\hyperref[zbits]{bits}#()), /* 13, Cause reg */
- (0b01110,0b000) => CP0EPC, /* 14, EPC */
- (0b01111,0b000) => #\hyperref[zzzerozyextend]{zero\_extend}#(0x00000400), /* 15, sel 0: PrID processor ID */
- (0b01111,0b110) => #\hyperref[zzzerozyextend]{zero\_extend}#(0b0), /* 15, sel 6: CHERI core ID */
- (0b01111,0b111) => #\hyperref[zzzerozyextend]{zero\_extend}#(0b0), /* 15, sel 7: CHERI thread ID */
- (0b10000,0b000) => #\hyperref[zzzerozyextend]{zero\_extend}#(0b1 /* M */ /* 16, sel 0: Config0 */
- @ 0b000000000000000 /* Impl */
- @ 0b1 /* BE */
- @ 0b10 /* AT */
- @ 0b000 /* AR */
- @ 0b001 /* MT standard TLB */
- @ 0b0000 /* zero */
- @ CP0ConfigK0),
- (0b10000,0b001) => #\hyperref[zzzerozyextend]{zero\_extend}#( /* 16, sel 1: Config1 */
- 0b1 /* M */
- @ TLBIndexMax /* MMU size-1 */
- @ 0b000 /* IS icache sets */
- @ 0b000 /* IL icache lines */
- @ 0b000 /* IA icache assoc. */
- @ 0b000 /* DS dcache sets */
- @ 0b000 /* DL dcache lines */
- @ 0b000 /* DA dcache assoc. */
- @ #\hyperref[zboolzytozybits]{bool\_to\_bits}#(have_cp2) /* C2 CP2 presence */
- @ 0b0 /* MD MDMX implemented */
- @ 0b0 /* PC performance counters */
- @ 0b0 /* WR watch registers */
- @ 0b0 /* CA 16e code compression */
- @ 0b0 /* EP EJTAG */
- @ 0b0), /* FP FPU present */
- (0b10000,0b010) => #\hyperref[zzzerozyextend]{zero\_extend}#( /* 16, sel 2: Config2 */
- 0b1 /* M */
- @ 0b000 /* TU L3 control */
- @ 0b0000 /* TS L3 sets */
- @ 0b0000 /* TL L3 lines */
- @ 0b0000 /* TA L3 assoc. */
- @ 0b0000 /* SU L2 control */
- @ 0b0000 /* SS L2 sets */
- @ 0b0000 /* SL L2 lines */
- @ 0b0000), /* SA L2 assoc. */
- (0b10000,0b011) => 0x0000000000002000, /* 16, sel 3: Config3 zero except for bit 13 == ulri */
- (0b10000,0b101) => 0x0000000000000000, /* 16, sel 5: Config5 beri specific -- no extended TLB */
- (0b10001,0b000) => CP0LLAddr, /* 17, sel 0: LLAddr */
- (0b10010,0b000) => #\hyperref[zzzerozyextend]{zero\_extend}#(0b0), /* 18, WatchLo */
- (0b10011,0b000) => #\hyperref[zzzerozyextend]{zero\_extend}#(0b0), /* 19, WatchHi */
- (0b10100,0b000) => TLBXContext.#\hyperref[zbits]{bits}#(), /* 20, XContext */
- (0b11110,0b000) => CP0ErrorEPC, /* 30, ErrorEPC */
- _ => (#\hyperref[zSignalException]{SignalException}#(ResI))
- } in
- #\hyperref[zwGPR]{wGPR}#(rt) = if (double) then result else #\hyperref[zsignzyextend]{sign\_extend}#(result[31..0])
-}
diff --git a/cheri/sail_latex/sailfnexecuteMFHI.tex b/cheri/sail_latex/sailfnexecuteMFHI.tex
deleted file mode 100644
index ff0aadba..00000000
--- a/cheri/sail_latex/sailfnexecuteMFHI.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zMFHI]{MFHI}#(rd)) =
- {
- #\hyperref[zwGPR]{wGPR}#(rd) = HI
- }
diff --git a/cheri/sail_latex/sailfnexecuteMFLO.tex b/cheri/sail_latex/sailfnexecuteMFLO.tex
deleted file mode 100644
index 69ad3a35..00000000
--- a/cheri/sail_latex/sailfnexecuteMFLO.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zMFLO]{MFLO}#(rd)) =
- {
- #\hyperref[zwGPR]{wGPR}#(rd) = LO
- }
diff --git a/cheri/sail_latex/sailfnexecuteMOVN.tex b/cheri/sail_latex/sailfnexecuteMOVN.tex
deleted file mode 100644
index 9802ef3d..00000000
--- a/cheri/sail_latex/sailfnexecuteMOVN.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zMOVN]{MOVN}#(rs, rt, rd)) =
- {
- if (#\hyperref[zrGPR]{rGPR}#(rt) != 0x0000000000000000) then
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zrGPR]{rGPR}#(rs)
- }
diff --git a/cheri/sail_latex/sailfnexecuteMOVZ.tex b/cheri/sail_latex/sailfnexecuteMOVZ.tex
deleted file mode 100644
index 0c09e058..00000000
--- a/cheri/sail_latex/sailfnexecuteMOVZ.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zMOVZ]{MOVZ}#(rs, rt, rd)) =
- {
- if (#\hyperref[zrGPR]{rGPR}#(rt) == 0x0000000000000000) then
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zrGPR]{rGPR}#(rs)
- }
diff --git a/cheri/sail_latex/sailfnexecuteMSUB.tex b/cheri/sail_latex/sailfnexecuteMSUB.tex
deleted file mode 100644
index 7d796f26..00000000
--- a/cheri/sail_latex/sailfnexecuteMSUB.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zMSUB]{MSUB}#(rs, rt)) =
- {
- rsVal = #\hyperref[zrGPR]{rGPR}#(rs);
- rtVal = #\hyperref[zrGPR]{rGPR}#(rt);
- mul_result : #\hyperref[zbits]{bits}#(64) = if (#\hyperref[zNotWordVal]{NotWordVal}#(rsVal) | #\hyperref[zNotWordVal]{NotWordVal}#(rtVal)) then
- undefined
- else
- rsVal[31..0] *_s rtVal[31..0];
- result = (HI[31..0] @ LO[31..0]) - mul_result;
- HI = #\hyperref[zsignzyextend]{sign\_extend}#(result[63..32]);
- LO = #\hyperref[zsignzyextend]{sign\_extend}#(result[31..0]);
- }
diff --git a/cheri/sail_latex/sailfnexecuteMSUBU.tex b/cheri/sail_latex/sailfnexecuteMSUBU.tex
deleted file mode 100644
index f501e5c5..00000000
--- a/cheri/sail_latex/sailfnexecuteMSUBU.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zMSUBU]{MSUBU}#(rs, rt)) =
- {
- rsVal = #\hyperref[zrGPR]{rGPR}#(rs);
- rtVal = #\hyperref[zrGPR]{rGPR}#(rt);
- mul_result : #\hyperref[zbits]{bits}#(64) = if (#\hyperref[zNotWordVal]{NotWordVal}#(rsVal) | #\hyperref[zNotWordVal]{NotWordVal}#(rtVal)) then
- undefined
- else
- rsVal[31..0] *_u rtVal[31..0];
- result = (HI[31..0] @ LO[31..0]) - mul_result;
- HI = #\hyperref[zsignzyextend]{sign\_extend}#(result[63..32]);
- LO = #\hyperref[zsignzyextend]{sign\_extend}#(result[31..0]);
- }
diff --git a/cheri/sail_latex/sailfnexecuteMTCzero.tex b/cheri/sail_latex/sailfnexecuteMTCzero.tex
deleted file mode 100644
index 61c6703e..00000000
--- a/cheri/sail_latex/sailfnexecuteMTCzero.tex
+++ /dev/null
@@ -1,52 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zMTCzero]{MTC0}#(rt, rd, sel, double)) = {
- #\hyperref[zcheckCPzeroAccess]{checkCP0Access}#();
- let reg_val = #\hyperref[zrGPR]{rGPR}#(rt) in
- match (rd, sel)
- {
- (0b00000,0b000) => TLBIndex = #\hyperref[zmask]{mask}#(reg_val), /* NB no write to TLBProbe */
- (0b00001,0b000) => (), /* TLBRandom is read only */
- (0b00010,0b000) => TLBEntryLo0->#\hyperref[zbits]{bits}#() = reg_val,
- (0b00011,0b000) => TLBEntryLo1->#\hyperref[zbits]{bits}#() = reg_val,
- (0b00100,0b000) => TLBContext->#\hyperref[zPTEBase]{PTEBase}#() = reg_val[63..23],
- (0b00100,0b010) => CP0UserLocal = reg_val,
- (0b00101,0b000) => TLBPageMask = reg_val[28..13],
- (0b00110,0b000) => {
- TLBWired = #\hyperref[zmask]{mask}#(reg_val);
- TLBRandom = TLBIndexMax;
- },
- (0b00111,0b000) => CP0HWREna = (reg_val[31..29] @ 0b0000000000000000000000000 @ reg_val[3..0]),
- (0b01000,0b000) => (), /* BadVAddr read only */
- (0b01001,0b000) => CP0Count = reg_val[31..0],
- (0b01010,0b000) => {
- TLBEntryHi->#\hyperref[zR]{R}#() = reg_val[63..62];
- TLBEntryHi->#\hyperref[zVPNtwo]{VPN2}#() = reg_val[39..13];
- TLBEntryHi->#\hyperref[zASID]{ASID}#() = reg_val[7..0];
- },
- (0b01011,0b000) => { /* 11, sel 0: Compare reg */
- CP0Compare = reg_val[31..0];
- CP0Cause->#\hyperref[zIP]{IP}#() = CP0Cause.#\hyperref[zIP]{IP}#() & 0x7f; /* clear IP7 */
- },
- (0b01100,0b000) => { /* 12 Status */
- CP0Status->#\hyperref[zCU]{CU}#() = reg_val[31..28];
- CP0Status->#\hyperref[zBEV]{BEV}#() = reg_val[22];
- CP0Status->#\hyperref[zIM]{IM}#() = reg_val[15..8];
- CP0Status->#\hyperref[zKX]{KX}#() = reg_val[7];
- CP0Status->#\hyperref[zSX]{SX}#() = reg_val[6];
- CP0Status->#\hyperref[zUX]{UX}#() = reg_val[5];
- CP0Status->#\hyperref[zKSU]{KSU}#() = reg_val[4..3];
- CP0Status->#\hyperref[zERL]{ERL}#() = reg_val[2];
- CP0Status->#\hyperref[zEXL]{EXL}#() = reg_val[1];
- CP0Status->#\hyperref[zIE]{IE}#() = reg_val[0];
- },
- (0b01101,0b000) => { /* 13 Cause */
- CP0Cause->#\hyperref[zIV]{IV}#() = reg_val[23]; /* TODO special interrupt vector not implemeneted */
- let ip = CP0Cause.#\hyperref[zIP]{IP}#() in
- CP0Cause->#\hyperref[zIP]{IP}#() = ((ip[7..2]) @ (reg_val[9..8]));
- },
- (0b01110,0b000) => CP0EPC = reg_val, /* 14, EPC */
- (0b10000,0b000) => CP0ConfigK0 = reg_val[2..0], /* K0 cache config 16: Config0 */
- (0b10100,0b000) => TLBXContext->#\hyperref[zXPTEBase]{XPTEBase}#() = reg_val[63..33],
- (0b11110,0b000) => CP0ErrorEPC = reg_val, /* 30, ErrorEPC */
- _ => (#\hyperref[zSignalException]{SignalException}#(ResI))
- }
-}
diff --git a/cheri/sail_latex/sailfnexecuteMTHI.tex b/cheri/sail_latex/sailfnexecuteMTHI.tex
deleted file mode 100644
index e221477e..00000000
--- a/cheri/sail_latex/sailfnexecuteMTHI.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zMTHI]{MTHI}#(rs)) =
- {
- HI = #\hyperref[zrGPR]{rGPR}#(rs)
- }
diff --git a/cheri/sail_latex/sailfnexecuteMTLO.tex b/cheri/sail_latex/sailfnexecuteMTLO.tex
deleted file mode 100644
index af9f9aae..00000000
--- a/cheri/sail_latex/sailfnexecuteMTLO.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zMTLO]{MTLO}#(rs)) =
- {
- LO = #\hyperref[zrGPR]{rGPR}#(rs)
- }
diff --git a/cheri/sail_latex/sailfnexecuteMUL.tex b/cheri/sail_latex/sailfnexecuteMUL.tex
deleted file mode 100644
index 385f4433..00000000
--- a/cheri/sail_latex/sailfnexecuteMUL.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zMUL]{MUL}#(rs, rt, rd)) =
- {
- rsVal = #\hyperref[zrGPR]{rGPR}#(rs);
- rtVal = #\hyperref[zrGPR]{rGPR}#(rt);
- result : #\hyperref[zbits]{bits}#(64) = #\hyperref[zsignzyextend]{sign\_extend}#((rsVal[31..0]) *#\hyperref[zzys]{\_s}# (rtVal[31..0]));
- #\hyperref[zwGPR]{wGPR}#(rd) = if (#\hyperref[zNotWordVal]{NotWordVal}#(rsVal) | #\hyperref[zNotWordVal]{NotWordVal}#(rtVal)) then
- undefined
- else
- #\hyperref[zsignzyextend]{sign\_extend}#(result[31..0]);
- /* HI and LO are technically undefined after MUL, but this causes problems with tests and
- (potentially) context switch so just leave them alone
- HI = undefined;
- LO = undefined;
- */
- }
diff --git a/cheri/sail_latex/sailfnexecuteMULT.tex b/cheri/sail_latex/sailfnexecuteMULT.tex
deleted file mode 100644
index b8de983f..00000000
--- a/cheri/sail_latex/sailfnexecuteMULT.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zMULT]{MULT}#(rs, rt)) =
- {
- rsVal = #\hyperref[zrGPR]{rGPR}#(rs);
- rtVal = #\hyperref[zrGPR]{rGPR}#(rt);
- result : #\hyperref[zbits]{bits}#(64) = if (#\hyperref[zNotWordVal]{NotWordVal}#(rsVal) | #\hyperref[zNotWordVal]{NotWordVal}#(rtVal)) then
- undefined
- else
- (rsVal[31..0]) *#\hyperref[zzys]{\_s}# (rtVal[31..0]);
- HI = #\hyperref[zsignzyextend]{sign\_extend}#(result[63..32]);
- LO = #\hyperref[zsignzyextend]{sign\_extend}#(result[31..0]);
- }
diff --git a/cheri/sail_latex/sailfnexecuteMULTU.tex b/cheri/sail_latex/sailfnexecuteMULTU.tex
deleted file mode 100644
index 0095e387..00000000
--- a/cheri/sail_latex/sailfnexecuteMULTU.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zMULTU]{MULTU}#(rs, rt)) =
- {
- rsVal = #\hyperref[zrGPR]{rGPR}#(rs);
- rtVal = #\hyperref[zrGPR]{rGPR}#(rt);
- result : #\hyperref[zbits]{bits}#(64) = if (#\hyperref[zNotWordVal]{NotWordVal}#(rsVal) | #\hyperref[zNotWordVal]{NotWordVal}#(rtVal)) then
- undefined
- else
- (rsVal[31..0]) *#\hyperref[zzyu]{\_u}# (rtVal[31..0]);
- HI = #\hyperref[zsignzyextend]{sign\_extend}#(result[63..32]);
- LO = #\hyperref[zsignzyextend]{sign\_extend}#(result[31..0]);
- }
diff --git a/cheri/sail_latex/sailfnexecuteNOR.tex b/cheri/sail_latex/sailfnexecuteNOR.tex
deleted file mode 100644
index a1cfa14b..00000000
--- a/cheri/sail_latex/sailfnexecuteNOR.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zNOR]{NOR}# (rs, rt, rd)) =
- {
- #\hyperref[zwGPR]{wGPR}#(rd) = ~(#\hyperref[zrGPR]{rGPR}#(rs) | #\hyperref[zrGPR]{rGPR}#(rt))
- }
diff --git a/cheri/sail_latex/sailfnexecuteOR.tex b/cheri/sail_latex/sailfnexecuteOR.tex
deleted file mode 100644
index 01c0fcf6..00000000
--- a/cheri/sail_latex/sailfnexecuteOR.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zOR]{OR}# (rs, rt, rd)) =
- {
- #\hyperref[zwGPR]{wGPR}#(rd) = (#\hyperref[zrGPR]{rGPR}#(rs) | #\hyperref[zrGPR]{rGPR}#(rt))
- }
diff --git a/cheri/sail_latex/sailfnexecuteORI.tex b/cheri/sail_latex/sailfnexecuteORI.tex
deleted file mode 100644
index 0a3f9d15..00000000
--- a/cheri/sail_latex/sailfnexecuteORI.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zORI]{ORI}# (rs, rt, imm)) =
- {
- #\hyperref[zwGPR]{wGPR}#(rt) = (#\hyperref[zrGPR]{rGPR}#(rs) | #\hyperref[zzzerozyextend]{zero\_extend}#(imm))
- }
diff --git a/cheri/sail_latex/sailfnexecuteRDHWR.tex b/cheri/sail_latex/sailfnexecuteRDHWR.tex
deleted file mode 100644
index e64fff25..00000000
--- a/cheri/sail_latex/sailfnexecuteRDHWR.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zRDHWR]{RDHWR}#(rt, rd)) = {
- let accessLevel = #\hyperref[zgetAccessLevel]{getAccessLevel}#() in
- let haveAccessLevel : bool = accessLevel == Kernel in
- let haveCU0 : bool = bitone == (CP0Status.#\hyperref[zCU]{CU}#()[0]) in
- let rdi as atom(_) = #\hyperref[zunsigned]{unsigned}#(rd) in
- let haveHWREna : bool = bitone == (CP0HWREna[rdi]) in
- if ~(haveAccessLevel | haveCU0 | haveHWREna) then
- (#\hyperref[zSignalException]{SignalException}#(ResI));
- let temp : #\hyperref[zbits]{bits}#(64) = match rd {
- 0b00000 => #\hyperref[zzzerozyextend]{zero\_extend}#([bitzero]), /* CPUNum */
- 0b00001 => #\hyperref[zzzerozyextend]{zero\_extend}#([bitzero]), /* SYNCI_step */
- 0b00010 => #\hyperref[zzzerozyextend]{zero\_extend}#(CP0Count), /* Count */
- 0b00011 => #\hyperref[zzzerozyextend]{zero\_extend}#([bitone]), /* Count resolution */
- 0b11101 => CP0UserLocal, /* User local register */
- _ => (#\hyperref[zSignalException]{SignalException}#(ResI))
- } in
- #\hyperref[zwGPR]{wGPR}#(rt) = temp;
-}
diff --git a/cheri/sail_latex/sailfnexecuteRI.tex b/cheri/sail_latex/sailfnexecuteRI.tex
deleted file mode 100644
index 6206c8e3..00000000
--- a/cheri/sail_latex/sailfnexecuteRI.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zRI]{RI}#()) =
- #\hyperref[zSignalException]{SignalException}# (ResI)
diff --git a/cheri/sail_latex/sailfnexecuteSDL.tex b/cheri/sail_latex/sailfnexecuteSDL.tex
deleted file mode 100644
index 0e8e78b4..00000000
--- a/cheri/sail_latex/sailfnexecuteSDL.tex
+++ /dev/null
@@ -1,19 +0,0 @@
-function clause #\hyperref[zexecute]{execute}#(#\hyperref[zSDL]{SDL}#(base, rt, offset)) =
- {
- vAddr = #\hyperref[zaddrWrapperUnaligned]{addrWrapperUnaligned}#(#\hyperref[zsignzyextend]{sign\_extend}#(offset) + #\hyperref[zrGPR]{rGPR}#(base), StoreData, DL);
- let pAddr = #\hyperref[zTLBTranslate]{TLBTranslate}#(vAddr, StoreData) in
- {
- reg_val = #\hyperref[zrGPR]{rGPR}#(rt);
- match vAddr[2..0]
- {
- 0b000 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(pAddr, 8) = reg_val[63..00]),
- 0b001 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(pAddr, 7) = reg_val[63..08]),
- 0b010 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(pAddr, 6) = reg_val[63..16]),
- 0b011 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(pAddr, 5) = reg_val[63..24]),
- 0b100 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(pAddr, 4) = reg_val[63..32]),
- 0b101 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(pAddr, 3) = reg_val[63..40]),
- 0b110 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(pAddr, 2) = reg_val[63..48]),
- 0b111 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(pAddr, 1) = reg_val[63..56])
- }
- }
- }
diff --git a/cheri/sail_latex/sailfnexecuteSDR.tex b/cheri/sail_latex/sailfnexecuteSDR.tex
deleted file mode 100644
index 98f7a8a7..00000000
--- a/cheri/sail_latex/sailfnexecuteSDR.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-function clause #\hyperref[zexecute]{execute}#(#\hyperref[zSDR]{SDR}#(base, rt, offset)) =
- {
- vAddr = #\hyperref[zaddrWrapperUnaligned]{addrWrapperUnaligned}#(#\hyperref[zsignzyextend]{sign\_extend}#(offset) + #\hyperref[zrGPR]{rGPR}#(base), StoreData, DR);
- let pAddr = #\hyperref[zTLBTranslate]{TLBTranslate}#(vAddr, StoreData) in
- {
- reg_val = #\hyperref[zrGPR]{rGPR}#(rt);
- wordAddr = pAddr[63..3] @ 0b000;
- match vAddr[2..0]
- {
- 0b000 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(wordAddr, 1) = reg_val[07..0]),
- 0b001 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(wordAddr, 2) = reg_val[15..0]),
- 0b010 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(wordAddr, 3) = reg_val[23..0]),
- 0b011 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(wordAddr, 4) = reg_val[31..0]),
- 0b100 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(wordAddr, 5) = reg_val[39..0]),
- 0b101 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(wordAddr, 6) = reg_val[47..0]),
- 0b110 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(wordAddr, 7) = reg_val[55..0]),
- 0b111 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(wordAddr, 8) = reg_val[63..0])
- }
- }
- }
diff --git a/cheri/sail_latex/sailfnexecuteSLL.tex b/cheri/sail_latex/sailfnexecuteSLL.tex
deleted file mode 100644
index 31f5399a..00000000
--- a/cheri/sail_latex/sailfnexecuteSLL.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zSLL]{SLL}#(rt, rd, sa)) =
- {
- rt32 = #\hyperref[zrGPR]{rGPR}#(rt)[31..0];
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zsignzyextend]{sign\_extend}#(rt32 << sa);
- }
diff --git a/cheri/sail_latex/sailfnexecuteSLLV.tex b/cheri/sail_latex/sailfnexecuteSLLV.tex
deleted file mode 100644
index 41598e6d..00000000
--- a/cheri/sail_latex/sailfnexecuteSLLV.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zSLLV]{SLLV}#(rs, rt, rd)) =
- {
- sa = #\hyperref[zrGPR]{rGPR}#(rs)[4..0];
- rt32 = #\hyperref[zrGPR]{rGPR}#(rt)[31..0];
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zsignzyextend]{sign\_extend}#(rt32 << sa)
- }
diff --git a/cheri/sail_latex/sailfnexecuteSLT.tex b/cheri/sail_latex/sailfnexecuteSLT.tex
deleted file mode 100644
index 8e625945..00000000
--- a/cheri/sail_latex/sailfnexecuteSLT.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zSLT]{SLT}#(rs, rt, rd)) =
- {
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zzzerozyextend]{zero\_extend}#(if (#\hyperref[zrGPR]{rGPR}#(rs) <_s #\hyperref[zrGPR]{rGPR}#(rt)) then 0b1 else 0b0)
- }
diff --git a/cheri/sail_latex/sailfnexecuteSLTI.tex b/cheri/sail_latex/sailfnexecuteSLTI.tex
deleted file mode 100644
index 32582b6f..00000000
--- a/cheri/sail_latex/sailfnexecuteSLTI.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zSLTI]{SLTI}#(rs, rt, imm)) =
- {
- let imm_val = #\hyperref[zsigned]{signed}#(imm) in
- let rs_val = #\hyperref[zsigned]{signed}#(#\hyperref[zrGPR]{rGPR}#(rs)) in
- #\hyperref[zwGPR]{wGPR}#(rt) = #\hyperref[zzzerozyextend]{zero\_extend}#(if (rs_val < imm_val) then 0b1 else 0b0)
- }
diff --git a/cheri/sail_latex/sailfnexecuteSLTIU.tex b/cheri/sail_latex/sailfnexecuteSLTIU.tex
deleted file mode 100644
index e232aa07..00000000
--- a/cheri/sail_latex/sailfnexecuteSLTIU.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zSLTIU]{SLTIU}#(rs, rt, imm)) =
- {
- let rs_val = #\hyperref[zrGPR]{rGPR}#(rs) in
- let immext : #\hyperref[zbits]{bits}#(64) = #\hyperref[zsignzyextend]{sign\_extend}#(imm) in /* NB defined to sign extend here even though comparison is unsigned! */
- #\hyperref[zwGPR]{wGPR}#(rt) = #\hyperref[zzzerozyextend]{zero\_extend}#(if (rs_val <_u immext) then 0b1 else 0b0)
- }
diff --git a/cheri/sail_latex/sailfnexecuteSLTU.tex b/cheri/sail_latex/sailfnexecuteSLTU.tex
deleted file mode 100644
index 38b71b30..00000000
--- a/cheri/sail_latex/sailfnexecuteSLTU.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zSLTU]{SLTU}#(rs, rt, rd)) =
- {
- let rs_val = #\hyperref[zrGPR]{rGPR}#(rs) in
- let rt_val = #\hyperref[zrGPR]{rGPR}#(rt) in
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zzzerozyextend]{zero\_extend}#(if (rs_val <_u rt_val) then 0b1 else 0b0)
- }
diff --git a/cheri/sail_latex/sailfnexecuteSRA.tex b/cheri/sail_latex/sailfnexecuteSRA.tex
deleted file mode 100644
index 3d881120..00000000
--- a/cheri/sail_latex/sailfnexecuteSRA.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zSRA]{SRA}#(rt, rd, sa)) =
- {
- temp = #\hyperref[zrGPR]{rGPR}#(rt);
- if (#\hyperref[zNotWordVal]{NotWordVal}#(temp)) then
- #\hyperref[zwGPR]{wGPR}#(rd) = undefined
- else {
- rt32 = temp[31..0];
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zsignzyextend]{sign\_extend}#(rt32 >>_s sa);
- }
- }
diff --git a/cheri/sail_latex/sailfnexecuteSRAV.tex b/cheri/sail_latex/sailfnexecuteSRAV.tex
deleted file mode 100644
index 54d3bd1e..00000000
--- a/cheri/sail_latex/sailfnexecuteSRAV.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zSRAV]{SRAV}#(rs, rt, rd)) =
- {
- temp = #\hyperref[zrGPR]{rGPR}#(rt);
- sa = #\hyperref[zrGPR]{rGPR}#(rs)[4..0];
- if (#\hyperref[zNotWordVal]{NotWordVal}#(temp)) then
- #\hyperref[zwGPR]{wGPR}#(rd) = undefined
- else {
- rt32 = temp[31..0];
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zsignzyextend]{sign\_extend}#(rt32 >>_s sa)
- }
- }
diff --git a/cheri/sail_latex/sailfnexecuteSRL.tex b/cheri/sail_latex/sailfnexecuteSRL.tex
deleted file mode 100644
index 961ea82f..00000000
--- a/cheri/sail_latex/sailfnexecuteSRL.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zSRL]{SRL}#(rt, rd, sa)) =
- {
- temp = #\hyperref[zrGPR]{rGPR}#(rt);
- if (#\hyperref[zNotWordVal]{NotWordVal}#(temp)) then
- #\hyperref[zwGPR]{wGPR}#(rd) = undefined
- else {
- rt32 = temp[31..0];
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zsignzyextend]{sign\_extend}#(rt32 >> sa);
- }
- }
diff --git a/cheri/sail_latex/sailfnexecuteSRLV.tex b/cheri/sail_latex/sailfnexecuteSRLV.tex
deleted file mode 100644
index 9b859a85..00000000
--- a/cheri/sail_latex/sailfnexecuteSRLV.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zSRLV]{SRLV}#(rs, rt, rd)) =
- {
- temp = #\hyperref[zrGPR]{rGPR}#(rt);
- sa = (#\hyperref[zrGPR]{rGPR}#(rs))[4..0];
- if (#\hyperref[zNotWordVal]{NotWordVal}#(temp)) then
- #\hyperref[zwGPR]{wGPR}#(rd) = undefined
- else {
- rt32 = temp[31..0];
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zsignzyextend]{sign\_extend}#(rt32 >> sa);
- }
- }
diff --git a/cheri/sail_latex/sailfnexecuteSUB.tex b/cheri/sail_latex/sailfnexecuteSUB.tex
deleted file mode 100644
index 8a7b9d61..00000000
--- a/cheri/sail_latex/sailfnexecuteSUB.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zSUB]{SUB}#(rs, rt, rd)) =
- {
- opA = #\hyperref[zrGPR]{rGPR}#(rs);
- opB = #\hyperref[zrGPR]{rGPR}#(rt);
- if #\hyperref[zNotWordVal]{NotWordVal}#(opA) | #\hyperref[zNotWordVal]{NotWordVal}#(opB) then
- #\hyperref[zwGPR]{wGPR}#(rd) = undefined /* XXX could instead */
- else
- let temp33 : #\hyperref[zbits]{bits}#(33) = #\hyperref[zsignzyextend]{sign\_extend}#(opA[31..0]) - #\hyperref[zsignzyextend]{sign\_extend}#(opB[31..0]) in
- if temp33[32] != temp33[31] then
- (#\hyperref[zSignalException]{SignalException}#(Ov))
- else
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zsignzyextend]{sign\_extend}#(temp33[31..0])
- }
diff --git a/cheri/sail_latex/sailfnexecuteSUBU.tex b/cheri/sail_latex/sailfnexecuteSUBU.tex
deleted file mode 100644
index 65b106e1..00000000
--- a/cheri/sail_latex/sailfnexecuteSUBU.tex
+++ /dev/null
@@ -1,9 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zSUBU]{SUBU}#(rs, rt, rd)) =
- {
- opA = #\hyperref[zrGPR]{rGPR}#(rs);
- opB = #\hyperref[zrGPR]{rGPR}#(rt);
- if #\hyperref[zNotWordVal]{NotWordVal}#(opA) | #\hyperref[zNotWordVal]{NotWordVal}#(opB) then
- #\hyperref[zwGPR]{wGPR}#(rd) = undefined
- else
- #\hyperref[zwGPR]{wGPR}#(rd) = #\hyperref[zsignzyextend]{sign\_extend}#(opA[31..0] - opB[31..0])
- }
diff --git a/cheri/sail_latex/sailfnexecuteSWL.tex b/cheri/sail_latex/sailfnexecuteSWL.tex
deleted file mode 100644
index 56ed19a6..00000000
--- a/cheri/sail_latex/sailfnexecuteSWL.tex
+++ /dev/null
@@ -1,15 +0,0 @@
-function clause #\hyperref[zexecute]{execute}#(#\hyperref[zSWL]{SWL}#(base, rt, offset)) =
- {
- vAddr = #\hyperref[zaddrWrapperUnaligned]{addrWrapperUnaligned}#(#\hyperref[zsignzyextend]{sign\_extend}#(offset) + #\hyperref[zrGPR]{rGPR}#(base), StoreData, WL);
- let pAddr = #\hyperref[zTLBTranslate]{TLBTranslate}#(vAddr, StoreData) in
- {
- reg_val = #\hyperref[zrGPR]{rGPR}#(rt);
- match vAddr[1..0]
- {
- 0b00 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(pAddr, 4) = reg_val[31..0]),
- 0b01 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(pAddr, 3) = reg_val[31..8]),
- 0b10 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(pAddr, 2) = reg_val[31..16]),
- 0b11 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(pAddr, 1) = reg_val[31..24])
- }
- }
- }
diff --git a/cheri/sail_latex/sailfnexecuteSWR.tex b/cheri/sail_latex/sailfnexecuteSWR.tex
deleted file mode 100644
index 9b0815e9..00000000
--- a/cheri/sail_latex/sailfnexecuteSWR.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-function clause #\hyperref[zexecute]{execute}#(#\hyperref[zSWR]{SWR}#(base, rt, offset)) =
- {
- vAddr = #\hyperref[zaddrWrapperUnaligned]{addrWrapperUnaligned}#(#\hyperref[zsignzyextend]{sign\_extend}#(offset) + #\hyperref[zrGPR]{rGPR}#(base), StoreData, WR);
- let pAddr = #\hyperref[zTLBTranslate]{TLBTranslate}#(vAddr, StoreData) in
- {
- wordAddr = pAddr[63..2] @ 0b00;
- reg_val = #\hyperref[zrGPR]{rGPR}#(rt);
- match vAddr[1..0]
- {
- 0b00 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(wordAddr, 1) = reg_val[7..0]),
- 0b01 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(wordAddr, 2) = reg_val[15..0]),
- 0b10 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(wordAddr, 3) = reg_val[23..0]),
- 0b11 => (#\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(wordAddr, 4) = reg_val[31..0])
- }
- }
- }
diff --git a/cheri/sail_latex/sailfnexecuteSYNC.tex b/cheri/sail_latex/sailfnexecuteSYNC.tex
deleted file mode 100644
index e5d5a25e..00000000
--- a/cheri/sail_latex/sailfnexecuteSYNC.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zexecute]{execute}#(#\hyperref[zSYNC]{SYNC}#()) =
- #\hyperref[zMEMzysync]{MEM\_sync}#()
diff --git a/cheri/sail_latex/sailfnexecuteSYSCALL.tex b/cheri/sail_latex/sailfnexecuteSYSCALL.tex
deleted file mode 100644
index 35fc0371..00000000
--- a/cheri/sail_latex/sailfnexecuteSYSCALL.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zSYSCALL]{SYSCALL}#()) =
- {
- (#\hyperref[zSignalException]{SignalException}#(Sys))
- }
diff --git a/cheri/sail_latex/sailfnexecuteStore.tex b/cheri/sail_latex/sailfnexecuteStore.tex
deleted file mode 100644
index 1030fdd2..00000000
--- a/cheri/sail_latex/sailfnexecuteStore.tex
+++ /dev/null
@@ -1,29 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zStore]{Store}#(width, conditional, base, rt, offset)) =
- {
- vAddr : #\hyperref[zbits]{bits}#(64) = #\hyperref[zaddrWrapper]{addrWrapper}#(#\hyperref[zsignzyextend]{sign\_extend}#(offset) + #\hyperref[zrGPR]{rGPR}#(base), StoreData, width);
- rt_val = #\hyperref[zrGPR]{rGPR}#(rt);
- if ~ (#\hyperref[zisAddressAligned]{isAddressAligned}#(vAddr, width)) then
- (#\hyperref[zSignalExceptionBadAddr]{SignalExceptionBadAddr}#(AdES, vAddr)) /* unaligned access */
- else
- let pAddr = (#\hyperref[zTLBTranslate]{TLBTranslate}#(vAddr, StoreData)) in
- {
- if (conditional) then
- {
- success : bool = if (CP0LLBit[0]) then match width
- {
- W => #\hyperref[zMEMwzyconditionalzywrapper]{MEMw\_conditional\_wrapper}#(pAddr, 4, rt_val[31..0]),
- D => #\hyperref[zMEMwzyconditionalzywrapper]{MEMw\_conditional\_wrapper}#(pAddr, 8, rt_val),
- _ => throw(#\hyperref[zErrorzyinternalzyerror]{Error\_internal\_error}#()) /* there is no sbc or shc */
- } else false;
- #\hyperref[zwGPR]{wGPR}#(rt) = #\hyperref[zzzerozyextend]{zero\_extend}#(success)
- }
- else
- match width
- {
- B => #\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(pAddr, 1) = rt_val[7..0],
- H => #\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(pAddr, 2) = rt_val[15..0],
- W => #\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(pAddr, 4) = rt_val[31..0],
- D => #\hyperref[zMEMwzywrapper]{MEMw\_wrapper}#(pAddr, 8) = rt_val
- }
- }
- }
diff --git a/cheri/sail_latex/sailfnexecuteTLBP.tex b/cheri/sail_latex/sailfnexecuteTLBP.tex
deleted file mode 100644
index 1c781dda..00000000
--- a/cheri/sail_latex/sailfnexecuteTLBP.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zTLBP]{TLBP}#()) = {
- #\hyperref[zcheckCPzeroAccess]{checkCP0Access}#();
- let result = #\hyperref[ztlbSearch]{tlbSearch}#(TLBEntryHi.#\hyperref[zbits]{bits}#()) in
- match result {
- (#\hyperref[zSome]{Some}#(idx)) => {
- TLBProbe = [bitzero];
- TLBIndex = idx;
- },
- #\hyperref[zNone]{None}#() => {
- TLBProbe = [bitone];
- TLBIndex = 0b000000;
- }
- }
-}
diff --git a/cheri/sail_latex/sailfnexecuteTLBR.tex b/cheri/sail_latex/sailfnexecuteTLBR.tex
deleted file mode 100644
index fd7aefd2..00000000
--- a/cheri/sail_latex/sailfnexecuteTLBR.tex
+++ /dev/null
@@ -1,24 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zTLBR]{TLBR}#()) = {
- #\hyperref[zcheckCPzeroAccess]{checkCP0Access}#();
- let i as atom(_) = #\hyperref[zunsigned]{unsigned}#(TLBIndex) in
- let entry = #\hyperref[zregzyderef]{reg\_deref}#(TLBEntries[i]) in {
- TLBPageMask = entry.#\hyperref[zpagemask]{pagemask}#();
- TLBEntryHi->#\hyperref[zR]{R}#() = entry.#\hyperref[zr]{r}#();
- TLBEntryHi->#\hyperref[zVPNtwo]{VPN2}#() = entry.#\hyperref[zvpntwo]{vpn2}#();
- TLBEntryHi->#\hyperref[zASID]{ASID}#() = entry.#\hyperref[zasid]{asid}#();
- TLBEntryLo0->#\hyperref[zCapS]{CapS}#()= entry.#\hyperref[zcapszero]{caps0}#();
- TLBEntryLo0->#\hyperref[zCapL]{CapL}#()= entry.#\hyperref[zcaplzero]{capl0}#();
- TLBEntryLo0->#\hyperref[zPFN]{PFN}#() = entry.#\hyperref[zpfnzero]{pfn0}#();
- TLBEntryLo0->#\hyperref[zC]{C}#() = entry.#\hyperref[zczero]{c0}#();
- TLBEntryLo0->#\hyperref[zD]{D}#() = entry.#\hyperref[zdzero]{d0}#();
- TLBEntryLo0->#\hyperref[zV]{V}#() = entry.#\hyperref[zvzero]{v0}#();
- TLBEntryLo0->#\hyperref[zG]{G}#() = entry.#\hyperref[zg]{g}#();
- TLBEntryLo1->#\hyperref[zCapS]{CapS}#()= entry.#\hyperref[zcapsone]{caps1}#();
- TLBEntryLo1->#\hyperref[zCapL]{CapL}#()= entry.#\hyperref[zcaplone]{capl1}#();
- TLBEntryLo1->#\hyperref[zPFN]{PFN}#() = entry.#\hyperref[zpfnone]{pfn1}#();
- TLBEntryLo1->#\hyperref[zC]{C}#() = entry.#\hyperref[zcone]{c1}#();
- TLBEntryLo1->#\hyperref[zD]{D}#() = entry.#\hyperref[zdone]{d1}#();
- TLBEntryLo1->#\hyperref[zV]{V}#() = entry.#\hyperref[zvone]{v1}#();
- TLBEntryLo1->#\hyperref[zG]{G}#() = entry.#\hyperref[zg]{g}#();
- }
-}
diff --git a/cheri/sail_latex/sailfnexecuteTLBWI.tex b/cheri/sail_latex/sailfnexecuteTLBWI.tex
deleted file mode 100644
index 2b32342e..00000000
--- a/cheri/sail_latex/sailfnexecuteTLBWI.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zTLBWI]{TLBWI}#()) = {
- #\hyperref[zcheckCPzeroAccess]{checkCP0Access}#();
- #\hyperref[zTLBWriteEntry]{TLBWriteEntry}#(TLBIndex);
-}
diff --git a/cheri/sail_latex/sailfnexecuteTLBWR.tex b/cheri/sail_latex/sailfnexecuteTLBWR.tex
deleted file mode 100644
index df582e88..00000000
--- a/cheri/sail_latex/sailfnexecuteTLBWR.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zTLBWR]{TLBWR}#()) = {
- #\hyperref[zcheckCPzeroAccess]{checkCP0Access}#();
- #\hyperref[zTLBWriteEntry]{TLBWriteEntry}#(TLBRandom);
-}
diff --git a/cheri/sail_latex/sailfnexecuteTRAPIMM.tex b/cheri/sail_latex/sailfnexecuteTRAPIMM.tex
deleted file mode 100644
index 9fa187e9..00000000
--- a/cheri/sail_latex/sailfnexecuteTRAPIMM.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zTRAPIMM]{TRAPIMM}#(rs, imm, cmp)) =
- {
- rs_val = #\hyperref[zrGPR]{rGPR}#(rs);
- imm_val : #\hyperref[zbits]{bits}#(64) = #\hyperref[zsignzyextend]{sign\_extend}#(imm);
- condition = #\hyperref[zcompare]{compare}#(cmp, rs_val, imm_val);
- if (condition) then
- (#\hyperref[zSignalException]{SignalException}#(Tr))
- }
diff --git a/cheri/sail_latex/sailfnexecuteTRAPREG.tex b/cheri/sail_latex/sailfnexecuteTRAPREG.tex
deleted file mode 100644
index 9d3d759c..00000000
--- a/cheri/sail_latex/sailfnexecuteTRAPREG.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zTRAPREG]{TRAPREG}#(rs, rt, cmp)) =
- {
- rs_val = #\hyperref[zrGPR]{rGPR}#(rs);
- rt_val = #\hyperref[zrGPR]{rGPR}#(rt);
- condition = #\hyperref[zcompare]{compare}#(cmp, rs_val, rt_val);
- if (condition) then
- (#\hyperref[zSignalException]{SignalException}#(Tr))
- }
diff --git a/cheri/sail_latex/sailfnexecuteWAIT.tex b/cheri/sail_latex/sailfnexecuteWAIT.tex
deleted file mode 100644
index 9ef8ce0e..00000000
--- a/cheri/sail_latex/sailfnexecuteWAIT.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zWAIT]{WAIT}#()) = {
- nextPC = PC;
-}
diff --git a/cheri/sail_latex/sailfnexecuteXOR.tex b/cheri/sail_latex/sailfnexecuteXOR.tex
deleted file mode 100644
index 79e89bc5..00000000
--- a/cheri/sail_latex/sailfnexecuteXOR.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zXOR]{XOR}# (rs, rt, rd)) =
- {
- #\hyperref[zwGPR]{wGPR}#(rd) = (#\hyperref[zrGPR]{rGPR}#(rs) ^ #\hyperref[zrGPR]{rGPR}#(rt))
- }
diff --git a/cheri/sail_latex/sailfnexecuteXORI.tex b/cheri/sail_latex/sailfnexecuteXORI.tex
deleted file mode 100644
index 1310c125..00000000
--- a/cheri/sail_latex/sailfnexecuteXORI.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zXORI]{XORI}# (rs, rt, imm)) =
- {
- #\hyperref[zwGPR]{wGPR}#(rt) = (#\hyperref[zrGPR]{rGPR}#(rs) ^ #\hyperref[zzzerozyextend]{zero\_extend}#(imm))
- }
diff --git a/cheri/sail_latex/sailfnexecutebranch.tex b/cheri/sail_latex/sailfnexecutebranch.tex
deleted file mode 100644
index 9f2f03fc..00000000
--- a/cheri/sail_latex/sailfnexecutebranch.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function #\hyperref[zexecutezybranch]{execute\_branch}#(pc) = {
- delayedPC = pc;
- branchPending = 0b1;
-}
diff --git a/cheri/sail_latex/sailfnexecutebranchpcc.tex b/cheri/sail_latex/sailfnexecutebranchpcc.tex
deleted file mode 100644
index 8c803ce2..00000000
--- a/cheri/sail_latex/sailfnexecutebranchpcc.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-function #\hyperref[zexecutezybranchzypcc]{execute\_branch\_pcc}#(newPCC) = {
- delayedPC = #\hyperref[ztozybits]{to\_bits}#(64, #\hyperref[zgetCapOffset]{getCapOffset}#(newPCC));
- delayedPCC = #\hyperref[zcapStructToCapReg]{capStructToCapReg}#(newPCC);
- branchPending = 0b1;
-}
diff --git a/cheri/sail_latex/sailfnextendLoad.tex b/cheri/sail_latex/sailfnextendLoad.tex
deleted file mode 100644
index 08d1f9a4..00000000
--- a/cheri/sail_latex/sailfnextendLoad.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function #\hyperref[zextendLoad]{extendLoad}#(memResult, sign) = {
- if (sign) then
- #\hyperref[zsignzyextend]{sign\_extend}#(memResult)
- else
- #\hyperref[zzzerozyextend]{zero\_extend}#(memResult)
-}
diff --git a/cheri/sail_latex/sailfngetAccessLevel.tex b/cheri/sail_latex/sailfngetAccessLevel.tex
deleted file mode 100644
index c37a672e..00000000
--- a/cheri/sail_latex/sailfngetAccessLevel.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-function #\hyperref[zgetAccessLevel]{getAccessLevel}#() =
- if ((CP0Status.#\hyperref[zEXL]{EXL}#()) | (CP0Status.#\hyperref[zERL]{ERL}#())) then
- Kernel
- else match CP0Status.#\hyperref[zKSU]{KSU}#()
- {
- 0b00 => Kernel,
- 0b01 => Supervisor,
- 0b10 => User,
- _ => User /* behaviour undefined, assume user */
- }
diff --git a/cheri/sail_latex/sailfngetCapBase.tex b/cheri/sail_latex/sailfngetCapBase.tex
deleted file mode 100644
index 92f7963b..00000000
--- a/cheri/sail_latex/sailfngetCapBase.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zgetCapBase]{getCapBase}#(c) : CapStruct -> uint64 = #\hyperref[zunsigned]{unsigned}#(c.base)
diff --git a/cheri/sail_latex/sailfngetCapCauseRegExcCode.tex b/cheri/sail_latex/sailfngetCapCauseRegExcCode.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetCapCauseRegExcCode.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetCapCauseRegRegNum.tex b/cheri/sail_latex/sailfngetCapCauseRegRegNum.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetCapCauseRegRegNum.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetCapCauseRegbits.tex b/cheri/sail_latex/sailfngetCapCauseRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetCapCauseRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetCapCursor.tex b/cheri/sail_latex/sailfngetCapCursor.tex
deleted file mode 100644
index 06750973..00000000
--- a/cheri/sail_latex/sailfngetCapCursor.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zgetCapCursor]{getCapCursor}#(c) : CapStruct -> uint64 = #\hyperref[zunsigned]{unsigned}#(c.address)
diff --git a/cheri/sail_latex/sailfngetCapLength.tex b/cheri/sail_latex/sailfngetCapLength.tex
deleted file mode 100644
index 501ed940..00000000
--- a/cheri/sail_latex/sailfngetCapLength.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zgetCapLength]{getCapLength}#(c) : CapStruct -> CapLen = #\hyperref[zunsigned]{unsigned}#(c.length)
diff --git a/cheri/sail_latex/sailfngetCapOffset.tex b/cheri/sail_latex/sailfngetCapOffset.tex
deleted file mode 100644
index d1dc5f8d..00000000
--- a/cheri/sail_latex/sailfngetCapOffset.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zgetCapOffset]{getCapOffset}#(c) : CapStruct -> uint64 = (#\hyperref[zunsigned]{unsigned}#(c.address) - #\hyperref[zunsigned]{unsigned}#(c.base)) % (#\hyperref[zpowtwo]{pow2}#(64))
diff --git a/cheri/sail_latex/sailfngetCapPerms.tex b/cheri/sail_latex/sailfngetCapPerms.tex
deleted file mode 100644
index 932930ae..00000000
--- a/cheri/sail_latex/sailfngetCapPerms.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-function #\hyperref[zgetCapPerms]{getCapPerms}#(cap) : CapStruct -> #\hyperref[zbits]{bits}#(31) =
- (
- cap.uperms
- @ cap.perm_reserved11_14
- @ cap.access_system_regs
- @ cap.permit_unseal
- @ cap.permit_ccall
- @ cap.permit_seal
- @ cap.permit_store_local_cap
- @ cap.permit_store_cap
- @ cap.permit_load_cap
- @ cap.permit_store
- @ cap.permit_load
- @ cap.permit_execute
- @ cap.global
- )
diff --git a/cheri/sail_latex/sailfngetCapTop.tex b/cheri/sail_latex/sailfngetCapTop.tex
deleted file mode 100644
index 3a3c74d5..00000000
--- a/cheri/sail_latex/sailfngetCapTop.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zgetCapTop]{getCapTop}#(c) : CapStruct -> CapLen = #\hyperref[zunsigned]{unsigned}#(c.base) + #\hyperref[zunsigned]{unsigned}#(c.length) /* XXX bug here? -- should be mod 2^64 */
diff --git a/cheri/sail_latex/sailfngetCauseRegBD.tex b/cheri/sail_latex/sailfngetCauseRegBD.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetCauseRegBD.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetCauseRegCE.tex b/cheri/sail_latex/sailfngetCauseRegCE.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetCauseRegCE.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetCauseRegExcCode.tex b/cheri/sail_latex/sailfngetCauseRegExcCode.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetCauseRegExcCode.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetCauseRegIP.tex b/cheri/sail_latex/sailfngetCauseRegIP.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetCauseRegIP.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetCauseRegIV.tex b/cheri/sail_latex/sailfngetCauseRegIV.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetCauseRegIV.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetCauseRegWP.tex b/cheri/sail_latex/sailfngetCauseRegWP.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetCauseRegWP.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetCauseRegbits.tex b/cheri/sail_latex/sailfngetCauseRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetCauseRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetContextRegBadVPNtwo.tex b/cheri/sail_latex/sailfngetContextRegBadVPNtwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetContextRegBadVPNtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetContextRegPTEBase.tex b/cheri/sail_latex/sailfngetContextRegPTEBase.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetContextRegPTEBase.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetContextRegbits.tex b/cheri/sail_latex/sailfngetContextRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetContextRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetStatusRegBEV.tex b/cheri/sail_latex/sailfngetStatusRegBEV.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetStatusRegBEV.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetStatusRegCU.tex b/cheri/sail_latex/sailfngetStatusRegCU.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetStatusRegCU.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetStatusRegERL.tex b/cheri/sail_latex/sailfngetStatusRegERL.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetStatusRegERL.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetStatusRegEXL.tex b/cheri/sail_latex/sailfngetStatusRegEXL.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetStatusRegEXL.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetStatusRegIE.tex b/cheri/sail_latex/sailfngetStatusRegIE.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetStatusRegIE.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetStatusRegIM.tex b/cheri/sail_latex/sailfngetStatusRegIM.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetStatusRegIM.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetStatusRegKSU.tex b/cheri/sail_latex/sailfngetStatusRegKSU.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetStatusRegKSU.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetStatusRegKX.tex b/cheri/sail_latex/sailfngetStatusRegKX.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetStatusRegKX.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetStatusRegSX.tex b/cheri/sail_latex/sailfngetStatusRegSX.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetStatusRegSX.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetStatusRegUX.tex b/cheri/sail_latex/sailfngetStatusRegUX.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetStatusRegUX.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetStatusRegbits.tex b/cheri/sail_latex/sailfngetStatusRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetStatusRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntryHiRegASID.tex b/cheri/sail_latex/sailfngetTLBEntryHiRegASID.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntryHiRegASID.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntryHiRegR.tex b/cheri/sail_latex/sailfngetTLBEntryHiRegR.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntryHiRegR.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntryHiRegVPNtwo.tex b/cheri/sail_latex/sailfngetTLBEntryHiRegVPNtwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntryHiRegVPNtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntryHiRegbits.tex b/cheri/sail_latex/sailfngetTLBEntryHiRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntryHiRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntryLoRegC.tex b/cheri/sail_latex/sailfngetTLBEntryLoRegC.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntryLoRegC.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntryLoRegCapL.tex b/cheri/sail_latex/sailfngetTLBEntryLoRegCapL.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntryLoRegCapL.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntryLoRegCapS.tex b/cheri/sail_latex/sailfngetTLBEntryLoRegCapS.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntryLoRegCapS.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntryLoRegD.tex b/cheri/sail_latex/sailfngetTLBEntryLoRegD.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntryLoRegD.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntryLoRegG.tex b/cheri/sail_latex/sailfngetTLBEntryLoRegG.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntryLoRegG.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntryLoRegPFN.tex b/cheri/sail_latex/sailfngetTLBEntryLoRegPFN.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntryLoRegPFN.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntryLoRegV.tex b/cheri/sail_latex/sailfngetTLBEntryLoRegV.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntryLoRegV.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntryLoRegbits.tex b/cheri/sail_latex/sailfngetTLBEntryLoRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntryLoRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntryasid.tex b/cheri/sail_latex/sailfngetTLBEntryasid.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntryasid.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntrybits.tex b/cheri/sail_latex/sailfngetTLBEntrybits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntrybits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntrycaplone.tex b/cheri/sail_latex/sailfngetTLBEntrycaplone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntrycaplone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntrycaplzero.tex b/cheri/sail_latex/sailfngetTLBEntrycaplzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntrycaplzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntrycapsone.tex b/cheri/sail_latex/sailfngetTLBEntrycapsone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntrycapsone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntrycapszero.tex b/cheri/sail_latex/sailfngetTLBEntrycapszero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntrycapszero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntrycone.tex b/cheri/sail_latex/sailfngetTLBEntrycone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntrycone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntryczero.tex b/cheri/sail_latex/sailfngetTLBEntryczero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntryczero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntrydone.tex b/cheri/sail_latex/sailfngetTLBEntrydone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntrydone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntrydzero.tex b/cheri/sail_latex/sailfngetTLBEntrydzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntrydzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntryg.tex b/cheri/sail_latex/sailfngetTLBEntryg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntryg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntrypagemask.tex b/cheri/sail_latex/sailfngetTLBEntrypagemask.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntrypagemask.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntrypfnone.tex b/cheri/sail_latex/sailfngetTLBEntrypfnone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntrypfnone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntrypfnzero.tex b/cheri/sail_latex/sailfngetTLBEntrypfnzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntrypfnzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntryr.tex b/cheri/sail_latex/sailfngetTLBEntryr.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntryr.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntryvalid.tex b/cheri/sail_latex/sailfngetTLBEntryvalid.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntryvalid.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntryvone.tex b/cheri/sail_latex/sailfngetTLBEntryvone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntryvone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntryvpntwo.tex b/cheri/sail_latex/sailfngetTLBEntryvpntwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntryvpntwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetTLBEntryvzero.tex b/cheri/sail_latex/sailfngetTLBEntryvzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetTLBEntryvzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetXContextRegXBadVPNtwo.tex b/cheri/sail_latex/sailfngetXContextRegXBadVPNtwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetXContextRegXBadVPNtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetXContextRegXPTEBase.tex b/cheri/sail_latex/sailfngetXContextRegXPTEBase.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetXContextRegXPTEBase.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetXContextRegXR.tex b/cheri/sail_latex/sailfngetXContextRegXR.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetXContextRegXR.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngetXContextRegbits.tex b/cheri/sail_latex/sailfngetXContextRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfngetXContextRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfngrantsAccess.tex b/cheri/sail_latex/sailfngrantsAccess.tex
deleted file mode 100644
index 0840683d..00000000
--- a/cheri/sail_latex/sailfngrantsAccess.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function #\hyperref[zgrantsAccess]{grantsAccess}# (currentLevel, requiredLevel) =
- #\hyperref[zintzyofzyAccessLevel]{int\_of\_AccessLevel}#(currentLevel) >= #\hyperref[zintzyofzyAccessLevel]{int\_of\_AccessLevel}#(requiredLevel)
diff --git a/cheri/sail_latex/sailfnincCapOffset.tex b/cheri/sail_latex/sailfnincCapOffset.tex
deleted file mode 100644
index 134bc1fd..00000000
--- a/cheri/sail_latex/sailfnincCapOffset.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-function #\hyperref[zincCapOffset]{incCapOffset}#(c, delta) =
- let newAddr : #\hyperref[zbits]{bits}#(64) = c.address + delta in
- (true, {c with address = newAddr})
diff --git a/cheri/sail_latex/sailfnincrementCPzeroCount.tex b/cheri/sail_latex/sailfnincrementCPzeroCount.tex
deleted file mode 100644
index 71ca2e51..00000000
--- a/cheri/sail_latex/sailfnincrementCPzeroCount.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-function #\hyperref[zincrementCPzeroCount]{incrementCP0Count}#() = {
- TLBRandom = (if (TLBRandom == TLBWired)
- then (TLBIndexMax) else (TLBRandom - 1));
-
- CP0Count = (CP0Count + 1);
- if (CP0Count == CP0Compare) then {
- CP0Cause->#\hyperref[zIP]{IP}#() = CP0Cause.#\hyperref[zIP]{IP}#() | 0x80; /* IP7 is timer interrupt */
- };
-
- let ims = CP0Status.#\hyperref[zIM]{IM}#() in
- let ips = CP0Cause.#\hyperref[zIP]{IP}#() in
- let ie = CP0Status.#\hyperref[zIE]{IE}#() in
- let exl = CP0Status.#\hyperref[zEXL]{EXL}#() in
- let erl = CP0Status.#\hyperref[zERL]{ERL}#() in
- if ((~(exl)) & (~(erl)) & ie & ((ips & ims) != 0x00)) then
- #\hyperref[zSignalException]{SignalException}#(Interrupt);
-}
diff --git a/cheri/sail_latex/sailfninitcptwostate.tex b/cheri/sail_latex/sailfninitcptwostate.tex
deleted file mode 100644
index ea9e07b5..00000000
--- a/cheri/sail_latex/sailfninitcptwostate.tex
+++ /dev/null
@@ -1,19 +0,0 @@
-function #\hyperref[zinitzycptwozystate]{init\_cp2\_state}# () = {
- let defaultBits = #\hyperref[zcapStructToCapReg]{capStructToCapReg}#(default_cap);
- let nullBits = #\hyperref[zcapStructToCapReg]{capStructToCapReg}#(null_cap);
- PCC = defaultBits;
- nextPCC = defaultBits;
- delayedPCC = defaultBits;
- DDC = defaultBits;
- KCC = defaultBits;
- EPCC = defaultBits;
- KDC = nullBits;
- KR1C = nullBits;
- KR2C = nullBits;
- CTLSP = nullBits;
- CTLSU = nullBits;
- foreach(i from 1 to 31) {
- let idx = #\hyperref[ztozybits]{to\_bits}#(5, i) in
- #\hyperref[zwriteCapReg]{writeCapReg}#(idx, null_cap)
- }
-}
diff --git a/cheri/sail_latex/sailfninitcpzerostate.tex b/cheri/sail_latex/sailfninitcpzerostate.tex
deleted file mode 100644
index be4ebee2..00000000
--- a/cheri/sail_latex/sailfninitcpzerostate.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-function #\hyperref[zinitzycpzerozystate]{init\_cp0\_state}# () : unit -> unit = {
- CP0Status->#\hyperref[zBEV]{BEV}#() = bitone;
-}
diff --git a/cheri/sail_latex/sailfnintofAccessLevel.tex b/cheri/sail_latex/sailfnintofAccessLevel.tex
deleted file mode 100644
index 0a5bb3c6..00000000
--- a/cheri/sail_latex/sailfnintofAccessLevel.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function int_of_AccessLevel level =
- match level {
- User => 0,
- Supervisor => 1,
- Kernel => 2
- }
diff --git a/cheri/sail_latex/sailfninttocap.tex b/cheri/sail_latex/sailfninttocap.tex
deleted file mode 100644
index a10d10c1..00000000
--- a/cheri/sail_latex/sailfninttocap.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function #\hyperref[zintzytozycap]{int\_to\_cap}# (address) : #\hyperref[zbits]{bits}#(64) -> CapStruct =
- {null_cap with address = address}
diff --git a/cheri/sail_latex/sailfnisAddressAligned.tex b/cheri/sail_latex/sailfnisAddressAligned.tex
deleted file mode 100644
index 212605ce..00000000
--- a/cheri/sail_latex/sailfnisAddressAligned.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-function #\hyperref[zisAddressAligned]{isAddressAligned}# (addr, wordType) =
- let a = #\hyperref[zunsigned]{unsigned}#(addr) in
- a / alignment_width == (a + #\hyperref[zwordWidthBytes]{wordWidthBytes}#(wordType) - 1) / alignment_width
diff --git a/cheri/sail_latex/sailfnisnone.tex b/cheri/sail_latex/sailfnisnone.tex
deleted file mode 100644
index 877cc2a0..00000000
--- a/cheri/sail_latex/sailfnisnone.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function is_none opt = match opt {
- #\hyperref[zSome]{Some}#(_) => false,
- #\hyperref[zNone]{None}#() => true
-}
diff --git a/cheri/sail_latex/sailfnissome.tex b/cheri/sail_latex/sailfnissome.tex
deleted file mode 100644
index f1f5f655..00000000
--- a/cheri/sail_latex/sailfnissome.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function is_some opt = match opt {
- #\hyperref[zSome]{Some}#(_) => true,
- #\hyperref[zNone]{None}#() => false
-}
diff --git a/cheri/sail_latex/sailfnmask.tex b/cheri/sail_latex/sailfnmask.tex
deleted file mode 100644
index e62ea529..00000000
--- a/cheri/sail_latex/sailfnmask.tex
+++ /dev/null
@@ -1 +0,0 @@
-function mask bs = bs['n - 1 .. 0]
diff --git a/cheri/sail_latex/sailfnmemBitsToCapBits.tex b/cheri/sail_latex/sailfnmemBitsToCapBits.tex
deleted file mode 100644
index f5dc7a3b..00000000
--- a/cheri/sail_latex/sailfnmemBitsToCapBits.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function #\hyperref[zmemBitsToCapBits]{memBitsToCapBits}#(tag, b) : (bool, #\hyperref[zbits]{bits}#(256)) -> #\hyperref[zbits]{bits}#(257) =
- tag @ (b ^ null_cap_bits)
diff --git a/cheri/sail_latex/sailfnmipssignextend.tex b/cheri/sail_latex/sailfnmipssignextend.tex
deleted file mode 100644
index 80945b61..00000000
--- a/cheri/sail_latex/sailfnmipssignextend.tex
+++ /dev/null
@@ -1 +0,0 @@
-function mips_sign_extend v = #\hyperref[zsailzysignzyextend]{sail\_sign\_extend}#(v, sizeof('m))
diff --git a/cheri/sail_latex/sailfnmipszzeroextend.tex b/cheri/sail_latex/sailfnmipszzeroextend.tex
deleted file mode 100644
index 6c9914d9..00000000
--- a/cheri/sail_latex/sailfnmipszzeroextend.tex
+++ /dev/null
@@ -1 +0,0 @@
-function mips_zero_extend v = #\hyperref[zsailzyzzerozyextend]{sail\_zero\_extend}#(v, sizeof('m))
diff --git a/cheri/sail_latex/sailfnneqanything.tex b/cheri/sail_latex/sailfnneqanything.tex
deleted file mode 100644
index 1605ed05..00000000
--- a/cheri/sail_latex/sailfnneqanything.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zneqzyanything]{neq\_anything}# (x, y) = #\hyperref[znotzybool]{not\_bool}#(x == y)
diff --git a/cheri/sail_latex/sailfnneqatom.tex b/cheri/sail_latex/sailfnneqatom.tex
deleted file mode 100644
index e9a9f93f..00000000
--- a/cheri/sail_latex/sailfnneqatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zneqzyatom]{neq\_atom}# (x, y) = #\hyperref[znotzybool]{not\_bool}#(#\hyperref[zeqzyatom]{eq\_atom}#(x, y))
diff --git a/cheri/sail_latex/sailfnneqbool.tex b/cheri/sail_latex/sailfnneqbool.tex
deleted file mode 100644
index 65007b8e..00000000
--- a/cheri/sail_latex/sailfnneqbool.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zneqzybool]{neq\_bool}# (x, y) = #\hyperref[znotzybool]{not\_bool}#(#\hyperref[zeqzybool]{eq\_bool}#(x, y))
diff --git a/cheri/sail_latex/sailfnneqint.tex b/cheri/sail_latex/sailfnneqint.tex
deleted file mode 100644
index 952a7735..00000000
--- a/cheri/sail_latex/sailfnneqint.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zneqzyint]{neq\_int}# (x, y) = #\hyperref[znotzybool]{not\_bool}#(#\hyperref[zeqzyint]{eq\_int}#(x, y))
diff --git a/cheri/sail_latex/sailfnneqrange.tex b/cheri/sail_latex/sailfnneqrange.tex
deleted file mode 100644
index 43f49e9e..00000000
--- a/cheri/sail_latex/sailfnneqrange.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zneqzyrange]{neq\_range}# (x, y) = #\hyperref[znotzybool]{not\_bool}#(#\hyperref[zeqzyrange]{eq\_range}#(x, y))
diff --git a/cheri/sail_latex/sailfnneqvec.tex b/cheri/sail_latex/sailfnneqvec.tex
deleted file mode 100644
index c446df08..00000000
--- a/cheri/sail_latex/sailfnneqvec.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zneqzyvec]{neq\_vec}# (x, y) = #\hyperref[znotzybool]{not\_bool}#(#\hyperref[zeqzybits]{eq\_bits}#(x, y))
diff --git a/cheri/sail_latex/sailfnnumofAccessLevel.tex b/cheri/sail_latex/sailfnnumofAccessLevel.tex
deleted file mode 100644
index a5a1d8af..00000000
--- a/cheri/sail_latex/sailfnnumofAccessLevel.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-function num_of_AccessLevel arg# = match arg# {
- User => 0,
- Supervisor => 1,
- Kernel => 2
-}
diff --git a/cheri/sail_latex/sailfnnumofCPtrCmpOp.tex b/cheri/sail_latex/sailfnnumofCPtrCmpOp.tex
deleted file mode 100644
index 4d20546b..00000000
--- a/cheri/sail_latex/sailfnnumofCPtrCmpOp.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-function num_of_CPtrCmpOp arg# = match arg# {
- CEQ => 0,
- CNE => 1,
- CLT => 2,
- CLE => 3,
- CLTU => 4,
- CLEU => 5,
- CEXEQ => 6,
- CNEXEQ => 7
-}
diff --git a/cheri/sail_latex/sailfnnumofCapEx.tex b/cheri/sail_latex/sailfnnumofCapEx.tex
deleted file mode 100644
index d2ee7b0f..00000000
--- a/cheri/sail_latex/sailfnnumofCapEx.tex
+++ /dev/null
@@ -1,25 +0,0 @@
-function num_of_CapEx arg# = match arg# {
- CapEx_None => 0,
- CapEx_LengthViolation => 1,
- CapEx_TagViolation => 2,
- CapEx_SealViolation => 3,
- CapEx_TypeViolation => 4,
- CapEx_CallTrap => 5,
- CapEx_ReturnTrap => 6,
- CapEx_TSSUnderFlow => 7,
- CapEx_UserDefViolation => 8,
- CapEx_TLBNoStoreCap => 9,
- CapEx_InexactBounds => 10,
- CapEx_GlobalViolation => 11,
- CapEx_PermitExecuteViolation => 12,
- CapEx_PermitLoadViolation => 13,
- CapEx_PermitStoreViolation => 14,
- CapEx_PermitLoadCapViolation => 15,
- CapEx_PermitStoreCapViolation => 16,
- CapEx_PermitStoreLocalCapViolation => 17,
- CapEx_PermitSealViolation => 18,
- CapEx_AccessSystemRegsViolation => 19,
- CapEx_PermitCCallViolation => 20,
- CapEx_AccessCCallIDCViolation => 21,
- CapEx_PermitUnsealViolation => 22
-}
diff --git a/cheri/sail_latex/sailfnnumofClearRegSet.tex b/cheri/sail_latex/sailfnnumofClearRegSet.tex
deleted file mode 100644
index 3dd58b89..00000000
--- a/cheri/sail_latex/sailfnnumofClearRegSet.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function num_of_ClearRegSet arg# = match arg# {
- GPLo => 0,
- GPHi => 1,
- CLo => 2,
- CHi => 3
-}
diff --git a/cheri/sail_latex/sailfnnumofComparison.tex b/cheri/sail_latex/sailfnnumofComparison.tex
deleted file mode 100644
index d98bebc2..00000000
--- a/cheri/sail_latex/sailfnnumofComparison.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-function num_of_Comparison arg# = match arg# {
- EQ => 0,
- NE => 1,
- GE => 2,
- GEU => 3,
- GT => 4,
- LE => 5,
- LT => 6,
- LTU => 7
-}
diff --git a/cheri/sail_latex/sailfnnumofException.tex b/cheri/sail_latex/sailfnnumofException.tex
deleted file mode 100644
index 02bad081..00000000
--- a/cheri/sail_latex/sailfnnumofException.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-function num_of_Exception arg# = match arg# {
- Interrupt => 0,
- TLBMod => 1,
- TLBL => 2,
- TLBS => 3,
- AdEL => 4,
- AdES => 5,
- Sys => 6,
- Bp => 7,
- ResI => 8,
- CpU => 9,
- Ov => 10,
- Tr => 11,
- C2E => 12,
- C2Trap => 13,
- XTLBRefillL => 14,
- XTLBRefillS => 15,
- XTLBInvL => 16,
- XTLBInvS => 17,
- MCheck => 18
-}
diff --git a/cheri/sail_latex/sailfnnumofMemAccessType.tex b/cheri/sail_latex/sailfnnumofMemAccessType.tex
deleted file mode 100644
index 47b1af66..00000000
--- a/cheri/sail_latex/sailfnnumofMemAccessType.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-function num_of_MemAccessType arg# = match arg# {
- Instruction => 0,
- LoadData => 1,
- StoreData => 2
-}
diff --git a/cheri/sail_latex/sailfnnumofWordType.tex b/cheri/sail_latex/sailfnnumofWordType.tex
deleted file mode 100644
index 0ed09f63..00000000
--- a/cheri/sail_latex/sailfnnumofWordType.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function num_of_WordType arg# = match arg# {
- B => 0,
- H => 1,
- W => 2,
- D => 3
-}
diff --git a/cheri/sail_latex/sailfnnumofWordTypeUnaligned.tex b/cheri/sail_latex/sailfnnumofWordTypeUnaligned.tex
deleted file mode 100644
index f6b61ce7..00000000
--- a/cheri/sail_latex/sailfnnumofWordTypeUnaligned.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function num_of_WordTypeUnaligned arg# = match arg# {
- WL => 0,
- WR => 1,
- DL => 2,
- DR => 3
-}
diff --git a/cheri/sail_latex/sailfnnumofdecodefailure.tex b/cheri/sail_latex/sailfnnumofdecodefailure.tex
deleted file mode 100644
index 3b5fadb3..00000000
--- a/cheri/sail_latex/sailfnnumofdecodefailure.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function num_of_decode_failure arg# = match arg# {
- no_matching_pattern => 0,
- unsupported_instruction => 1,
- illegal_instruction => 2,
- internal_error => 3
-}
diff --git a/cheri/sail_latex/sailfnones.tex b/cheri/sail_latex/sailfnones.tex
deleted file mode 100644
index e58040d7..00000000
--- a/cheri/sail_latex/sailfnones.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zones]{ones}#() = #\hyperref[zreplicatezybits]{replicate\_bits}# (0b1,'n)
diff --git a/cheri/sail_latex/sailfnpccaccesssystemregs.tex b/cheri/sail_latex/sailfnpccaccesssystemregs.tex
deleted file mode 100644
index 3e54b060..00000000
--- a/cheri/sail_latex/sailfnpccaccesssystemregs.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-function #\hyperref[zpcczyaccesszysystemzyregs]{pcc\_access\_system\_regs}# () =
- let pcc = #\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(PCC) in
- (pcc.access_system_regs)
diff --git a/cheri/sail_latex/sailfnrGPR.tex b/cheri/sail_latex/sailfnrGPR.tex
deleted file mode 100644
index 751d67a3..00000000
--- a/cheri/sail_latex/sailfnrGPR.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function rGPR idx = {
- let i as atom(_) = #\hyperref[zunsigned]{unsigned}#(idx) in
- if i == 0 then 0x0000000000000000 else GPR[i]
-}
diff --git a/cheri/sail_latex/sailfnraisectwoexception.tex b/cheri/sail_latex/sailfnraisectwoexception.tex
deleted file mode 100644
index e3d6bcbb..00000000
--- a/cheri/sail_latex/sailfnraisectwoexception.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(capEx, regnum) =
- let reg8 = 0b000 @ regnum in
- if ((capEx == CapEx_AccessSystemRegsViolation) & (regnum == IDCNO)) then
- #\hyperref[zraisezyctwozyexceptioneight]{raise\_c2\_exception8}#(CapEx_AccessCCallIDCViolation, reg8)
- else
- #\hyperref[zraisezyctwozyexceptioneight]{raise\_c2\_exception8}#(capEx, reg8)
diff --git a/cheri/sail_latex/sailfnraisectwoexceptioneight.tex b/cheri/sail_latex/sailfnraisectwoexceptioneight.tex
deleted file mode 100644
index b6490aa0..00000000
--- a/cheri/sail_latex/sailfnraisectwoexceptioneight.tex
+++ /dev/null
@@ -1,9 +0,0 @@
-function #\hyperref[zraisezyctwozyexceptioneight]{raise\_c2\_exception8}#(capEx, regnum) =
- {
- CapCause->#\hyperref[zExcCode]{ExcCode}#() = #\hyperref[zCapExCode]{CapExCode}#(capEx);
- CapCause->#\hyperref[zRegNum]{RegNum}#() = regnum;
- let mipsEx =
- if ((capEx == CapEx_CallTrap) | (capEx == CapEx_ReturnTrap))
- then C2Trap else C2E in
- #\hyperref[zSignalException]{SignalException}#(mipsEx);
- }
diff --git a/cheri/sail_latex/sailfnraisectwoexceptionnoreg.tex b/cheri/sail_latex/sailfnraisectwoexceptionnoreg.tex
deleted file mode 100644
index db246d80..00000000
--- a/cheri/sail_latex/sailfnraisectwoexceptionnoreg.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function #\hyperref[zraisezyctwozyexceptionzynoreg]{raise\_c2\_exception\_noreg}#(capEx) =
- #\hyperref[zraisezyctwozyexceptioneight]{raise\_c2\_exception8}#(capEx, 0xff)
diff --git a/cheri/sail_latex/sailfnreadCapReg.tex b/cheri/sail_latex/sailfnreadCapReg.tex
deleted file mode 100644
index 357027c3..00000000
--- a/cheri/sail_latex/sailfnreadCapReg.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function #\hyperref[zreadCapReg]{readCapReg}#(n) =
- if (n == 0b00000) then
- null_cap
- else
- let i = #\hyperref[zunsigned]{unsigned}#(n) in
- #\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(#\hyperref[zregzyderef]{reg\_deref}#(CapRegs[i]))
diff --git a/cheri/sail_latex/sailfnreadCapRegDDC.tex b/cheri/sail_latex/sailfnreadCapRegDDC.tex
deleted file mode 100644
index f2fea30c..00000000
--- a/cheri/sail_latex/sailfnreadCapRegDDC.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-function #\hyperref[zreadCapRegDDC]{readCapRegDDC}#(n) =
- let i = #\hyperref[zunsigned]{unsigned}#(n) in
- #\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(#\hyperref[zregzyderef]{reg\_deref}#(CapRegs[i])) /* NB CapRegs[0] is points to DDC */
diff --git a/cheri/sail_latex/sailfnregisterinaccessible.tex b/cheri/sail_latex/sailfnregisterinaccessible.tex
deleted file mode 100644
index 368d01a4..00000000
--- a/cheri/sail_latex/sailfnregisterinaccessible.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-function #\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(r) =
- ((r == IDCNO) & inCCallDelay) |
- ((r == KR1CNO |
- r == KR2CNO |
- r == KDCNO |
- r == KCCNO |
- r == EPCCNO) & #\hyperref[znot]{not}# (#\hyperref[zpcczyaccesszysystemzyregs]{pcc\_access\_system\_regs}# ()))
diff --git a/cheri/sail_latex/sailfnsailmask.tex b/cheri/sail_latex/sailfnsailmask.tex
deleted file mode 100644
index 37ede658..00000000
--- a/cheri/sail_latex/sailfnsailmask.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zsailzymask]{sail\_mask}#(len, v) = if len <= #\hyperref[zlength]{length}#(v) then #\hyperref[ztruncate]{truncate}#(v, len) else #\hyperref[zsailzyzzerozyextend]{sail\_zero\_extend}#(v, len)
diff --git a/cheri/sail_latex/sailfnsealCap.tex b/cheri/sail_latex/sailfnsealCap.tex
deleted file mode 100644
index beb1435b..00000000
--- a/cheri/sail_latex/sailfnsealCap.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function #\hyperref[zsealCap]{sealCap}#(cap, otype) : (CapStruct, #\hyperref[zbits]{bits}#(24)) -> (bool, CapStruct) =
- (true, {cap with sealed=true, otype=otype})
diff --git a/cheri/sail_latex/sailfnsetCapBounds.tex b/cheri/sail_latex/sailfnsetCapBounds.tex
deleted file mode 100644
index cb689dd8..00000000
--- a/cheri/sail_latex/sailfnsetCapBounds.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-function #\hyperref[zsetCapBounds]{setCapBounds}#(cap, base, top) =
- let length : #\hyperref[zbits]{bits}#(65) = top - (0b0 @ base) in
- (true, {cap with base = base, length = length[63..0], address = base})
diff --git a/cheri/sail_latex/sailfnsetCapCauseRegExcCode.tex b/cheri/sail_latex/sailfnsetCapCauseRegExcCode.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetCapCauseRegExcCode.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetCapCauseRegRegNum.tex b/cheri/sail_latex/sailfnsetCapCauseRegRegNum.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetCapCauseRegRegNum.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetCapCauseRegbits.tex b/cheri/sail_latex/sailfnsetCapCauseRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetCapCauseRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetCapOffset.tex b/cheri/sail_latex/sailfnsetCapOffset.tex
deleted file mode 100644
index 404630e3..00000000
--- a/cheri/sail_latex/sailfnsetCapOffset.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function #\hyperref[zsetCapOffset]{setCapOffset}#(c, offset) =
- (true, {c with address=c.base + offset})
diff --git a/cheri/sail_latex/sailfnsetCapPerms.tex b/cheri/sail_latex/sailfnsetCapPerms.tex
deleted file mode 100644
index 1a1f67bd..00000000
--- a/cheri/sail_latex/sailfnsetCapPerms.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-function #\hyperref[zsetCapPerms]{setCapPerms}#(cap, perms) : (CapStruct, #\hyperref[zbits]{bits}#(31)) -> CapStruct =
- { cap with
- uperms = perms[30..15],
- /* perm_reserved11_14 = perms[14..11], XXX should allow to set? only affects cbuildcap. */
- access_system_regs = perms[10],
- permit_unseal = perms[9],
- permit_ccall = perms[8],
- permit_seal = perms[7],
- permit_store_local_cap = perms[6],
- permit_store_cap = perms[5],
- permit_load_cap = perms[4],
- permit_store = perms[3],
- permit_load = perms[2],
- permit_execute = perms[1],
- global = perms[0]
- }
diff --git a/cheri/sail_latex/sailfnsetCauseRegBD.tex b/cheri/sail_latex/sailfnsetCauseRegBD.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetCauseRegBD.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetCauseRegCE.tex b/cheri/sail_latex/sailfnsetCauseRegCE.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetCauseRegCE.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetCauseRegExcCode.tex b/cheri/sail_latex/sailfnsetCauseRegExcCode.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetCauseRegExcCode.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetCauseRegIP.tex b/cheri/sail_latex/sailfnsetCauseRegIP.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetCauseRegIP.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetCauseRegIV.tex b/cheri/sail_latex/sailfnsetCauseRegIV.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetCauseRegIV.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetCauseRegWP.tex b/cheri/sail_latex/sailfnsetCauseRegWP.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetCauseRegWP.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetCauseRegbits.tex b/cheri/sail_latex/sailfnsetCauseRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetCauseRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetContextRegBadVPNtwo.tex b/cheri/sail_latex/sailfnsetContextRegBadVPNtwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetContextRegBadVPNtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetContextRegPTEBase.tex b/cheri/sail_latex/sailfnsetContextRegPTEBase.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetContextRegPTEBase.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetContextRegbits.tex b/cheri/sail_latex/sailfnsetContextRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetContextRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetStatusRegBEV.tex b/cheri/sail_latex/sailfnsetStatusRegBEV.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetStatusRegBEV.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetStatusRegCU.tex b/cheri/sail_latex/sailfnsetStatusRegCU.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetStatusRegCU.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetStatusRegERL.tex b/cheri/sail_latex/sailfnsetStatusRegERL.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetStatusRegERL.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetStatusRegEXL.tex b/cheri/sail_latex/sailfnsetStatusRegEXL.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetStatusRegEXL.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetStatusRegIE.tex b/cheri/sail_latex/sailfnsetStatusRegIE.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetStatusRegIE.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetStatusRegIM.tex b/cheri/sail_latex/sailfnsetStatusRegIM.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetStatusRegIM.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetStatusRegKSU.tex b/cheri/sail_latex/sailfnsetStatusRegKSU.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetStatusRegKSU.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetStatusRegKX.tex b/cheri/sail_latex/sailfnsetStatusRegKX.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetStatusRegKX.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetStatusRegSX.tex b/cheri/sail_latex/sailfnsetStatusRegSX.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetStatusRegSX.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetStatusRegUX.tex b/cheri/sail_latex/sailfnsetStatusRegUX.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetStatusRegUX.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetStatusRegbits.tex b/cheri/sail_latex/sailfnsetStatusRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetStatusRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntryHiRegASID.tex b/cheri/sail_latex/sailfnsetTLBEntryHiRegASID.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntryHiRegASID.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntryHiRegR.tex b/cheri/sail_latex/sailfnsetTLBEntryHiRegR.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntryHiRegR.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntryHiRegVPNtwo.tex b/cheri/sail_latex/sailfnsetTLBEntryHiRegVPNtwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntryHiRegVPNtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntryHiRegbits.tex b/cheri/sail_latex/sailfnsetTLBEntryHiRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntryHiRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntryLoRegC.tex b/cheri/sail_latex/sailfnsetTLBEntryLoRegC.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntryLoRegC.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntryLoRegCapL.tex b/cheri/sail_latex/sailfnsetTLBEntryLoRegCapL.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntryLoRegCapL.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntryLoRegCapS.tex b/cheri/sail_latex/sailfnsetTLBEntryLoRegCapS.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntryLoRegCapS.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntryLoRegD.tex b/cheri/sail_latex/sailfnsetTLBEntryLoRegD.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntryLoRegD.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntryLoRegG.tex b/cheri/sail_latex/sailfnsetTLBEntryLoRegG.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntryLoRegG.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntryLoRegPFN.tex b/cheri/sail_latex/sailfnsetTLBEntryLoRegPFN.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntryLoRegPFN.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntryLoRegV.tex b/cheri/sail_latex/sailfnsetTLBEntryLoRegV.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntryLoRegV.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntryLoRegbits.tex b/cheri/sail_latex/sailfnsetTLBEntryLoRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntryLoRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntryasid.tex b/cheri/sail_latex/sailfnsetTLBEntryasid.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntryasid.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntrybits.tex b/cheri/sail_latex/sailfnsetTLBEntrybits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntrybits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntrycaplone.tex b/cheri/sail_latex/sailfnsetTLBEntrycaplone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntrycaplone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntrycaplzero.tex b/cheri/sail_latex/sailfnsetTLBEntrycaplzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntrycaplzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntrycapsone.tex b/cheri/sail_latex/sailfnsetTLBEntrycapsone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntrycapsone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntrycapszero.tex b/cheri/sail_latex/sailfnsetTLBEntrycapszero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntrycapszero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntrycone.tex b/cheri/sail_latex/sailfnsetTLBEntrycone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntrycone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntryczero.tex b/cheri/sail_latex/sailfnsetTLBEntryczero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntryczero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntrydone.tex b/cheri/sail_latex/sailfnsetTLBEntrydone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntrydone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntrydzero.tex b/cheri/sail_latex/sailfnsetTLBEntrydzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntrydzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntryg.tex b/cheri/sail_latex/sailfnsetTLBEntryg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntryg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntrypagemask.tex b/cheri/sail_latex/sailfnsetTLBEntrypagemask.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntrypagemask.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntrypfnone.tex b/cheri/sail_latex/sailfnsetTLBEntrypfnone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntrypfnone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntrypfnzero.tex b/cheri/sail_latex/sailfnsetTLBEntrypfnzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntrypfnzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntryr.tex b/cheri/sail_latex/sailfnsetTLBEntryr.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntryr.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntryvalid.tex b/cheri/sail_latex/sailfnsetTLBEntryvalid.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntryvalid.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntryvone.tex b/cheri/sail_latex/sailfnsetTLBEntryvone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntryvone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntryvpntwo.tex b/cheri/sail_latex/sailfnsetTLBEntryvpntwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntryvpntwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetTLBEntryvzero.tex b/cheri/sail_latex/sailfnsetTLBEntryvzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetTLBEntryvzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetXContextRegXBadVPNtwo.tex b/cheri/sail_latex/sailfnsetXContextRegXBadVPNtwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetXContextRegXBadVPNtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetXContextRegXPTEBase.tex b/cheri/sail_latex/sailfnsetXContextRegXPTEBase.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetXContextRegXPTEBase.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetXContextRegXR.tex b/cheri/sail_latex/sailfnsetXContextRegXR.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetXContextRegXR.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsetXContextRegbits.tex b/cheri/sail_latex/sailfnsetXContextRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnsetXContextRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnsupportedinstructions.tex b/cheri/sail_latex/sailfnsupportedinstructions.tex
deleted file mode 100644
index b3ffdfa4..00000000
--- a/cheri/sail_latex/sailfnsupportedinstructions.tex
+++ /dev/null
@@ -1 +0,0 @@
-function supported_instructions instr = #\hyperref[zSome]{Some}#(instr)
diff --git a/cheri/sail_latex/sailfntlbEntryMatch.tex b/cheri/sail_latex/sailfntlbEntryMatch.tex
deleted file mode 100644
index f952062f..00000000
--- a/cheri/sail_latex/sailfntlbEntryMatch.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-function #\hyperref[ztlbEntryMatch]{tlbEntryMatch}#(r, vpn2, asid, entry) =
- let entryValid = entry.#\hyperref[zvalid]{valid}#() in
- let entryR = entry.#\hyperref[zr]{r}#() in
- let entryMask = entry.#\hyperref[zpagemask]{pagemask}#() in
- let entryVPN = entry.#\hyperref[zvpntwo]{vpn2}#() in
- let entryASID = entry.#\hyperref[zasid]{asid}#() in
- let entryG = entry.#\hyperref[zg]{g}#() in
- let vpnMask : #\hyperref[zbits]{bits}#(27) = ~(#\hyperref[zzzerozyextend]{zero\_extend}#(entryMask)) in
- (entryValid &
- (r == entryR) &
- ((vpn2 & vpnMask) == ((entryVPN) & vpnMask)) &
- ((asid == (entryASID)) | (entryG)))
diff --git a/cheri/sail_latex/sailfntlbSearch.tex b/cheri/sail_latex/sailfntlbSearch.tex
deleted file mode 100644
index 8bce6f3b..00000000
--- a/cheri/sail_latex/sailfntlbSearch.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-function #\hyperref[ztlbSearch]{tlbSearch}#(VAddr) =
- let r = (VAddr[63..62]) in
- let vpn2 = (VAddr[39..13]) in
- let asid = TLBEntryHi.#\hyperref[zASID]{ASID}#() in {
- foreach (idx from 0 to 63) {
- if(#\hyperref[ztlbEntryMatch]{tlbEntryMatch}#(r, vpn2, asid, #\hyperref[zregzyderef]{reg\_deref}#(TLBEntries[idx]))) then
- return #\hyperref[zSome]{Some}#(#\hyperref[ztozybits]{to\_bits}#(6, idx))
- };
- #\hyperref[zNone]{None}#()
- }
diff --git a/cheri/sail_latex/sailfntobits.tex b/cheri/sail_latex/sailfntobits.tex
deleted file mode 100644
index d1df5e83..00000000
--- a/cheri/sail_latex/sailfntobits.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[ztozybits]{to\_bits}# (l, n) = #\hyperref[zgetzyslicezyint]{get\_slice\_int}#(l, n, 0)
diff --git a/cheri/sail_latex/sailfnupdateCapCauseRegExcCode.tex b/cheri/sail_latex/sailfnupdateCapCauseRegExcCode.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateCapCauseRegExcCode.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateCapCauseRegRegNum.tex b/cheri/sail_latex/sailfnupdateCapCauseRegRegNum.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateCapCauseRegRegNum.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateCapCauseRegbits.tex b/cheri/sail_latex/sailfnupdateCapCauseRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateCapCauseRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateCauseRegBD.tex b/cheri/sail_latex/sailfnupdateCauseRegBD.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateCauseRegBD.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateCauseRegCE.tex b/cheri/sail_latex/sailfnupdateCauseRegCE.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateCauseRegCE.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateCauseRegExcCode.tex b/cheri/sail_latex/sailfnupdateCauseRegExcCode.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateCauseRegExcCode.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateCauseRegIP.tex b/cheri/sail_latex/sailfnupdateCauseRegIP.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateCauseRegIP.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateCauseRegIV.tex b/cheri/sail_latex/sailfnupdateCauseRegIV.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateCauseRegIV.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateCauseRegWP.tex b/cheri/sail_latex/sailfnupdateCauseRegWP.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateCauseRegWP.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateCauseRegbits.tex b/cheri/sail_latex/sailfnupdateCauseRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateCauseRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateContextRegBadVPNtwo.tex b/cheri/sail_latex/sailfnupdateContextRegBadVPNtwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateContextRegBadVPNtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateContextRegPTEBase.tex b/cheri/sail_latex/sailfnupdateContextRegPTEBase.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateContextRegPTEBase.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateContextRegbits.tex b/cheri/sail_latex/sailfnupdateContextRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateContextRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateStatusRegBEV.tex b/cheri/sail_latex/sailfnupdateStatusRegBEV.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateStatusRegBEV.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateStatusRegCU.tex b/cheri/sail_latex/sailfnupdateStatusRegCU.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateStatusRegCU.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateStatusRegERL.tex b/cheri/sail_latex/sailfnupdateStatusRegERL.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateStatusRegERL.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateStatusRegEXL.tex b/cheri/sail_latex/sailfnupdateStatusRegEXL.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateStatusRegEXL.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateStatusRegIE.tex b/cheri/sail_latex/sailfnupdateStatusRegIE.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateStatusRegIE.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateStatusRegIM.tex b/cheri/sail_latex/sailfnupdateStatusRegIM.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateStatusRegIM.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateStatusRegKSU.tex b/cheri/sail_latex/sailfnupdateStatusRegKSU.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateStatusRegKSU.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateStatusRegKX.tex b/cheri/sail_latex/sailfnupdateStatusRegKX.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateStatusRegKX.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateStatusRegSX.tex b/cheri/sail_latex/sailfnupdateStatusRegSX.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateStatusRegSX.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateStatusRegUX.tex b/cheri/sail_latex/sailfnupdateStatusRegUX.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateStatusRegUX.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateStatusRegbits.tex b/cheri/sail_latex/sailfnupdateStatusRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateStatusRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntryHiRegASID.tex b/cheri/sail_latex/sailfnupdateTLBEntryHiRegASID.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntryHiRegASID.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntryHiRegR.tex b/cheri/sail_latex/sailfnupdateTLBEntryHiRegR.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntryHiRegR.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntryHiRegVPNtwo.tex b/cheri/sail_latex/sailfnupdateTLBEntryHiRegVPNtwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntryHiRegVPNtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntryHiRegbits.tex b/cheri/sail_latex/sailfnupdateTLBEntryHiRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntryHiRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntryLoRegC.tex b/cheri/sail_latex/sailfnupdateTLBEntryLoRegC.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntryLoRegC.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntryLoRegCapL.tex b/cheri/sail_latex/sailfnupdateTLBEntryLoRegCapL.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntryLoRegCapL.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntryLoRegCapS.tex b/cheri/sail_latex/sailfnupdateTLBEntryLoRegCapS.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntryLoRegCapS.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntryLoRegD.tex b/cheri/sail_latex/sailfnupdateTLBEntryLoRegD.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntryLoRegD.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntryLoRegG.tex b/cheri/sail_latex/sailfnupdateTLBEntryLoRegG.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntryLoRegG.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntryLoRegPFN.tex b/cheri/sail_latex/sailfnupdateTLBEntryLoRegPFN.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntryLoRegPFN.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntryLoRegV.tex b/cheri/sail_latex/sailfnupdateTLBEntryLoRegV.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntryLoRegV.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntryLoRegbits.tex b/cheri/sail_latex/sailfnupdateTLBEntryLoRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntryLoRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntryasid.tex b/cheri/sail_latex/sailfnupdateTLBEntryasid.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntryasid.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntrybits.tex b/cheri/sail_latex/sailfnupdateTLBEntrybits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntrybits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntrycaplone.tex b/cheri/sail_latex/sailfnupdateTLBEntrycaplone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntrycaplone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntrycaplzero.tex b/cheri/sail_latex/sailfnupdateTLBEntrycaplzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntrycaplzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntrycapsone.tex b/cheri/sail_latex/sailfnupdateTLBEntrycapsone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntrycapsone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntrycapszero.tex b/cheri/sail_latex/sailfnupdateTLBEntrycapszero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntrycapszero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntrycone.tex b/cheri/sail_latex/sailfnupdateTLBEntrycone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntrycone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntryczero.tex b/cheri/sail_latex/sailfnupdateTLBEntryczero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntryczero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntrydone.tex b/cheri/sail_latex/sailfnupdateTLBEntrydone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntrydone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntrydzero.tex b/cheri/sail_latex/sailfnupdateTLBEntrydzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntrydzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntryg.tex b/cheri/sail_latex/sailfnupdateTLBEntryg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntryg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntrypagemask.tex b/cheri/sail_latex/sailfnupdateTLBEntrypagemask.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntrypagemask.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntrypfnone.tex b/cheri/sail_latex/sailfnupdateTLBEntrypfnone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntrypfnone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntrypfnzero.tex b/cheri/sail_latex/sailfnupdateTLBEntrypfnzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntrypfnzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntryr.tex b/cheri/sail_latex/sailfnupdateTLBEntryr.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntryr.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntryvalid.tex b/cheri/sail_latex/sailfnupdateTLBEntryvalid.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntryvalid.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntryvone.tex b/cheri/sail_latex/sailfnupdateTLBEntryvone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntryvone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntryvpntwo.tex b/cheri/sail_latex/sailfnupdateTLBEntryvpntwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntryvpntwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateTLBEntryvzero.tex b/cheri/sail_latex/sailfnupdateTLBEntryvzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateTLBEntryvzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateXContextRegXBadVPNtwo.tex b/cheri/sail_latex/sailfnupdateXContextRegXBadVPNtwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateXContextRegXBadVPNtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateXContextRegXPTEBase.tex b/cheri/sail_latex/sailfnupdateXContextRegXPTEBase.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateXContextRegXPTEBase.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateXContextRegXR.tex b/cheri/sail_latex/sailfnupdateXContextRegXR.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateXContextRegXR.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnupdateXContextRegbits.tex b/cheri/sail_latex/sailfnupdateXContextRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailfnupdateXContextRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailfnwGPR.tex b/cheri/sail_latex/sailfnwGPR.tex
deleted file mode 100644
index 338d4b5c..00000000
--- a/cheri/sail_latex/sailfnwGPR.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-function #\hyperref[zwGPR]{wGPR}# (idx, v) = {
- let i as atom(_) = #\hyperref[zunsigned]{unsigned}#(idx) in
- if i != 0 then {
- /*#\hyperref[zprerrzystring]{prerr\_string}#(#\hyperref[zstringzyofzyint]{string\_of\_int}#(i));
- #\hyperref[zprerrzybits]{prerr\_bits}#(" <- ", v);*/
- GPR[i] = v;
- };
-}
diff --git a/cheri/sail_latex/sailfnwordWidthBytes.tex b/cheri/sail_latex/sailfnwordWidthBytes.tex
deleted file mode 100644
index a5760d98..00000000
--- a/cheri/sail_latex/sailfnwordWidthBytes.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-function #\hyperref[zwordWidthBytes]{wordWidthBytes}#(w) =
- match w {
- B => 1,
- H => 2,
- W => 4,
- D => 8
- }
diff --git a/cheri/sail_latex/sailfnwriteCapReg.tex b/cheri/sail_latex/sailfnwriteCapReg.tex
deleted file mode 100644
index d8de79fd..00000000
--- a/cheri/sail_latex/sailfnwriteCapReg.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function #\hyperref[zwriteCapReg]{writeCapReg}#(n, cap) : (regno, CapStruct) -> unit =
- if (n == 0b00000) then
- ()
- else
- let i = #\hyperref[zunsigned]{unsigned}#(n) in
- (*CapRegs[i]) = #\hyperref[zcapStructToCapReg]{capStructToCapReg}#(cap)
diff --git a/cheri/sail_latex/sailfnzeightoperatorzzerozIsznine.tex b/cheri/sail_latex/sailfnzeightoperatorzzerozIsznine.tex
deleted file mode 100644
index 62e5a2e4..00000000
--- a/cheri/sail_latex/sailfnzeightoperatorzzerozIsznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-function operator <#\hyperref[zzys]{\_s}# (x, y) = #\hyperref[zsigned]{signed}#(x) < #\hyperref[zsigned]{signed}#(y)
diff --git a/cheri/sail_latex/sailfnzeightoperatorzzerozIuznine.tex b/cheri/sail_latex/sailfnzeightoperatorzzerozIuznine.tex
deleted file mode 100644
index 3f946820..00000000
--- a/cheri/sail_latex/sailfnzeightoperatorzzerozIuznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-function operator <#\hyperref[zzyu]{\_u}# (x, y) = #\hyperref[zunsigned]{unsigned}#(x) < #\hyperref[zunsigned]{unsigned}#(y)
diff --git a/cheri/sail_latex/sailfnzeightoperatorzzerozKzJsznine.tex b/cheri/sail_latex/sailfnzeightoperatorzzerozKzJsznine.tex
deleted file mode 100644
index 57ecf181..00000000
--- a/cheri/sail_latex/sailfnzeightoperatorzzerozKzJsznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-function operator >=#\hyperref[zzys]{\_s}# (x, y) = #\hyperref[zsigned]{signed}#(x) >= #\hyperref[zsigned]{signed}#(y)
diff --git a/cheri/sail_latex/sailfnzeightoperatorzzerozKzJuznine.tex b/cheri/sail_latex/sailfnzeightoperatorzzerozKzJuznine.tex
deleted file mode 100644
index 6df36c6f..00000000
--- a/cheri/sail_latex/sailfnzeightoperatorzzerozKzJuznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-function operator >=#\hyperref[zzyu]{\_u}# (x, y) = #\hyperref[zunsigned]{unsigned}#(x) >= #\hyperref[zunsigned]{unsigned}#(y)
diff --git a/cheri/sail_latex/sailfnzeightoperatorzzerozQzQznine.tex b/cheri/sail_latex/sailfnzeightoperatorzzerozQzQznine.tex
deleted file mode 100644
index 2c372e1b..00000000
--- a/cheri/sail_latex/sailfnzeightoperatorzzerozQzQznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-function operator ^^ (bs, n) = #\hyperref[zreplicatezybits]{replicate\_bits}# (bs, n)
diff --git a/cheri/sail_latex/sailfnzzeros.tex b/cheri/sail_latex/sailfnzzeros.tex
deleted file mode 100644
index 38d463fb..00000000
--- a/cheri/sail_latex/sailfnzzeros.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zzzeros]{zeros}#() = #\hyperref[zreplicatezybits]{replicate\_bits}# (0b0,'n)
diff --git a/cheri/sail_latex/sailgetAccessLevel.tex b/cheri/sail_latex/sailgetAccessLevel.tex
deleted file mode 100644
index 4412096c..00000000
--- a/cheri/sail_latex/sailgetAccessLevel.tex
+++ /dev/null
@@ -1 +0,0 @@
-val getAccessLevel : unit -> AccessLevel effect {rreg}
diff --git a/cheri/sail_latex/sailgetCapBase.tex b/cheri/sail_latex/sailgetCapBase.tex
deleted file mode 100644
index c7044d1d..00000000
--- a/cheri/sail_latex/sailgetCapBase.tex
+++ /dev/null
@@ -1 +0,0 @@
-val getCapBase : CapStruct -> uint64
diff --git a/cheri/sail_latex/sailgetCapCauseRegExcCode.tex b/cheri/sail_latex/sailgetCapCauseRegExcCode.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetCapCauseRegExcCode.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetCapCauseRegRegNum.tex b/cheri/sail_latex/sailgetCapCauseRegRegNum.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetCapCauseRegRegNum.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetCapCauseRegbits.tex b/cheri/sail_latex/sailgetCapCauseRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetCapCauseRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetCapCursor.tex b/cheri/sail_latex/sailgetCapCursor.tex
deleted file mode 100644
index fd5d72d8..00000000
--- a/cheri/sail_latex/sailgetCapCursor.tex
+++ /dev/null
@@ -1 +0,0 @@
-val getCapCursor : CapStruct -> uint64
diff --git a/cheri/sail_latex/sailgetCapLength.tex b/cheri/sail_latex/sailgetCapLength.tex
deleted file mode 100644
index aaa822c8..00000000
--- a/cheri/sail_latex/sailgetCapLength.tex
+++ /dev/null
@@ -1 +0,0 @@
-val getCapLength : CapStruct -> CapLen
diff --git a/cheri/sail_latex/sailgetCapOffset.tex b/cheri/sail_latex/sailgetCapOffset.tex
deleted file mode 100644
index 668c3df1..00000000
--- a/cheri/sail_latex/sailgetCapOffset.tex
+++ /dev/null
@@ -1 +0,0 @@
-val getCapOffset : CapStruct -> uint64
diff --git a/cheri/sail_latex/sailgetCapPerms.tex b/cheri/sail_latex/sailgetCapPerms.tex
deleted file mode 100644
index b2dabf89..00000000
--- a/cheri/sail_latex/sailgetCapPerms.tex
+++ /dev/null
@@ -1 +0,0 @@
-val getCapPerms : CapStruct -> bits(31)
diff --git a/cheri/sail_latex/sailgetCapTop.tex b/cheri/sail_latex/sailgetCapTop.tex
deleted file mode 100644
index ff0e5f95..00000000
--- a/cheri/sail_latex/sailgetCapTop.tex
+++ /dev/null
@@ -1 +0,0 @@
-val getCapTop : CapStruct -> CapLen
diff --git a/cheri/sail_latex/sailgetCauseRegBD.tex b/cheri/sail_latex/sailgetCauseRegBD.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetCauseRegBD.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetCauseRegCE.tex b/cheri/sail_latex/sailgetCauseRegCE.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetCauseRegCE.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetCauseRegExcCode.tex b/cheri/sail_latex/sailgetCauseRegExcCode.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetCauseRegExcCode.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetCauseRegIP.tex b/cheri/sail_latex/sailgetCauseRegIP.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetCauseRegIP.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetCauseRegIV.tex b/cheri/sail_latex/sailgetCauseRegIV.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetCauseRegIV.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetCauseRegWP.tex b/cheri/sail_latex/sailgetCauseRegWP.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetCauseRegWP.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetCauseRegbits.tex b/cheri/sail_latex/sailgetCauseRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetCauseRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetContextRegBadVPNtwo.tex b/cheri/sail_latex/sailgetContextRegBadVPNtwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetContextRegBadVPNtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetContextRegPTEBase.tex b/cheri/sail_latex/sailgetContextRegPTEBase.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetContextRegPTEBase.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetContextRegbits.tex b/cheri/sail_latex/sailgetContextRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetContextRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetStatusRegBEV.tex b/cheri/sail_latex/sailgetStatusRegBEV.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetStatusRegBEV.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetStatusRegCU.tex b/cheri/sail_latex/sailgetStatusRegCU.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetStatusRegCU.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetStatusRegERL.tex b/cheri/sail_latex/sailgetStatusRegERL.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetStatusRegERL.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetStatusRegEXL.tex b/cheri/sail_latex/sailgetStatusRegEXL.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetStatusRegEXL.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetStatusRegIE.tex b/cheri/sail_latex/sailgetStatusRegIE.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetStatusRegIE.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetStatusRegIM.tex b/cheri/sail_latex/sailgetStatusRegIM.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetStatusRegIM.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetStatusRegKSU.tex b/cheri/sail_latex/sailgetStatusRegKSU.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetStatusRegKSU.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetStatusRegKX.tex b/cheri/sail_latex/sailgetStatusRegKX.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetStatusRegKX.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetStatusRegSX.tex b/cheri/sail_latex/sailgetStatusRegSX.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetStatusRegSX.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetStatusRegUX.tex b/cheri/sail_latex/sailgetStatusRegUX.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetStatusRegUX.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetStatusRegbits.tex b/cheri/sail_latex/sailgetStatusRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetStatusRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntryHiRegASID.tex b/cheri/sail_latex/sailgetTLBEntryHiRegASID.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntryHiRegASID.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntryHiRegR.tex b/cheri/sail_latex/sailgetTLBEntryHiRegR.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntryHiRegR.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntryHiRegVPNtwo.tex b/cheri/sail_latex/sailgetTLBEntryHiRegVPNtwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntryHiRegVPNtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntryHiRegbits.tex b/cheri/sail_latex/sailgetTLBEntryHiRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntryHiRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntryLoRegC.tex b/cheri/sail_latex/sailgetTLBEntryLoRegC.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntryLoRegC.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntryLoRegCapL.tex b/cheri/sail_latex/sailgetTLBEntryLoRegCapL.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntryLoRegCapL.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntryLoRegCapS.tex b/cheri/sail_latex/sailgetTLBEntryLoRegCapS.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntryLoRegCapS.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntryLoRegD.tex b/cheri/sail_latex/sailgetTLBEntryLoRegD.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntryLoRegD.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntryLoRegG.tex b/cheri/sail_latex/sailgetTLBEntryLoRegG.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntryLoRegG.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntryLoRegPFN.tex b/cheri/sail_latex/sailgetTLBEntryLoRegPFN.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntryLoRegPFN.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntryLoRegV.tex b/cheri/sail_latex/sailgetTLBEntryLoRegV.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntryLoRegV.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntryLoRegbits.tex b/cheri/sail_latex/sailgetTLBEntryLoRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntryLoRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntryasid.tex b/cheri/sail_latex/sailgetTLBEntryasid.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntryasid.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntrybits.tex b/cheri/sail_latex/sailgetTLBEntrybits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntrybits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntrycaplone.tex b/cheri/sail_latex/sailgetTLBEntrycaplone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntrycaplone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntrycaplzero.tex b/cheri/sail_latex/sailgetTLBEntrycaplzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntrycaplzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntrycapsone.tex b/cheri/sail_latex/sailgetTLBEntrycapsone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntrycapsone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntrycapszero.tex b/cheri/sail_latex/sailgetTLBEntrycapszero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntrycapszero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntrycone.tex b/cheri/sail_latex/sailgetTLBEntrycone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntrycone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntryczero.tex b/cheri/sail_latex/sailgetTLBEntryczero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntryczero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntrydone.tex b/cheri/sail_latex/sailgetTLBEntrydone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntrydone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntrydzero.tex b/cheri/sail_latex/sailgetTLBEntrydzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntrydzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntryg.tex b/cheri/sail_latex/sailgetTLBEntryg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntryg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntrypagemask.tex b/cheri/sail_latex/sailgetTLBEntrypagemask.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntrypagemask.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntrypfnone.tex b/cheri/sail_latex/sailgetTLBEntrypfnone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntrypfnone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntrypfnzero.tex b/cheri/sail_latex/sailgetTLBEntrypfnzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntrypfnzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntryr.tex b/cheri/sail_latex/sailgetTLBEntryr.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntryr.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntryvalid.tex b/cheri/sail_latex/sailgetTLBEntryvalid.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntryvalid.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntryvone.tex b/cheri/sail_latex/sailgetTLBEntryvone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntryvone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntryvpntwo.tex b/cheri/sail_latex/sailgetTLBEntryvpntwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntryvpntwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetTLBEntryvzero.tex b/cheri/sail_latex/sailgetTLBEntryvzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetTLBEntryvzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetXContextRegXBadVPNtwo.tex b/cheri/sail_latex/sailgetXContextRegXBadVPNtwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetXContextRegXBadVPNtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetXContextRegXPTEBase.tex b/cheri/sail_latex/sailgetXContextRegXPTEBase.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetXContextRegXPTEBase.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetXContextRegXR.tex b/cheri/sail_latex/sailgetXContextRegXR.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetXContextRegXR.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetXContextRegbits.tex b/cheri/sail_latex/sailgetXContextRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailgetXContextRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailgetsliceint.tex b/cheri/sail_latex/sailgetsliceint.tex
deleted file mode 100644
index 2b30d096..00000000
--- a/cheri/sail_latex/sailgetsliceint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val get_slice_int = "get_slice_int" : forall 'w. (atom('w), int, int) -> #\hyperref[zbits]{bits}#('w)
diff --git a/cheri/sail_latex/sailgettimens.tex b/cheri/sail_latex/sailgettimens.tex
deleted file mode 100644
index 74cfd526..00000000
--- a/cheri/sail_latex/sailgettimens.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "get_time_ns" : unit -> int
diff --git a/cheri/sail_latex/sailgrantsAccess.tex b/cheri/sail_latex/sailgrantsAccess.tex
deleted file mode 100644
index ab28ac58..00000000
--- a/cheri/sail_latex/sailgrantsAccess.tex
+++ /dev/null
@@ -1 +0,0 @@
-val grantsAccess : (AccessLevel, AccessLevel) -> bool
diff --git a/cheri/sail_latex/sailgtatom.tex b/cheri/sail_latex/sailgtatom.tex
deleted file mode 100644
index b2147a8f..00000000
--- a/cheri/sail_latex/sailgtatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val gt_atom = {coq: "Z.gtb", _: "gt"} : forall 'n 'm. (atom('n), atom('m)) -> bool
diff --git a/cheri/sail_latex/sailgtatomrange.tex b/cheri/sail_latex/sailgtatomrange.tex
deleted file mode 100644
index 3c520181..00000000
--- a/cheri/sail_latex/sailgtatomrange.tex
+++ /dev/null
@@ -1 +0,0 @@
-val gt_atom_range = {coq: "gtb_range_r", _: "gt"} : forall 'n 'm 'o. (atom('n), range('m, 'o)) -> bool
diff --git a/cheri/sail_latex/sailgteqatom.tex b/cheri/sail_latex/sailgteqatom.tex
deleted file mode 100644
index fb3b66b2..00000000
--- a/cheri/sail_latex/sailgteqatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val gteq_atom = {coq: "Z.geb", _: "gteq"} : forall 'n 'm. (atom('n), atom('m)) -> bool
diff --git a/cheri/sail_latex/sailgteqatomrange.tex b/cheri/sail_latex/sailgteqatomrange.tex
deleted file mode 100644
index 7aaf633f..00000000
--- a/cheri/sail_latex/sailgteqatomrange.tex
+++ /dev/null
@@ -1 +0,0 @@
-val gteq_atom_range = {coq: "geb_range_r", _: "gteq"} : forall 'n 'm 'o. (atom('n), range('m, 'o)) -> bool
diff --git a/cheri/sail_latex/sailgteqint.tex b/cheri/sail_latex/sailgteqint.tex
deleted file mode 100644
index 77271d1f..00000000
--- a/cheri/sail_latex/sailgteqint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val gteq_int = {coq: "Z.geb", _:"gteq"} : (int, int) -> bool
diff --git a/cheri/sail_latex/sailgteqrangeatom.tex b/cheri/sail_latex/sailgteqrangeatom.tex
deleted file mode 100644
index fda25265..00000000
--- a/cheri/sail_latex/sailgteqrangeatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val gteq_range_atom = {coq: "geb_range_l", _: "gteq"} : forall 'n 'm 'o. (range('n, 'm), atom('o)) -> bool
diff --git a/cheri/sail_latex/sailgtint.tex b/cheri/sail_latex/sailgtint.tex
deleted file mode 100644
index 2d953eec..00000000
--- a/cheri/sail_latex/sailgtint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val gt_int = {coq: "Z.gtb", _:"gt"} : (int, int) -> bool
diff --git a/cheri/sail_latex/sailgtrangeatom.tex b/cheri/sail_latex/sailgtrangeatom.tex
deleted file mode 100644
index b8635909..00000000
--- a/cheri/sail_latex/sailgtrangeatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val gt_range_atom = {coq: "gtb_range_l", _: "gt"} : forall 'n 'm 'o. (range('n, 'm), atom('o)) -> bool
diff --git a/cheri/sail_latex/sailimmonesix.tex b/cheri/sail_latex/sailimmonesix.tex
deleted file mode 100644
index bec28c6c..00000000
--- a/cheri/sail_latex/sailimmonesix.tex
+++ /dev/null
@@ -1 +0,0 @@
-type imm16 = #\hyperref[zbits]{bits}#(16) /* 16-bit immediate */
diff --git a/cheri/sail_latex/sailincCapOffset.tex b/cheri/sail_latex/sailincCapOffset.tex
deleted file mode 100644
index 8e182ff3..00000000
--- a/cheri/sail_latex/sailincCapOffset.tex
+++ /dev/null
@@ -1 +0,0 @@
-val incCapOffset : (CapStruct, #\hyperref[zbits]{bits}#(64)) -> (bool, CapStruct)
diff --git a/cheri/sail_latex/sailincrementCPzeroCount.tex b/cheri/sail_latex/sailincrementCPzeroCount.tex
deleted file mode 100644
index ca1384eb..00000000
--- a/cheri/sail_latex/sailincrementCPzeroCount.tex
+++ /dev/null
@@ -1 +0,0 @@
-val incrementCP0Count : unit -> unit effect {rreg,wreg,escape}
diff --git a/cheri/sail_latex/sailinitcptwostate.tex b/cheri/sail_latex/sailinitcptwostate.tex
deleted file mode 100644
index 98ced710..00000000
--- a/cheri/sail_latex/sailinitcptwostate.tex
+++ /dev/null
@@ -1 +0,0 @@
-val init_cp2_state : unit -> unit effect {wreg}
diff --git a/cheri/sail_latex/sailinitcpzerostate.tex b/cheri/sail_latex/sailinitcpzerostate.tex
deleted file mode 100644
index 743cc402..00000000
--- a/cheri/sail_latex/sailinitcpzerostate.tex
+++ /dev/null
@@ -1 +0,0 @@
-val init_cp0_state : unit -> unit effect {wreg}
diff --git a/cheri/sail_latex/sailintofAccessLevel.tex b/cheri/sail_latex/sailintofAccessLevel.tex
deleted file mode 100644
index 257f321f..00000000
--- a/cheri/sail_latex/sailintofAccessLevel.tex
+++ /dev/null
@@ -1 +0,0 @@
-val int_of_AccessLevel : AccessLevel -> {|0, 1, 2|} effect pure
diff --git a/cheri/sail_latex/sailintpower.tex b/cheri/sail_latex/sailintpower.tex
deleted file mode 100644
index 0aa13188..00000000
--- a/cheri/sail_latex/sailintpower.tex
+++ /dev/null
@@ -1 +0,0 @@
-val int_power = {ocaml: "int_power", lem: "pow", coq: "Z.pow"} : (int, int) -> int
diff --git a/cheri/sail_latex/sailinttocap.tex b/cheri/sail_latex/sailinttocap.tex
deleted file mode 100644
index 0f4cd328..00000000
--- a/cheri/sail_latex/sailinttocap.tex
+++ /dev/null
@@ -1 +0,0 @@
-val int_to_cap : bits(64) -> CapStruct
diff --git a/cheri/sail_latex/sailisAddressAligned.tex b/cheri/sail_latex/sailisAddressAligned.tex
deleted file mode 100644
index e1f8c318..00000000
--- a/cheri/sail_latex/sailisAddressAligned.tex
+++ /dev/null
@@ -1 +0,0 @@
-val isAddressAligned : (#\hyperref[zbits]{bits}#(64), WordType) -> bool
diff --git a/cheri/sail_latex/sailisnone.tex b/cheri/sail_latex/sailisnone.tex
deleted file mode 100644
index 76688d37..00000000
--- a/cheri/sail_latex/sailisnone.tex
+++ /dev/null
@@ -1 +0,0 @@
-val is_none : forall ('a : Type). #\hyperref[zoption]{option}#('a) -> bool
diff --git a/cheri/sail_latex/sailissome.tex b/cheri/sail_latex/sailissome.tex
deleted file mode 100644
index 071ac6b6..00000000
--- a/cheri/sail_latex/sailissome.tex
+++ /dev/null
@@ -1 +0,0 @@
-val is_some : forall ('a : Type). #\hyperref[zoption]{option}#('a) -> bool
diff --git a/cheri/sail_latex/saillength.tex b/cheri/sail_latex/saillength.tex
deleted file mode 100644
index 248c8507..00000000
--- a/cheri/sail_latex/saillength.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload length = {bitvector_length, vector_length} \ No newline at end of file
diff --git a/cheri/sail_latex/sailltatom.tex b/cheri/sail_latex/sailltatom.tex
deleted file mode 100644
index 5cca54df..00000000
--- a/cheri/sail_latex/sailltatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val lt_atom = {coq: "Z.ltb", _: "lt"} : forall 'n 'm. (atom('n), atom('m)) -> bool
diff --git a/cheri/sail_latex/sailltatomrange.tex b/cheri/sail_latex/sailltatomrange.tex
deleted file mode 100644
index 19d3375d..00000000
--- a/cheri/sail_latex/sailltatomrange.tex
+++ /dev/null
@@ -1 +0,0 @@
-val lt_atom_range = {coq: "ltb_range_r", _: "lt"} : forall 'n 'm 'o. (atom('n), range('m, 'o)) -> bool
diff --git a/cheri/sail_latex/saillteqatom.tex b/cheri/sail_latex/saillteqatom.tex
deleted file mode 100644
index 26e27e2d..00000000
--- a/cheri/sail_latex/saillteqatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val lteq_atom = {coq: "Z.leb", _: "lteq"} : forall 'n 'm. (atom('n), atom('m)) -> bool
diff --git a/cheri/sail_latex/saillteqatomrange.tex b/cheri/sail_latex/saillteqatomrange.tex
deleted file mode 100644
index 6e951cf7..00000000
--- a/cheri/sail_latex/saillteqatomrange.tex
+++ /dev/null
@@ -1 +0,0 @@
-val lteq_atom_range = {coq: "leb_range_r", _: "lteq"} : forall 'n 'm 'o. (atom('n), range('m, 'o)) -> bool
diff --git a/cheri/sail_latex/saillteqint.tex b/cheri/sail_latex/saillteqint.tex
deleted file mode 100644
index 555176be..00000000
--- a/cheri/sail_latex/saillteqint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val lteq_int = {coq: "Z.leb", _:"lteq"} : (int, int) -> bool
diff --git a/cheri/sail_latex/saillteqrangeatom.tex b/cheri/sail_latex/saillteqrangeatom.tex
deleted file mode 100644
index f8fcd32d..00000000
--- a/cheri/sail_latex/saillteqrangeatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val lteq_range_atom = {coq: "leb_range_l", _: "lteq"} : forall 'n 'm 'o. (range('n, 'm), atom('o)) -> bool
diff --git a/cheri/sail_latex/sailltint.tex b/cheri/sail_latex/sailltint.tex
deleted file mode 100644
index 40bd4e85..00000000
--- a/cheri/sail_latex/sailltint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val lt_int = {coq: "Z.ltb", _:"lt"} : (int, int) -> bool
diff --git a/cheri/sail_latex/sailltrangeatom.tex b/cheri/sail_latex/sailltrangeatom.tex
deleted file mode 100644
index d8495496..00000000
--- a/cheri/sail_latex/sailltrangeatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val lt_range_atom = {coq: "ltb_range_l", _: "lt"} : forall 'n 'm 'o. (range('n, 'm), atom('o)) -> bool
diff --git a/cheri/sail_latex/sailmask.tex b/cheri/sail_latex/sailmask.tex
deleted file mode 100644
index 35d052db..00000000
--- a/cheri/sail_latex/sailmask.tex
+++ /dev/null
@@ -1 +0,0 @@
-val mask : forall 'm 'n , 'm >= 'n > 0 . #\hyperref[zbits]{bits}#('m) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latex/sailmaxatom.tex b/cheri/sail_latex/sailmaxatom.tex
deleted file mode 100644
index 6cbdfa7f..00000000
--- a/cheri/sail_latex/sailmaxatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val max_atom = {ocaml: "max_int", lem: "max", coq: "max_atom", c:"max_int"} : forall 'a 'b . (atom('a), atom('b)) -> {'c, ('c = 'a | 'c = 'b) & 'c >= 'a & 'c >= 'b . atom('c)}
diff --git a/cheri/sail_latex/sailmaxint.tex b/cheri/sail_latex/sailmaxint.tex
deleted file mode 100644
index c537babb..00000000
--- a/cheri/sail_latex/sailmaxint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val max_int = {lem: "max", coq: "Z.max", _: "max_int"} : (int, int) -> int
diff --git a/cheri/sail_latex/sailmaxnat.tex b/cheri/sail_latex/sailmaxnat.tex
deleted file mode 100644
index 1b62334a..00000000
--- a/cheri/sail_latex/sailmaxnat.tex
+++ /dev/null
@@ -1 +0,0 @@
-val max_nat = {lem: "max", coq: "Z.max", _: "max_int"} : (nat, nat) -> nat
diff --git a/cheri/sail_latex/sailmemBitsToCapBits.tex b/cheri/sail_latex/sailmemBitsToCapBits.tex
deleted file mode 100644
index 99aaa592..00000000
--- a/cheri/sail_latex/sailmemBitsToCapBits.tex
+++ /dev/null
@@ -1 +0,0 @@
-val memBitsToCapBits : (bool, bits(256)) -> bits(257)
diff --git a/cheri/sail_latex/sailmin.tex b/cheri/sail_latex/sailmin.tex
deleted file mode 100644
index 94097198..00000000
--- a/cheri/sail_latex/sailmin.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload min = {min_atom, min_nat, min_int} \ No newline at end of file
diff --git a/cheri/sail_latex/sailminatom.tex b/cheri/sail_latex/sailminatom.tex
deleted file mode 100644
index acfea384..00000000
--- a/cheri/sail_latex/sailminatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val min_atom = {ocaml: "min_int", lem: "min", coq: "min_atom", c:"min_int"} : forall 'a 'b . (atom('a), atom('b)) -> {'c, ('c = 'a | 'c = 'b) & 'c <= 'a & 'c <= 'b . atom('c)}
diff --git a/cheri/sail_latex/sailminint.tex b/cheri/sail_latex/sailminint.tex
deleted file mode 100644
index 3d633d08..00000000
--- a/cheri/sail_latex/sailminint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val min_int = {lem: "min", coq: "Z.min", _: "min_int"} : (int, int) -> int
diff --git a/cheri/sail_latex/sailminnat.tex b/cheri/sail_latex/sailminnat.tex
deleted file mode 100644
index 85409bd8..00000000
--- a/cheri/sail_latex/sailminnat.tex
+++ /dev/null
@@ -1 +0,0 @@
-val min_nat = {lem: "min", coq: "Z.min", _: "min_int"} : (nat, nat) -> nat
diff --git a/cheri/sail_latex/sailmipssignextend.tex b/cheri/sail_latex/sailmipssignextend.tex
deleted file mode 100644
index e613567d..00000000
--- a/cheri/sail_latex/sailmipssignextend.tex
+++ /dev/null
@@ -1 +0,0 @@
-val mips_sign_extend : forall 'n 'm , 'm >= 'n . #\hyperref[zbits]{bits}#('n) -> #\hyperref[zbits]{bits}#('m)
diff --git a/cheri/sail_latex/sailmipszzeroextend.tex b/cheri/sail_latex/sailmipszzeroextend.tex
deleted file mode 100644
index adbb4188..00000000
--- a/cheri/sail_latex/sailmipszzeroextend.tex
+++ /dev/null
@@ -1 +0,0 @@
-val mips_zero_extend : forall 'n 'm , 'm >= 'n . #\hyperref[zbits]{bits}#('n) -> #\hyperref[zbits]{bits}#('m)
diff --git a/cheri/sail_latex/sailmod.tex b/cheri/sail_latex/sailmod.tex
deleted file mode 100644
index ab70dd7a..00000000
--- a/cheri/sail_latex/sailmod.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-val mod = {
- smt: "mod",
- ocaml: "modulus",
- lem: "integerMod",
- c: "tmod_int",
- coq: "mod_with_eq"
-} : forall 'n 'm. (atom('n), atom('m)) -> {'o, 'o = #\hyperref[zmod]{mod}#('n, 'm). atom('o)}
diff --git a/cheri/sail_latex/sailmodBD.tex b/cheri/sail_latex/sailmodBD.tex
deleted file mode 100644
index f3e58d9b..00000000
--- a/cheri/sail_latex/sailmodBD.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_BD = {_get_CauseReg_BD, _set_CauseReg_BD} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodBEV.tex b/cheri/sail_latex/sailmodBEV.tex
deleted file mode 100644
index beee53c1..00000000
--- a/cheri/sail_latex/sailmodBEV.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_BEV = {_get_StatusReg_BEV, _set_StatusReg_BEV} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodBadVPNtwo.tex b/cheri/sail_latex/sailmodBadVPNtwo.tex
deleted file mode 100644
index c2578121..00000000
--- a/cheri/sail_latex/sailmodBadVPNtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_BadVPN2 = {_get_ContextReg_BadVPN2, _set_ContextReg_BadVPN2} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodC.tex b/cheri/sail_latex/sailmodC.tex
deleted file mode 100644
index 01df09e2..00000000
--- a/cheri/sail_latex/sailmodC.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_C = {_get_TLBEntryLoReg_C, _set_TLBEntryLoReg_C} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodCE.tex b/cheri/sail_latex/sailmodCE.tex
deleted file mode 100644
index 9136541c..00000000
--- a/cheri/sail_latex/sailmodCE.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_CE = {_get_CauseReg_CE, _set_CauseReg_CE} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodCU.tex b/cheri/sail_latex/sailmodCU.tex
deleted file mode 100644
index 2a2b7db3..00000000
--- a/cheri/sail_latex/sailmodCU.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_CU = {_get_StatusReg_CU, _set_StatusReg_CU} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodCapL.tex b/cheri/sail_latex/sailmodCapL.tex
deleted file mode 100644
index 1e92b0d4..00000000
--- a/cheri/sail_latex/sailmodCapL.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_CapL = {_get_TLBEntryLoReg_CapL, _set_TLBEntryLoReg_CapL} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodCapS.tex b/cheri/sail_latex/sailmodCapS.tex
deleted file mode 100644
index bdacef07..00000000
--- a/cheri/sail_latex/sailmodCapS.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_CapS = {_get_TLBEntryLoReg_CapS, _set_TLBEntryLoReg_CapS} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodD.tex b/cheri/sail_latex/sailmodD.tex
deleted file mode 100644
index af4cad2e..00000000
--- a/cheri/sail_latex/sailmodD.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_D = {_get_TLBEntryLoReg_D, _set_TLBEntryLoReg_D} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodERL.tex b/cheri/sail_latex/sailmodERL.tex
deleted file mode 100644
index b334b7dc..00000000
--- a/cheri/sail_latex/sailmodERL.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_ERL = {_get_StatusReg_ERL, _set_StatusReg_ERL} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodEXL.tex b/cheri/sail_latex/sailmodEXL.tex
deleted file mode 100644
index 16b2bc8c..00000000
--- a/cheri/sail_latex/sailmodEXL.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_EXL = {_get_StatusReg_EXL, _set_StatusReg_EXL} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodExcCode.tex b/cheri/sail_latex/sailmodExcCode.tex
deleted file mode 100644
index baa16ec2..00000000
--- a/cheri/sail_latex/sailmodExcCode.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_ExcCode = {_get_CapCauseReg_ExcCode, _set_CapCauseReg_ExcCode} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodIE.tex b/cheri/sail_latex/sailmodIE.tex
deleted file mode 100644
index 940ad6f3..00000000
--- a/cheri/sail_latex/sailmodIE.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_IE = {_get_StatusReg_IE, _set_StatusReg_IE} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodIM.tex b/cheri/sail_latex/sailmodIM.tex
deleted file mode 100644
index d3a58dd0..00000000
--- a/cheri/sail_latex/sailmodIM.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_IM = {_get_StatusReg_IM, _set_StatusReg_IM} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodIP.tex b/cheri/sail_latex/sailmodIP.tex
deleted file mode 100644
index 361230bf..00000000
--- a/cheri/sail_latex/sailmodIP.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_IP = {_get_CauseReg_IP, _set_CauseReg_IP} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodIV.tex b/cheri/sail_latex/sailmodIV.tex
deleted file mode 100644
index 1222520b..00000000
--- a/cheri/sail_latex/sailmodIV.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_IV = {_get_CauseReg_IV, _set_CauseReg_IV} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodKSU.tex b/cheri/sail_latex/sailmodKSU.tex
deleted file mode 100644
index 7cff9a26..00000000
--- a/cheri/sail_latex/sailmodKSU.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_KSU = {_get_StatusReg_KSU, _set_StatusReg_KSU} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodKX.tex b/cheri/sail_latex/sailmodKX.tex
deleted file mode 100644
index a90ad274..00000000
--- a/cheri/sail_latex/sailmodKX.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_KX = {_get_StatusReg_KX, _set_StatusReg_KX} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodPFN.tex b/cheri/sail_latex/sailmodPFN.tex
deleted file mode 100644
index bba40f6d..00000000
--- a/cheri/sail_latex/sailmodPFN.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_PFN = {_get_TLBEntryLoReg_PFN, _set_TLBEntryLoReg_PFN} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodPTEBase.tex b/cheri/sail_latex/sailmodPTEBase.tex
deleted file mode 100644
index 890eb57c..00000000
--- a/cheri/sail_latex/sailmodPTEBase.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_PTEBase = {_get_ContextReg_PTEBase, _set_ContextReg_PTEBase} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodRegNum.tex b/cheri/sail_latex/sailmodRegNum.tex
deleted file mode 100644
index 6cc28de3..00000000
--- a/cheri/sail_latex/sailmodRegNum.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_RegNum = {_get_CapCauseReg_RegNum, _set_CapCauseReg_RegNum} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodSX.tex b/cheri/sail_latex/sailmodSX.tex
deleted file mode 100644
index 4ea62484..00000000
--- a/cheri/sail_latex/sailmodSX.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_SX = {_get_StatusReg_SX, _set_StatusReg_SX} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodUX.tex b/cheri/sail_latex/sailmodUX.tex
deleted file mode 100644
index aa31242d..00000000
--- a/cheri/sail_latex/sailmodUX.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_UX = {_get_StatusReg_UX, _set_StatusReg_UX} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodV.tex b/cheri/sail_latex/sailmodV.tex
deleted file mode 100644
index 964f5eab..00000000
--- a/cheri/sail_latex/sailmodV.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_V = {_get_TLBEntryLoReg_V, _set_TLBEntryLoReg_V} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodWP.tex b/cheri/sail_latex/sailmodWP.tex
deleted file mode 100644
index 1ab7fbf7..00000000
--- a/cheri/sail_latex/sailmodWP.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_WP = {_get_CauseReg_WP, _set_CauseReg_WP} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodXBadVPNtwo.tex b/cheri/sail_latex/sailmodXBadVPNtwo.tex
deleted file mode 100644
index 9122b39d..00000000
--- a/cheri/sail_latex/sailmodXBadVPNtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_XBadVPN2 = {_get_XContextReg_XBadVPN2, _set_XContextReg_XBadVPN2} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodXPTEBase.tex b/cheri/sail_latex/sailmodXPTEBase.tex
deleted file mode 100644
index 67e094bf..00000000
--- a/cheri/sail_latex/sailmodXPTEBase.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_XPTEBase = {_get_XContextReg_XPTEBase, _set_XContextReg_XPTEBase} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodXR.tex b/cheri/sail_latex/sailmodXR.tex
deleted file mode 100644
index a3c5ab29..00000000
--- a/cheri/sail_latex/sailmodXR.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_XR = {_get_XContextReg_XR, _set_XContextReg_XR} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodasid.tex b/cheri/sail_latex/sailmodasid.tex
deleted file mode 100644
index b80fbc05..00000000
--- a/cheri/sail_latex/sailmodasid.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_asid = {_get_TLBEntry_asid, _set_TLBEntry_asid} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodbits.tex b/cheri/sail_latex/sailmodbits.tex
deleted file mode 100644
index b14554ac..00000000
--- a/cheri/sail_latex/sailmodbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_bits = {_get_CapCauseReg_bits, _set_CapCauseReg_bits} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodcaplone.tex b/cheri/sail_latex/sailmodcaplone.tex
deleted file mode 100644
index cc216500..00000000
--- a/cheri/sail_latex/sailmodcaplone.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_capl1 = {_get_TLBEntry_capl1, _set_TLBEntry_capl1} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodcaplzero.tex b/cheri/sail_latex/sailmodcaplzero.tex
deleted file mode 100644
index 91969233..00000000
--- a/cheri/sail_latex/sailmodcaplzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_capl0 = {_get_TLBEntry_capl0, _set_TLBEntry_capl0} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodcapsone.tex b/cheri/sail_latex/sailmodcapsone.tex
deleted file mode 100644
index c2aa1743..00000000
--- a/cheri/sail_latex/sailmodcapsone.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_caps1 = {_get_TLBEntry_caps1, _set_TLBEntry_caps1} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodcapszero.tex b/cheri/sail_latex/sailmodcapszero.tex
deleted file mode 100644
index 36fbc5bb..00000000
--- a/cheri/sail_latex/sailmodcapszero.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_caps0 = {_get_TLBEntry_caps0, _set_TLBEntry_caps0} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodcone.tex b/cheri/sail_latex/sailmodcone.tex
deleted file mode 100644
index 70d2a78c..00000000
--- a/cheri/sail_latex/sailmodcone.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_c1 = {_get_TLBEntry_c1, _set_TLBEntry_c1} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodczero.tex b/cheri/sail_latex/sailmodczero.tex
deleted file mode 100644
index 56a19643..00000000
--- a/cheri/sail_latex/sailmodczero.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_c0 = {_get_TLBEntry_c0, _set_TLBEntry_c0} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmoddone.tex b/cheri/sail_latex/sailmoddone.tex
deleted file mode 100644
index d970eb5b..00000000
--- a/cheri/sail_latex/sailmoddone.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_d1 = {_get_TLBEntry_d1, _set_TLBEntry_d1} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmoddzero.tex b/cheri/sail_latex/sailmoddzero.tex
deleted file mode 100644
index 0e860884..00000000
--- a/cheri/sail_latex/sailmoddzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_d0 = {_get_TLBEntry_d0, _set_TLBEntry_d0} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodg.tex b/cheri/sail_latex/sailmodg.tex
deleted file mode 100644
index 6c46a49a..00000000
--- a/cheri/sail_latex/sailmodg.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_g = {_get_TLBEntry_g, _set_TLBEntry_g} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodint.tex b/cheri/sail_latex/sailmodint.tex
deleted file mode 100644
index bd5677aa..00000000
--- a/cheri/sail_latex/sailmodint.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-val mod_int = {
- smt: "mod",
- ocaml: "modulus",
- lem: "integerMod",
- c: "tmod_int",
- coq: "Z.rem"
-} : (int, int) -> int
diff --git a/cheri/sail_latex/sailmodpagemask.tex b/cheri/sail_latex/sailmodpagemask.tex
deleted file mode 100644
index 130ccab2..00000000
--- a/cheri/sail_latex/sailmodpagemask.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_pagemask = {_get_TLBEntry_pagemask, _set_TLBEntry_pagemask} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodpfnone.tex b/cheri/sail_latex/sailmodpfnone.tex
deleted file mode 100644
index 3e703530..00000000
--- a/cheri/sail_latex/sailmodpfnone.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_pfn1 = {_get_TLBEntry_pfn1, _set_TLBEntry_pfn1} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodpfnzero.tex b/cheri/sail_latex/sailmodpfnzero.tex
deleted file mode 100644
index e3e2bfb2..00000000
--- a/cheri/sail_latex/sailmodpfnzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_pfn0 = {_get_TLBEntry_pfn0, _set_TLBEntry_pfn0} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodr.tex b/cheri/sail_latex/sailmodr.tex
deleted file mode 100644
index ca85fe92..00000000
--- a/cheri/sail_latex/sailmodr.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_r = {_get_TLBEntry_r, _set_TLBEntry_r} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodulus.tex b/cheri/sail_latex/sailmodulus.tex
deleted file mode 100644
index ca23a339..00000000
--- a/cheri/sail_latex/sailmodulus.tex
+++ /dev/null
@@ -1 +0,0 @@
-val modulus = {ocaml: "modulus", lem: "hardware_mod", coq: "euclid_modulo", _ : "tmod_int"} : forall 'n, 'n > 0 . (int, atom('n)) -> range(0, 'n - 1)
diff --git a/cheri/sail_latex/sailmodvalid.tex b/cheri/sail_latex/sailmodvalid.tex
deleted file mode 100644
index 21baa26c..00000000
--- a/cheri/sail_latex/sailmodvalid.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_valid = {_get_TLBEntry_valid, _set_TLBEntry_valid} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodvone.tex b/cheri/sail_latex/sailmodvone.tex
deleted file mode 100644
index 30619a05..00000000
--- a/cheri/sail_latex/sailmodvone.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_v1 = {_get_TLBEntry_v1, _set_TLBEntry_v1} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodvpntwo.tex b/cheri/sail_latex/sailmodvpntwo.tex
deleted file mode 100644
index 08cd1947..00000000
--- a/cheri/sail_latex/sailmodvpntwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_vpn2 = {_get_TLBEntry_vpn2, _set_TLBEntry_vpn2} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmodvzero.tex b/cheri/sail_latex/sailmodvzero.tex
deleted file mode 100644
index 3e05b3f3..00000000
--- a/cheri/sail_latex/sailmodvzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_v0 = {_get_TLBEntry_v0, _set_TLBEntry_v0} \ No newline at end of file
diff --git a/cheri/sail_latex/sailmultatom.tex b/cheri/sail_latex/sailmultatom.tex
deleted file mode 100644
index bbac3e2f..00000000
--- a/cheri/sail_latex/sailmultatom.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val mult_atom = {ocaml: "mult", lem: "integerMult", c: "mult_int", coq: "Z.mul"} : forall 'n 'm.
- (atom('n), atom('m)) -> atom('n * 'm)
diff --git a/cheri/sail_latex/sailmultint.tex b/cheri/sail_latex/sailmultint.tex
deleted file mode 100644
index 08698e6f..00000000
--- a/cheri/sail_latex/sailmultint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val mult_int = {ocaml: "mult", lem: "integerMult", c: "mult_int", coq: "Z.mul"} : (int, int) -> int
diff --git a/cheri/sail_latex/sailnegate.tex b/cheri/sail_latex/sailnegate.tex
deleted file mode 100644
index ce000062..00000000
--- a/cheri/sail_latex/sailnegate.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload negate = {negate_range, negate_int} \ No newline at end of file
diff --git a/cheri/sail_latex/sailnegateatom.tex b/cheri/sail_latex/sailnegateatom.tex
deleted file mode 100644
index d1361e63..00000000
--- a/cheri/sail_latex/sailnegateatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val negate_atom = {ocaml: "negate", lem: "integerNegate", c: "neg_int", coq: "Z.opp"} : forall 'n. atom('n) -> atom(- 'n)
diff --git a/cheri/sail_latex/sailnegateint.tex b/cheri/sail_latex/sailnegateint.tex
deleted file mode 100644
index 52375787..00000000
--- a/cheri/sail_latex/sailnegateint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val negate_int = {ocaml: "negate", lem: "integerNegate", c: "neg_int", coq: "Z.opp"} : int -> int
diff --git a/cheri/sail_latex/sailnegaterange.tex b/cheri/sail_latex/sailnegaterange.tex
deleted file mode 100644
index 7a4ad386..00000000
--- a/cheri/sail_latex/sailnegaterange.tex
+++ /dev/null
@@ -1 +0,0 @@
-val negate_range = {ocaml: "minus_big_int", lem: "integerNegate", coq: "negate_range"} : forall 'n 'm. range('n, 'm) -> range(- 'm, - 'n)
diff --git a/cheri/sail_latex/sailneqanything.tex b/cheri/sail_latex/sailneqanything.tex
deleted file mode 100644
index a898649e..00000000
--- a/cheri/sail_latex/sailneqanything.tex
+++ /dev/null
@@ -1 +0,0 @@
-val neq_anything = {lem: "neq", coq: "generic_neq"} : forall ('a : Type). ('a, 'a) -> bool
diff --git a/cheri/sail_latex/sailneqatom.tex b/cheri/sail_latex/sailneqatom.tex
deleted file mode 100644
index be777013..00000000
--- a/cheri/sail_latex/sailneqatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val neq_atom = {lem: "neq", coq: "neq_atom"} : forall 'n 'm. (atom('n), atom('m)) -> bool
diff --git a/cheri/sail_latex/sailneqbool.tex b/cheri/sail_latex/sailneqbool.tex
deleted file mode 100644
index 0d80dc17..00000000
--- a/cheri/sail_latex/sailneqbool.tex
+++ /dev/null
@@ -1 +0,0 @@
-val neq_bool : (bool, bool) -> bool
diff --git a/cheri/sail_latex/sailneqint.tex b/cheri/sail_latex/sailneqint.tex
deleted file mode 100644
index b233ca6b..00000000
--- a/cheri/sail_latex/sailneqint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val neq_int = {lem: "neq"} : (int, int) -> bool
diff --git a/cheri/sail_latex/sailneqrange.tex b/cheri/sail_latex/sailneqrange.tex
deleted file mode 100644
index d2d8fb0c..00000000
--- a/cheri/sail_latex/sailneqrange.tex
+++ /dev/null
@@ -1 +0,0 @@
-val neq_range = {lem: "neq"} : forall 'n 'm 'o 'p. (range('n, 'm), range('o, 'p)) -> bool
diff --git a/cheri/sail_latex/sailneqvec.tex b/cheri/sail_latex/sailneqvec.tex
deleted file mode 100644
index f655b3d8..00000000
--- a/cheri/sail_latex/sailneqvec.tex
+++ /dev/null
@@ -1 +0,0 @@
-val neq_vec = {lem: "neq"} : forall 'n. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> bool
diff --git a/cheri/sail_latex/sailnot.tex b/cheri/sail_latex/sailnot.tex
deleted file mode 100644
index 515b3ef9..00000000
--- a/cheri/sail_latex/sailnot.tex
+++ /dev/null
@@ -1 +0,0 @@
-val not = {coq:"negb", _:"not"} : bool -> bool
diff --git a/cheri/sail_latex/sailnotbool.tex b/cheri/sail_latex/sailnotbool.tex
deleted file mode 100644
index 7630f6c2..00000000
--- a/cheri/sail_latex/sailnotbool.tex
+++ /dev/null
@@ -1 +0,0 @@
-val not_bool = {coq: "negb", _: "not"} : bool -> bool
diff --git a/cheri/sail_latex/sailnotvec.tex b/cheri/sail_latex/sailnotvec.tex
deleted file mode 100644
index a560a544..00000000
--- a/cheri/sail_latex/sailnotvec.tex
+++ /dev/null
@@ -1 +0,0 @@
-val not_vec = {c:"not_bits", _:"not_vec"} : forall 'n. #\hyperref[zbits]{bits}#('n) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latex/sailnumofAccessLevel.tex b/cheri/sail_latex/sailnumofAccessLevel.tex
deleted file mode 100644
index 0c618cc8..00000000
--- a/cheri/sail_latex/sailnumofAccessLevel.tex
+++ /dev/null
@@ -1 +0,0 @@
-val num_of_AccessLevel : AccessLevel -> {'e, 0 <= 'e & 'e <= 2. atom('e)}
diff --git a/cheri/sail_latex/sailnumofCPtrCmpOp.tex b/cheri/sail_latex/sailnumofCPtrCmpOp.tex
deleted file mode 100644
index 40f1bfa9..00000000
--- a/cheri/sail_latex/sailnumofCPtrCmpOp.tex
+++ /dev/null
@@ -1 +0,0 @@
-val num_of_CPtrCmpOp : CPtrCmpOp -> {'e, 0 <= 'e & 'e <= 7. atom('e)}
diff --git a/cheri/sail_latex/sailnumofCapEx.tex b/cheri/sail_latex/sailnumofCapEx.tex
deleted file mode 100644
index 3bec74dc..00000000
--- a/cheri/sail_latex/sailnumofCapEx.tex
+++ /dev/null
@@ -1 +0,0 @@
-val num_of_CapEx : CapEx -> {'e, 0 <= 'e & 'e <= 22. atom('e)}
diff --git a/cheri/sail_latex/sailnumofClearRegSet.tex b/cheri/sail_latex/sailnumofClearRegSet.tex
deleted file mode 100644
index 14ea7bea..00000000
--- a/cheri/sail_latex/sailnumofClearRegSet.tex
+++ /dev/null
@@ -1 +0,0 @@
-val num_of_ClearRegSet : ClearRegSet -> {'e, 0 <= 'e & 'e <= 3. atom('e)}
diff --git a/cheri/sail_latex/sailnumofComparison.tex b/cheri/sail_latex/sailnumofComparison.tex
deleted file mode 100644
index bac8031f..00000000
--- a/cheri/sail_latex/sailnumofComparison.tex
+++ /dev/null
@@ -1 +0,0 @@
-val num_of_Comparison : Comparison -> {'e, 0 <= 'e & 'e <= 7. atom('e)}
diff --git a/cheri/sail_latex/sailnumofException.tex b/cheri/sail_latex/sailnumofException.tex
deleted file mode 100644
index 2f823724..00000000
--- a/cheri/sail_latex/sailnumofException.tex
+++ /dev/null
@@ -1 +0,0 @@
-val num_of_Exception : Exception -> {'e, 0 <= 'e & 'e <= 18. atom('e)}
diff --git a/cheri/sail_latex/sailnumofMemAccessType.tex b/cheri/sail_latex/sailnumofMemAccessType.tex
deleted file mode 100644
index dc81a81c..00000000
--- a/cheri/sail_latex/sailnumofMemAccessType.tex
+++ /dev/null
@@ -1 +0,0 @@
-val num_of_MemAccessType : MemAccessType -> {'e, 0 <= 'e & 'e <= 2. atom('e)}
diff --git a/cheri/sail_latex/sailnumofWordType.tex b/cheri/sail_latex/sailnumofWordType.tex
deleted file mode 100644
index 2be61446..00000000
--- a/cheri/sail_latex/sailnumofWordType.tex
+++ /dev/null
@@ -1 +0,0 @@
-val num_of_WordType : WordType -> {'e, 0 <= 'e & 'e <= 3. atom('e)}
diff --git a/cheri/sail_latex/sailnumofWordTypeUnaligned.tex b/cheri/sail_latex/sailnumofWordTypeUnaligned.tex
deleted file mode 100644
index 40c9a426..00000000
--- a/cheri/sail_latex/sailnumofWordTypeUnaligned.tex
+++ /dev/null
@@ -1 +0,0 @@
-val num_of_WordTypeUnaligned : WordTypeUnaligned -> {'e, 0 <= 'e & 'e <= 3. atom('e)}
diff --git a/cheri/sail_latex/sailnumofdecodefailure.tex b/cheri/sail_latex/sailnumofdecodefailure.tex
deleted file mode 100644
index 197b4ae9..00000000
--- a/cheri/sail_latex/sailnumofdecodefailure.tex
+++ /dev/null
@@ -1 +0,0 @@
-val num_of_decode_failure : decode_failure -> {'e, 0 <= 'e & 'e <= 3. atom('e)}
diff --git a/cheri/sail_latex/sailones.tex b/cheri/sail_latex/sailones.tex
deleted file mode 100644
index 94fd805f..00000000
--- a/cheri/sail_latex/sailones.tex
+++ /dev/null
@@ -1 +0,0 @@
-val ones : forall 'n, 'n >= 0 . unit -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latex/sailorbits.tex b/cheri/sail_latex/sailorbits.tex
deleted file mode 100644
index 55db5ffa..00000000
--- a/cheri/sail_latex/sailorbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-val or_bits = {c: "or_bits", _: "or_vec"} : forall 'n. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latex/sailorbool.tex b/cheri/sail_latex/sailorbool.tex
deleted file mode 100644
index 4b6bfa15..00000000
--- a/cheri/sail_latex/sailorbool.tex
+++ /dev/null
@@ -1 +0,0 @@
-val or_bool = {coq: "orb", _: "or_bool"} : (bool, bool) -> bool
diff --git a/cheri/sail_latex/sailpccaccesssystemregs.tex b/cheri/sail_latex/sailpccaccesssystemregs.tex
deleted file mode 100644
index 399ab221..00000000
--- a/cheri/sail_latex/sailpccaccesssystemregs.tex
+++ /dev/null
@@ -1 +0,0 @@
-val pcc_access_system_regs : unit -> bool effect {rreg}
diff --git a/cheri/sail_latex/sailplainvectoraccess.tex b/cheri/sail_latex/sailplainvectoraccess.tex
deleted file mode 100644
index 94824f77..00000000
--- a/cheri/sail_latex/sailplainvectoraccess.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-val plain_vector_access = {
- ocaml: "access",
- lem: "access_list_dec",
- coq: "vec_access_dec",
- c: "vector_access"
-} : forall ('n : Int) ('m : Int) ('a : Type), 0 <= 'm < 'n. (vector('n, dec, 'a), atom('m)) -> 'a
diff --git a/cheri/sail_latex/sailplainvectorupdate.tex b/cheri/sail_latex/sailplainvectorupdate.tex
deleted file mode 100644
index 6880d9bd..00000000
--- a/cheri/sail_latex/sailplainvectorupdate.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-val plain_vector_update = {
- ocaml: "update",
- lem: "update_list_dec",
- coq: "vec_update_dec",
- c: "vector_update"
-} : forall '#\hyperref[zn]{n}# ('a : Type). (vector('n, dec, 'a), int, 'a) -> vector('n, dec, 'a)
diff --git a/cheri/sail_latex/sailpowtwo.tex b/cheri/sail_latex/sailpowtwo.tex
deleted file mode 100644
index 41da946e..00000000
--- a/cheri/sail_latex/sailpowtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-val pow2 = "pow2" : forall 'n. atom('n) -> atom(2 ^ 'n)
diff --git a/cheri/sail_latex/sailprerrbits.tex b/cheri/sail_latex/sailprerrbits.tex
deleted file mode 100644
index 7d926384..00000000
--- a/cheri/sail_latex/sailprerrbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "prerr_bits" : forall 'n. (string, #\hyperref[zbits]{bits}#('n)) -> unit
diff --git a/cheri/sail_latex/sailprerrendline.tex b/cheri/sail_latex/sailprerrendline.tex
deleted file mode 100644
index ad4a94a0..00000000
--- a/cheri/sail_latex/sailprerrendline.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "prerr_endline" : string -> unit
diff --git a/cheri/sail_latex/sailprerrint.tex b/cheri/sail_latex/sailprerrint.tex
deleted file mode 100644
index ce7a7d61..00000000
--- a/cheri/sail_latex/sailprerrint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "prerr_int" : (string, int) -> unit
diff --git a/cheri/sail_latex/sailprerrstring.tex b/cheri/sail_latex/sailprerrstring.tex
deleted file mode 100644
index 7b849da2..00000000
--- a/cheri/sail_latex/sailprerrstring.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "prerr_string" : string -> unit
diff --git a/cheri/sail_latex/sailprint.tex b/cheri/sail_latex/sailprint.tex
deleted file mode 100644
index 50a64219..00000000
--- a/cheri/sail_latex/sailprint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val print = "print_endline" : string -> unit
diff --git a/cheri/sail_latex/sailprintbits.tex b/cheri/sail_latex/sailprintbits.tex
deleted file mode 100644
index 8783a59a..00000000
--- a/cheri/sail_latex/sailprintbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "print_bits" : forall 'n. (string, #\hyperref[zbits]{bits}#('n)) -> unit
diff --git a/cheri/sail_latex/sailprintint.tex b/cheri/sail_latex/sailprintint.tex
deleted file mode 100644
index ddf33afc..00000000
--- a/cheri/sail_latex/sailprintint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "print_int" : (string, int) -> unit
diff --git a/cheri/sail_latex/sailputchar.tex b/cheri/sail_latex/sailputchar.tex
deleted file mode 100644
index a123c709..00000000
--- a/cheri/sail_latex/sailputchar.tex
+++ /dev/null
@@ -1 +0,0 @@
-val putchar = {c:"sail_putchar", _:"putchar"} : int -> unit
diff --git a/cheri/sail_latex/sailquotient.tex b/cheri/sail_latex/sailquotient.tex
deleted file mode 100644
index 7dba5359..00000000
--- a/cheri/sail_latex/sailquotient.tex
+++ /dev/null
@@ -1 +0,0 @@
-val quotient = {ocaml: "quotient", lem: "integerDiv", coq: "Z.mod"} : (int, int) -> int
diff --git a/cheri/sail_latex/sailquotientnat.tex b/cheri/sail_latex/sailquotientnat.tex
deleted file mode 100644
index 14db4ae0..00000000
--- a/cheri/sail_latex/sailquotientnat.tex
+++ /dev/null
@@ -1 +0,0 @@
-val quotient_nat = {ocaml: "quotient", lem: "integerDiv", coq: "Z.div"} : (nat, nat) -> nat
diff --git a/cheri/sail_latex/sailquotroundzzero.tex b/cheri/sail_latex/sailquotroundzzero.tex
deleted file mode 100644
index 9523cfcc..00000000
--- a/cheri/sail_latex/sailquotroundzzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-val quot_round_zero = {ocaml: "quot_round_zero", lem: "hardware_quot", coq: "Z.quot", _ : "tdiv_int"} : (int, int) -> int
diff --git a/cheri/sail_latex/sailrGPR.tex b/cheri/sail_latex/sailrGPR.tex
deleted file mode 100644
index 19721488..00000000
--- a/cheri/sail_latex/sailrGPR.tex
+++ /dev/null
@@ -1 +0,0 @@
-val rGPR : #\hyperref[zbits]{bits}#(5) -> #\hyperref[zbits]{bits}#(64) effect {rreg}
diff --git a/cheri/sail_latex/sailraisectwoexception.tex b/cheri/sail_latex/sailraisectwoexception.tex
deleted file mode 100644
index f8a562ec..00000000
--- a/cheri/sail_latex/sailraisectwoexception.tex
+++ /dev/null
@@ -1 +0,0 @@
-val raise_c2_exception : forall ('o : Type) . (CapEx, regno) -> 'o effect {escape, rreg, wreg}
diff --git a/cheri/sail_latex/sailraisectwoexceptioneight.tex b/cheri/sail_latex/sailraisectwoexceptioneight.tex
deleted file mode 100644
index 21b0bcf9..00000000
--- a/cheri/sail_latex/sailraisectwoexceptioneight.tex
+++ /dev/null
@@ -1 +0,0 @@
-val raise_c2_exception8 : forall ('o : Type) . (CapEx, #\hyperref[zbits]{bits}#(8)) -> 'o effect {escape, rreg, wreg}
diff --git a/cheri/sail_latex/sailraisectwoexceptionnoreg.tex b/cheri/sail_latex/sailraisectwoexceptionnoreg.tex
deleted file mode 100644
index be594e4e..00000000
--- a/cheri/sail_latex/sailraisectwoexceptionnoreg.tex
+++ /dev/null
@@ -1 +0,0 @@
-val raise_c2_exception_noreg : forall ('o : Type) . (CapEx) -> 'o effect {escape, rreg, wreg}
diff --git a/cheri/sail_latex/sailreadCapReg.tex b/cheri/sail_latex/sailreadCapReg.tex
deleted file mode 100644
index f4d77264..00000000
--- a/cheri/sail_latex/sailreadCapReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-val readCapReg : regno -> CapStruct effect {rreg}
diff --git a/cheri/sail_latex/sailreadCapRegDDC.tex b/cheri/sail_latex/sailreadCapRegDDC.tex
deleted file mode 100644
index 2ec2e75d..00000000
--- a/cheri/sail_latex/sailreadCapRegDDC.tex
+++ /dev/null
@@ -1 +0,0 @@
-val readCapRegDDC : regno -> CapStruct effect {rreg}
diff --git a/cheri/sail_latex/sailregderef.tex b/cheri/sail_latex/sailregderef.tex
deleted file mode 100644
index 7f1dc7e8..00000000
--- a/cheri/sail_latex/sailregderef.tex
+++ /dev/null
@@ -1 +0,0 @@
-val _reg_deref = "reg_deref" : forall ('a : Type). #\hyperref[zregister]{register}#('a) -> 'a
diff --git a/cheri/sail_latex/sailregisterinaccessible.tex b/cheri/sail_latex/sailregisterinaccessible.tex
deleted file mode 100644
index d732248a..00000000
--- a/cheri/sail_latex/sailregisterinaccessible.tex
+++ /dev/null
@@ -1 +0,0 @@
-val register_inaccessible : regno -> bool effect {rreg}
diff --git a/cheri/sail_latex/sailregno.tex b/cheri/sail_latex/sailregno.tex
deleted file mode 100644
index 5246f847..00000000
--- a/cheri/sail_latex/sailregno.tex
+++ /dev/null
@@ -1 +0,0 @@
-type regno = #\hyperref[zbits]{bits}#(5) /* a register number */
diff --git a/cheri/sail_latex/sailregregimmonesix.tex b/cheri/sail_latex/sailregregimmonesix.tex
deleted file mode 100644
index 0be3ccec..00000000
--- a/cheri/sail_latex/sailregregimmonesix.tex
+++ /dev/null
@@ -1 +0,0 @@
-type regregimm16 = (regno, regno, imm16)
diff --git a/cheri/sail_latex/sailregregreg.tex b/cheri/sail_latex/sailregregreg.tex
deleted file mode 100644
index e3409dff..00000000
--- a/cheri/sail_latex/sailregregreg.tex
+++ /dev/null
@@ -1 +0,0 @@
-type regregreg = (regno, regno, regno)
diff --git a/cheri/sail_latex/sailremroundzzero.tex b/cheri/sail_latex/sailremroundzzero.tex
deleted file mode 100644
index 9d8113ba..00000000
--- a/cheri/sail_latex/sailremroundzzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-val rem_round_zero = {ocaml: "rem_round_zero", lem: "hardware_mod", coq: "Z.rem", _ : "tmod_int"} : (int, int) -> int
diff --git a/cheri/sail_latex/sailreplicatebits.tex b/cheri/sail_latex/sailreplicatebits.tex
deleted file mode 100644
index cd7a97d7..00000000
--- a/cheri/sail_latex/sailreplicatebits.tex
+++ /dev/null
@@ -1 +0,0 @@
-val replicate_bits = "replicate_bits" : forall 'n 'm. (#\hyperref[zbits]{bits}#('n), atom('m)) -> #\hyperref[zbits]{bits}#('n * 'm)
diff --git a/cheri/sail_latex/sailreverseendianness.tex b/cheri/sail_latex/sailreverseendianness.tex
deleted file mode 100644
index 9105738f..00000000
--- a/cheri/sail_latex/sailreverseendianness.tex
+++ /dev/null
@@ -1 +0,0 @@
-val reverse_endianness = "reverse_endianness" : forall 'W, 'W >= 1. #\hyperref[zbits]{bits}#(8 * 'W) -> #\hyperref[zbits]{bits}#(8 * 'W) effect pure
diff --git a/cheri/sail_latex/sailsailfndecodeSomeBCMPZv.tex b/cheri/sail_latex/sailsailfndecodeSomeBCMPZv.tex
deleted file mode 100644
index 5106d2ec..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeBCMPZv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000001 @ rs : regno @ 0b10000 @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zBCMPZ]{BCMPZ}#(rs, imm, LT, true, false)) /* BLTZAL */
diff --git a/cheri/sail_latex/sailsailfndecodeSomeBEQv.tex b/cheri/sail_latex/sailsailfndecodeSomeBEQv.tex
deleted file mode 100644
index aa31ba6b..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeBEQv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010100 @ rs : regno @ rt : regno @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zBEQ]{BEQ}#(rs, rt, imm, false, true)) /* BEQL */
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCAndPermv.tex b/cheri/sail_latex/sailsailfndecodeSomeCAndPermv.tex
deleted file mode 100644
index 893a1c6d..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCAndPermv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cd : regno @ cs : regno @ rt : regno @ 0b001101) = #\hyperref[zSome]{Some}#(#\hyperref[zCAndPerm]{CAndPerm}#(cd, cs, rt))
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCBXv.tex b/cheri/sail_latex/sailsailfndecodeSomeCBXv.tex
deleted file mode 100644
index 32d3c875..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCBXv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b01010 @ cd : regno @ imm : #\hyperref[zbits]{bits}#(16)) = #\hyperref[zSome]{Some}#(#\hyperref[zCBX]{CBX}#(cd, imm, false)) /* CBTS */
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCBZv.tex b/cheri/sail_latex/sailsailfndecodeSomeCBZv.tex
deleted file mode 100644
index 32781f76..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCBZv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b10010 @ cd : regno @ imm : #\hyperref[zbits]{bits}#(16)) = #\hyperref[zSome]{Some}#(#\hyperref[zCBZ]{CBZ}#(cd, imm, true)) /* CBNZ */
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCCheckPermv.tex b/cheri/sail_latex/sailsailfndecodeSomeCCheckPermv.tex
deleted file mode 100644
index ee2c8bde..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCCheckPermv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cs : regno @ rt : regno @ 0b01000 @ 0b111111) = #\hyperref[zSome]{Some}#(#\hyperref[zCCheckPerm]{CCheckPerm}#(cs, rt))
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCCheckTypev.tex b/cheri/sail_latex/sailsailfndecodeSomeCCheckTypev.tex
deleted file mode 100644
index 661760cc..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCCheckTypev.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cs : regno @ cb : regno @ 0b01001 @ 0b111111) = #\hyperref[zSome]{Some}#(#\hyperref[zCCheckType]{CCheckType}#(cs, cb))
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCClearTagv.tex b/cheri/sail_latex/sailsailfndecodeSomeCClearTagv.tex
deleted file mode 100644
index 766ce399..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCClearTagv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cd : regno @ cb : regno @ 0b01011 @ 0b111111) = #\hyperref[zSome]{Some}#(#\hyperref[zCClearTag]{CClearTag}#(cd, cb))
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCFromPtrv.tex b/cheri/sail_latex/sailsailfndecodeSomeCFromPtrv.tex
deleted file mode 100644
index e977fcd2..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCFromPtrv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cd : regno @ cb : regno @ rs : regno @ 0b010011) = #\hyperref[zSome]{Some}#(#\hyperref[zCFromPtr]{CFromPtr}#(cd, cb, rs))
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCGetBasev.tex b/cheri/sail_latex/sailsailfndecodeSomeCGetBasev.tex
deleted file mode 100644
index 05fa9835..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCGetBasev.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00010 @ 0b111111) = #\hyperref[zSome]{Some}#(#\hyperref[zCGetBase]{CGetBase}#(rd, cb))
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCGetCauserdv.tex b/cheri/sail_latex/sailsailfndecodeSomeCGetCauserdv.tex
deleted file mode 100644
index c44fd7ff..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCGetCauserdv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ 0b00001 @ 0b11111 @ 0b111111) = #\hyperref[zSome]{Some}#(#\hyperref[zCGetCause]{CGetCause}#(rd))
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCGetLenv.tex b/cheri/sail_latex/sailsailfndecodeSomeCGetLenv.tex
deleted file mode 100644
index 3a4a434b..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCGetLenv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00011 @ 0b111111) = #\hyperref[zSome]{Some}#(#\hyperref[zCGetLen]{CGetLen}#(rd, cb))
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCGetOffsetv.tex b/cheri/sail_latex/sailsailfndecodeSomeCGetOffsetv.tex
deleted file mode 100644
index a5a22beb..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCGetOffsetv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00110 @ 0b111111) = #\hyperref[zSome]{Some}#(#\hyperref[zCGetOffset]{CGetOffset}#(rd, cb))
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCGetPermv.tex b/cheri/sail_latex/sailsailfndecodeSomeCGetPermv.tex
deleted file mode 100644
index 5dbabd98..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCGetPermv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00000 @ 0b111111) = #\hyperref[zSome]{Some}#(#\hyperref[zCGetPerm]{CGetPerm}#(rd, cb))
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCGetSealedv.tex b/cheri/sail_latex/sailsailfndecodeSomeCGetSealedv.tex
deleted file mode 100644
index 00d254ad..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCGetSealedv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00101 @ 0b111111) = #\hyperref[zSome]{Some}#(#\hyperref[zCGetSealed]{CGetSealed}#(rd, cb))
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCGetTagv.tex b/cheri/sail_latex/sailsailfndecodeSomeCGetTagv.tex
deleted file mode 100644
index e46392b5..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCGetTagv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00100 @ 0b111111) = #\hyperref[zSome]{Some}#(#\hyperref[zCGetTag]{CGetTag}#(rd, cb))
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCGetTypev.tex b/cheri/sail_latex/sailsailfndecodeSomeCGetTypev.tex
deleted file mode 100644
index 20baf29c..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCGetTypev.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ 0b00001 @ 0b111111) = #\hyperref[zSome]{Some}#(#\hyperref[zCGetType]{CGetType}#(rd, cb))
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCIncOffsetv.tex b/cheri/sail_latex/sailsailfndecodeSomeCIncOffsetv.tex
deleted file mode 100644
index 5d2501bb..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCIncOffsetv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cd : regno @ cb : regno @ rt : regno @ 0b010001) = #\hyperref[zSome]{Some}#(#\hyperref[zCIncOffset]{CIncOffset}#(cd, cb, rt))
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCJALRv.tex b/cheri/sail_latex/sailsailfndecodeSomeCJALRv.tex
deleted file mode 100644
index 3f5f8411..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCJALRv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b01000 @ 0b00000 @ cb : regno @ 0b00000 @ 0b000000) = #\hyperref[zSome]{Some}#(#\hyperref[zCJALR]{CJALR}#(0b00000, cb, false)) /* CJR */
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCLCv.tex b/cheri/sail_latex/sailsailfndecodeSomeCLCv.tex
deleted file mode 100644
index fa732648..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCLCv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b10000 @ cd : regno @ cb : regno@ 0b0000000 @ 0b1111) = #\hyperref[zSome]{Some}#(#\hyperref[zCLC]{CLC}#(cd, cb, 0b00000, 0x0000, true)) /* CLLC */
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCLoadv.tex b/cheri/sail_latex/sailsailfndecodeSomeCLoadv.tex
deleted file mode 100644
index 9fbd4a7b..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCLoadv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b110010 @ rd : regno @ cb : regno@ rt : regno @ offset : #\hyperref[zbits]{bits}#(8) @ 0b1 @ 0b00) = #\hyperref[zSome]{Some}#(#\hyperref[zCLoad]{CLoad}#(rd, cb, rt, offset, true, B, false)) /* CLB */
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCMOVXv.tex b/cheri/sail_latex/sailsailfndecodeSomeCMOVXv.tex
deleted file mode 100644
index 09fb371f..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCMOVXv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cd : regno @ cs : regno @ rs : regno @ 0b011011) = #\hyperref[zSome]{Some}#(#\hyperref[zCMOVX]{CMOVX}#(cd, cs, rs, false)) /* CMOVZ */
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCPtrCmpv.tex b/cheri/sail_latex/sailsailfndecodeSomeCPtrCmpv.tex
deleted file mode 100644
index af60dcc8..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCPtrCmpv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b01110 @ rd : regno @ cb : regno @ ct : regno @ 0b000 @ 0b001) = #\hyperref[zSome]{Some}#(#\hyperref[zCPtrCmp]{CPtrCmp}#(rd, cb, ct, CNE))
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCReturnv.tex b/cheri/sail_latex/sailsailfndecodeSomeCReturnv.tex
deleted file mode 100644
index da0a09d2..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCReturnv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00101 @ 0b00000 @ 0b00000 @ 0b11111111111) = #\hyperref[zSome]{Some}#(#\hyperref[zCReturn]{CReturn}#())
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCSCv.tex b/cheri/sail_latex/sailsailfndecodeSomeCSCv.tex
deleted file mode 100644
index 14b9e73a..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCSCv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b10000 @ cs : regno @ cb : regno@ rd : regno @ 0b00 @ 0b0111) = #\hyperref[zSome]{Some}#(#\hyperref[zCSC]{CSC}#(cs, cb, 0b00000, rd, 0b00000000000, true)) /* CSCC */
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCSealv.tex b/cheri/sail_latex/sailsailfndecodeSomeCSealv.tex
deleted file mode 100644
index 4000c397..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCSealv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cd : regno @ cs : regno @ ct : regno @ 0b001011) = #\hyperref[zSome]{Some}#(#\hyperref[zCSeal]{CSeal}#(cd, cs, ct))
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCSetBoundsv.tex b/cheri/sail_latex/sailsailfndecodeSomeCSetBoundsv.tex
deleted file mode 100644
index 1d6a4e52..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCSetBoundsv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cd : regno @ cs : regno @ rt : regno @ 0b001000) = #\hyperref[zSome]{Some}#(#\hyperref[zCSetBounds]{CSetBounds}#(cd, cs, rt))
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCSetOffsetv.tex b/cheri/sail_latex/sailsailfndecodeSomeCSetOffsetv.tex
deleted file mode 100644
index 478a8f93..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCSetOffsetv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cd : regno @ cs : regno @ rt : regno @ 0b001111) = #\hyperref[zSome]{Some}#(#\hyperref[zCSetOffset]{CSetOffset}#(cd, cs, rt))
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCStorev.tex b/cheri/sail_latex/sailsailfndecodeSomeCStorev.tex
deleted file mode 100644
index e5e4dd1d..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCStorev.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b111010 @ rs : regno @ cb : regno@ rt : regno @ offset : #\hyperref[zbits]{bits}#(8) @ 0b0 @ 0b01) = #\hyperref[zSome]{Some}#(#\hyperref[zCStore]{CStore}#(rs, cb, rt, 0b00000, offset, H, false)) /* CSH */
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCToPtrv.tex b/cheri/sail_latex/sailsailfndecodeSomeCToPtrv.tex
deleted file mode 100644
index d9b325f9..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCToPtrv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ ct : regno @ 0b010010) = #\hyperref[zSome]{Some}#(#\hyperref[zCToPtr]{CToPtr}#(rd, cb, ct))
diff --git a/cheri/sail_latex/sailsailfndecodeSomeCUnsealv.tex b/cheri/sail_latex/sailsailfndecodeSomeCUnsealv.tex
deleted file mode 100644
index acb3c721..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeCUnsealv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cd : regno @ cs : regno @ ct : regno @ 0b001100) = #\hyperref[zSome]{Some}#(#\hyperref[zCUnseal]{CUnseal}#(cd, cs, ct))
diff --git a/cheri/sail_latex/sailsailfndecodeSomeClearRegsv.tex b/cheri/sail_latex/sailsailfndecodeSomeClearRegsv.tex
deleted file mode 100644
index 791485cd..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeClearRegsv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b01111 @ 0b00001 @ imm : #\hyperref[zbits]{bits}#(16)) = #\hyperref[zSome]{Some}#(#\hyperref[zClearRegs]{ClearRegs}#(GPHi, imm))
diff --git a/cheri/sail_latex/sailsailfndecodeSomeHCFv.tex b/cheri/sail_latex/sailsailfndecodeSomeHCFv.tex
deleted file mode 100644
index dbecd8da..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeHCFv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010000 @ 0b00100 @ rt : regno @ 0b11010 @ 0b00000000000) =
- #\hyperref[zSome]{Some}#(#\hyperref[zHCF]{HCF}#())
diff --git a/cheri/sail_latex/sailsailfndecodeSomeLoadv.tex b/cheri/sail_latex/sailsailfndecodeSomeLoadv.tex
deleted file mode 100644
index 211a2f4a..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeLoadv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b100100 @ base : regno @ rt : regno @ offset : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zLoad]{Load}#(B, false, false, base, rt, offset)) /* LBU */
diff --git a/cheri/sail_latex/sailsailfndecodeSomeMFCzerov.tex b/cheri/sail_latex/sailsailfndecodeSomeMFCzerov.tex
deleted file mode 100644
index f54ffdfd..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeMFCzerov.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010000 @ 0b00001 @ rt : regno @ rd : regno @ 0b00000000 @ sel : #\hyperref[zbits]{bits}#(3)) =
- #\hyperref[zSome]{Some}#(#\hyperref[zMFCzero]{MFC0}#(rt, rd, sel, true)) /* DMFC0 */
diff --git a/cheri/sail_latex/sailsailfndecodeSomeMTCzerov.tex b/cheri/sail_latex/sailsailfndecodeSomeMTCzerov.tex
deleted file mode 100644
index ae848c1e..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeMTCzerov.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010000 @ 0b00101 @ rt : regno @ rd : regno @ 0b00000000 @ sel : #\hyperref[zbits]{bits}#(3)) =
- #\hyperref[zSome]{Some}#(#\hyperref[zMTCzero]{MTC0}#(rt, rd, sel, true)) /* DMTC0 */
diff --git a/cheri/sail_latex/sailsailfndecodeSomeStorev.tex b/cheri/sail_latex/sailsailfndecodeSomeStorev.tex
deleted file mode 100644
index 6ddb5562..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeStorev.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b101001 @ base : regno @ rt : regno @ offset : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zStore]{Store}#(H, false, base, rt, offset)) /* SH */
diff --git a/cheri/sail_latex/sailsailfndecodeSomeTRAPIMMv.tex b/cheri/sail_latex/sailsailfndecodeSomeTRAPIMMv.tex
deleted file mode 100644
index f899f0e7..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeTRAPIMMv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000001 @ rs : regno @ 0b01110 @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zTRAPIMM]{TRAPIMM}#(rs, imm, NE)) /* TNEI */
diff --git a/cheri/sail_latex/sailsailfndecodeSomeTRAPREGv.tex b/cheri/sail_latex/sailsailfndecodeSomeTRAPREGv.tex
deleted file mode 100644
index 9909d5da..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomeTRAPREGv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ code : #\hyperref[zbits]{bits}#(10) @ 0b110001) =
- #\hyperref[zSome]{Some}#(#\hyperref[zTRAPREG]{TRAPREG}#(rs, rt, GEU)) /* TGEU */
diff --git a/cheri/sail_latex/sailsailfndecodeSomev.tex b/cheri/sail_latex/sailsailfndecodeSomev.tex
deleted file mode 100644
index bf842c52..00000000
--- a/cheri/sail_latex/sailsailfndecodeSomev.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010000 @ 0b10000000000000000000 @ 0b000110) = #\hyperref[zSome]{Some}#(#\hyperref[zTLBWR]{TLBWR}#() : ast)
diff --git a/cheri/sail_latex/sailsailfnexecuteCCallv.tex b/cheri/sail_latex/sailsailfnexecuteCCallv.tex
deleted file mode 100644
index 6a11ddac..00000000
--- a/cheri/sail_latex/sailsailfnexecuteCCallv.tex
+++ /dev/null
@@ -1,46 +0,0 @@
-function clause #\hyperref[zexecute]{execute}# (#\hyperref[zCCall]{CCall}#(cs, cb, 0b00000000001)) = /* selector=1 */
-{
- /* Jump-like implementation of CCall that unseals arguments */
- #\hyperref[zcheckCPtwousable]{checkCP2usable}#();
- cs_val = #\hyperref[zreadCapReg]{readCapReg}#(cs);
- cb_val = #\hyperref[zreadCapReg]{readCapReg}#(cb);
- cs_cursor = #\hyperref[zgetCapCursor]{getCapCursor}#(cs_val);
- if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cs)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cs)
- else if (#\hyperref[zregisterzyinaccessible]{register\_inaccessible}#(cb)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_AccessSystemRegsViolation, cb)
- else if #\hyperref[znot]{not}# (cs_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, cs)
- else if #\hyperref[znot]{not}# (cb_val.tag) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TagViolation, cb)
- else if #\hyperref[znot]{not}# (cs_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cs)
- else if #\hyperref[znot]{not}# (cb_val.sealed) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_SealViolation, cb)
- else if ((cs_val.otype) != (cb_val.otype)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_TypeViolation, cs)
- else if #\hyperref[znot]{not}# (cs_val.permit_ccall) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_PermitCCallViolation, cs)
- else if #\hyperref[znot]{not}# (cb_val.permit_ccall) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_PermitCCallViolation, cb)
- else if #\hyperref[znot]{not}# (cs_val.permit_execute) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_PermitExecuteViolation, cs)
- else if (cb_val.permit_execute) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_PermitExecuteViolation, cb)
- else if (cs_cursor < #\hyperref[zgetCapBase]{getCapBase}#(cs_val)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cs)
- else if (cs_cursor >= #\hyperref[zgetCapTop]{getCapTop}#(cs_val)) then
- #\hyperref[zraisezyctwozyexception]{raise\_c2\_exception}#(CapEx_LengthViolation, cs)
- else
- {
- #\hyperref[zexecutezybranchzypcc]{execute\_branch\_pcc}#({cs_val with
- sealed=false,
- otype=#\hyperref[zzzeros]{zeros}#()
- });
- inCCallDelay = 0b1;
- C26 = #\hyperref[zcapStructToCapReg]{capStructToCapReg}#({cb_val with
- sealed=false,
- otype=#\hyperref[zzzeros]{zeros}#()
- });
- }
-}
diff --git a/cheri/sail_latex/sailsailmask.tex b/cheri/sail_latex/sailsailmask.tex
deleted file mode 100644
index 45862747..00000000
--- a/cheri/sail_latex/sailsailmask.tex
+++ /dev/null
@@ -1 +0,0 @@
-val sail_mask : forall 'len 'v, 'len >= 0 & 'v >= 0. (atom('len), vector('v, dec, bit)) -> vector('len, dec, bit)
diff --git a/cheri/sail_latex/sailsailmaxv.tex b/cheri/sail_latex/sailsailmaxv.tex
deleted file mode 100644
index 1ceed42c..00000000
--- a/cheri/sail_latex/sailsailmaxv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload max = {max_atom, max_nat, max_int} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailmodASIDv.tex b/cheri/sail_latex/sailsailmodASIDv.tex
deleted file mode 100644
index 4e4c154c..00000000
--- a/cheri/sail_latex/sailsailmodASIDv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_ASID = {_get_TLBEntryHiReg_ASID, _set_TLBEntryHiReg_ASID} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailmodExcCodev.tex b/cheri/sail_latex/sailsailmodExcCodev.tex
deleted file mode 100644
index 95bd4a1b..00000000
--- a/cheri/sail_latex/sailsailmodExcCodev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_ExcCode = {_get_CauseReg_ExcCode, _set_CauseReg_ExcCode} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailmodGv.tex b/cheri/sail_latex/sailsailmodGv.tex
deleted file mode 100644
index ddb88eaa..00000000
--- a/cheri/sail_latex/sailsailmodGv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_G = {_get_TLBEntryLoReg_G, _set_TLBEntryLoReg_G} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailmodRv.tex b/cheri/sail_latex/sailsailmodRv.tex
deleted file mode 100644
index 85ef85fa..00000000
--- a/cheri/sail_latex/sailsailmodRv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_R = {_get_TLBEntryHiReg_R, _set_TLBEntryHiReg_R} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailmodVPNtwov.tex b/cheri/sail_latex/sailsailmodVPNtwov.tex
deleted file mode 100644
index 7de971a8..00000000
--- a/cheri/sail_latex/sailsailmodVPNtwov.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_VPN2 = {_get_TLBEntryHiReg_VPN2, _set_TLBEntryHiReg_VPN2} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailmodbitsv.tex b/cheri/sail_latex/sailsailmodbitsv.tex
deleted file mode 100644
index f27daebb..00000000
--- a/cheri/sail_latex/sailsailmodbitsv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_bits = {_get_StatusReg_bits, _set_StatusReg_bits} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailnegatev.tex b/cheri/sail_latex/sailsailnegatev.tex
deleted file mode 100644
index 4f7aea58..00000000
--- a/cheri/sail_latex/sailsailnegatev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload negate = {negate_atom, negate_int} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailregderefv.tex b/cheri/sail_latex/sailsailregderefv.tex
deleted file mode 100644
index f5de92ca..00000000
--- a/cheri/sail_latex/sailsailregderefv.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "reg_deref" : forall ('a : Type). #\hyperref[zregister]{register}#('a) -> 'a effect {rreg}
diff --git a/cheri/sail_latex/sailsailsailfndecodeSomeBCMPZvv.tex b/cheri/sail_latex/sailsailsailfndecodeSomeBCMPZvv.tex
deleted file mode 100644
index 05919c54..00000000
--- a/cheri/sail_latex/sailsailsailfndecodeSomeBCMPZvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000001 @ rs : regno @ 0b00010 @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zBCMPZ]{BCMPZ}#(rs, imm, LT, false, true)) /* BLTZL */
diff --git a/cheri/sail_latex/sailsailsailfndecodeSomeBEQvv.tex b/cheri/sail_latex/sailsailsailfndecodeSomeBEQvv.tex
deleted file mode 100644
index 4ee94638..00000000
--- a/cheri/sail_latex/sailsailsailfndecodeSomeBEQvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000101 @ rs : regno @ rt : regno @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zBEQ]{BEQ}#(rs, rt, imm, true , false)) /* BNE */
diff --git a/cheri/sail_latex/sailsailsailfndecodeSomeCJALRvv.tex b/cheri/sail_latex/sailsailsailfndecodeSomeCJALRvv.tex
deleted file mode 100644
index a14bda16..00000000
--- a/cheri/sail_latex/sailsailsailfndecodeSomeCJALRvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cb : regno @ 0b00011 @ 0b11111 @ 0b111111) = #\hyperref[zSome]{Some}#(#\hyperref[zCJALR]{CJALR}#(0b00000, cb, false)) /* CJR */
diff --git a/cheri/sail_latex/sailsailsailfndecodeSomeCLCvv.tex b/cheri/sail_latex/sailsailsailfndecodeSomeCLCvv.tex
deleted file mode 100644
index ec1bbddb..00000000
--- a/cheri/sail_latex/sailsailsailfndecodeSomeCLCvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b011101 @ cd : regno @ cb : regno @ offset : #\hyperref[zbits]{bits}#(16)) = #\hyperref[zSome]{Some}#(#\hyperref[zCLC]{CLC}#(cd, cb, 0b00000, offset, false)) /* CLCBI */
diff --git a/cheri/sail_latex/sailsailsailfndecodeSomeCLoadvv.tex b/cheri/sail_latex/sailsailsailfndecodeSomeCLoadvv.tex
deleted file mode 100644
index 59928bdf..00000000
--- a/cheri/sail_latex/sailsailsailfndecodeSomeCLoadvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b110010 @ rd : regno @ cb : regno@ rt : regno @ offset : #\hyperref[zbits]{bits}#(8) @ 0b0 @ 0b01) = #\hyperref[zSome]{Some}#(#\hyperref[zCLoad]{CLoad}#(rd, cb, rt, offset, false, H, false)) /* CLHU */
diff --git a/cheri/sail_latex/sailsailsailfndecodeSomeCMOVXvv.tex b/cheri/sail_latex/sailsailsailfndecodeSomeCMOVXvv.tex
deleted file mode 100644
index 17ed8e64..00000000
--- a/cheri/sail_latex/sailsailsailfndecodeSomeCMOVXvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cd : regno @ cs : regno @ rs : regno @ 0b011100) = #\hyperref[zSome]{Some}#(#\hyperref[zCMOVX]{CMOVX}#(cd, cs, rs, true)) /* CMOVN */
diff --git a/cheri/sail_latex/sailsailsailfndecodeSomeCPtrCmpvv.tex b/cheri/sail_latex/sailsailsailfndecodeSomeCPtrCmpvv.tex
deleted file mode 100644
index e89b161e..00000000
--- a/cheri/sail_latex/sailsailsailfndecodeSomeCPtrCmpvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b01110 @ rd : regno @ cb : regno @ ct : regno @ 0b000 @ 0b010) = #\hyperref[zSome]{Some}#(#\hyperref[zCPtrCmp]{CPtrCmp}#(rd, cb, ct, CLT))
diff --git a/cheri/sail_latex/sailsailsailfndecodeSomeCStorevv.tex b/cheri/sail_latex/sailsailsailfndecodeSomeCStorevv.tex
deleted file mode 100644
index 16a0ca69..00000000
--- a/cheri/sail_latex/sailsailsailfndecodeSomeCStorevv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b111010 @ rs : regno @ cb : regno@ rt : regno @ offset : #\hyperref[zbits]{bits}#(8) @ 0b0 @ 0b10) = #\hyperref[zSome]{Some}#(#\hyperref[zCStore]{CStore}#(rs, cb, rt, 0b00000, offset, W, false)) /* CSW */
diff --git a/cheri/sail_latex/sailsailsailfndecodeSomeClearRegsvv.tex b/cheri/sail_latex/sailsailsailfndecodeSomeClearRegsvv.tex
deleted file mode 100644
index 1f6face1..00000000
--- a/cheri/sail_latex/sailsailsailfndecodeSomeClearRegsvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b01111 @ 0b00010 @ imm : #\hyperref[zbits]{bits}#(16)) = #\hyperref[zSome]{Some}#(#\hyperref[zClearRegs]{ClearRegs}#(CLo, imm))
diff --git a/cheri/sail_latex/sailsailsailfndecodeSomeLoadvv.tex b/cheri/sail_latex/sailsailsailfndecodeSomeLoadvv.tex
deleted file mode 100644
index 9158cc9a..00000000
--- a/cheri/sail_latex/sailsailsailfndecodeSomeLoadvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b100001 @ base : regno @ rt : regno @ offset : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zLoad]{Load}#(H, true, false, base, rt, offset)) /* LH */
diff --git a/cheri/sail_latex/sailsailsailfndecodeSomeStorevv.tex b/cheri/sail_latex/sailsailsailfndecodeSomeStorevv.tex
deleted file mode 100644
index f71ec6a1..00000000
--- a/cheri/sail_latex/sailsailsailfndecodeSomeStorevv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b101011 @ base : regno @ rt : regno @ offset : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zStore]{Store}#(W, false, base, rt, offset)) /* SW */
diff --git a/cheri/sail_latex/sailsailsailfndecodeSomeTRAPIMMvv.tex b/cheri/sail_latex/sailsailsailfndecodeSomeTRAPIMMvv.tex
deleted file mode 100644
index 39d26d09..00000000
--- a/cheri/sail_latex/sailsailsailfndecodeSomeTRAPIMMvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000001 @ rs : regno @ 0b01000 @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zTRAPIMM]{TRAPIMM}#(rs, imm, GE)) /* TGEI */
diff --git a/cheri/sail_latex/sailsailsailfndecodeSomeTRAPREGvv.tex b/cheri/sail_latex/sailsailsailfndecodeSomeTRAPREGvv.tex
deleted file mode 100644
index 69135618..00000000
--- a/cheri/sail_latex/sailsailsailfndecodeSomeTRAPREGvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ code : #\hyperref[zbits]{bits}#(10) @ 0b110010) =
- #\hyperref[zSome]{Some}#(#\hyperref[zTRAPREG]{TRAPREG}#(rs, rt, LT)) /* TLT */
diff --git a/cheri/sail_latex/sailsailsailfndecodeSomevv.tex b/cheri/sail_latex/sailsailsailfndecodeSomevv.tex
deleted file mode 100644
index 30e900f1..00000000
--- a/cheri/sail_latex/sailsailsailfndecodeSomevv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010000 @ 0b10000000000000000000 @ 0b000001) = #\hyperref[zSome]{Some}#(#\hyperref[zTLBR]{TLBR}#() : ast)
diff --git a/cheri/sail_latex/sailsailsailmodbitsvv.tex b/cheri/sail_latex/sailsailsailmodbitsvv.tex
deleted file mode 100644
index 7f154d12..00000000
--- a/cheri/sail_latex/sailsailsailmodbitsvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_bits = {_get_TLBEntry_bits, _set_TLBEntry_bits} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailsailsailfndecodeSomeBCMPZvvv.tex b/cheri/sail_latex/sailsailsailsailfndecodeSomeBCMPZvvv.tex
deleted file mode 100644
index b58ee95f..00000000
--- a/cheri/sail_latex/sailsailsailsailfndecodeSomeBCMPZvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000001 @ rs : regno @ 0b10010 @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zBCMPZ]{BCMPZ}#(rs, imm, LT, true, true)) /* BLTZALL */
diff --git a/cheri/sail_latex/sailsailsailsailfndecodeSomeBEQvvv.tex b/cheri/sail_latex/sailsailsailsailfndecodeSomeBEQvvv.tex
deleted file mode 100644
index c8be8d7f..00000000
--- a/cheri/sail_latex/sailsailsailsailfndecodeSomeBEQvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010101 @ rs : regno @ rt : regno @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zBEQ]{BEQ}#(rs, rt, imm, true , true)) /* BNEL */
diff --git a/cheri/sail_latex/sailsailsailsailfndecodeSomeCJALRvvv.tex b/cheri/sail_latex/sailsailsailsailfndecodeSomeCJALRvvv.tex
deleted file mode 100644
index bc34143b..00000000
--- a/cheri/sail_latex/sailsailsailsailfndecodeSomeCJALRvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ cd : regno @ cb : regno @ 0b01100 @ 0b111111) = #\hyperref[zSome]{Some}#(#\hyperref[zCJALR]{CJALR}#(cd, cb, true)) /* CJALR */
diff --git a/cheri/sail_latex/sailsailsailsailfndecodeSomeCLoadvvv.tex b/cheri/sail_latex/sailsailsailsailfndecodeSomeCLoadvvv.tex
deleted file mode 100644
index a510352e..00000000
--- a/cheri/sail_latex/sailsailsailsailfndecodeSomeCLoadvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b110010 @ rd : regno @ cb : regno@ rt : regno @ offset : #\hyperref[zbits]{bits}#(8) @ 0b1 @ 0b01) = #\hyperref[zSome]{Some}#(#\hyperref[zCLoad]{CLoad}#(rd, cb, rt, offset, true, H, false)) /* CLH */
diff --git a/cheri/sail_latex/sailsailsailsailfndecodeSomeCPtrCmpvvv.tex b/cheri/sail_latex/sailsailsailsailfndecodeSomeCPtrCmpvvv.tex
deleted file mode 100644
index 1cbb97ff..00000000
--- a/cheri/sail_latex/sailsailsailsailfndecodeSomeCPtrCmpvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b01110 @ rd : regno @ cb : regno @ ct : regno @ 0b000 @ 0b011) = #\hyperref[zSome]{Some}#(#\hyperref[zCPtrCmp]{CPtrCmp}#(rd, cb, ct, CLE))
diff --git a/cheri/sail_latex/sailsailsailsailfndecodeSomeCStorevvv.tex b/cheri/sail_latex/sailsailsailsailfndecodeSomeCStorevvv.tex
deleted file mode 100644
index 1ff7d0b3..00000000
--- a/cheri/sail_latex/sailsailsailsailfndecodeSomeCStorevvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b111010 @ rs : regno @ cb : regno@ rt : regno @ offset : #\hyperref[zbits]{bits}#(8) @ 0b0 @ 0b11) = #\hyperref[zSome]{Some}#(#\hyperref[zCStore]{CStore}#(rs, cb, rt, 0b00000, offset, D, false)) /* CSD */
diff --git a/cheri/sail_latex/sailsailsailsailfndecodeSomeClearRegsvvv.tex b/cheri/sail_latex/sailsailsailsailfndecodeSomeClearRegsvvv.tex
deleted file mode 100644
index 21776cce..00000000
--- a/cheri/sail_latex/sailsailsailsailfndecodeSomeClearRegsvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b01111 @ 0b00011 @ imm : #\hyperref[zbits]{bits}#(16)) = #\hyperref[zSome]{Some}#(#\hyperref[zClearRegs]{ClearRegs}#(CHi, imm))
diff --git a/cheri/sail_latex/sailsailsailsailfndecodeSomeLoadvvv.tex b/cheri/sail_latex/sailsailsailsailfndecodeSomeLoadvvv.tex
deleted file mode 100644
index e0f61740..00000000
--- a/cheri/sail_latex/sailsailsailsailfndecodeSomeLoadvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b100101 @ base : regno @ rt : regno @ offset : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zLoad]{Load}#(H, false, false, base, rt, offset)) /* LHU */
diff --git a/cheri/sail_latex/sailsailsailsailfndecodeSomeStorevvv.tex b/cheri/sail_latex/sailsailsailsailfndecodeSomeStorevvv.tex
deleted file mode 100644
index 83e6bdf2..00000000
--- a/cheri/sail_latex/sailsailsailsailfndecodeSomeStorevvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b111111 @ base : regno @ rt : regno @ offset : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zStore]{Store}#(D, false, base, rt, offset)) /* SD */
diff --git a/cheri/sail_latex/sailsailsailsailfndecodeSomeTRAPIMMvvv.tex b/cheri/sail_latex/sailsailsailsailfndecodeSomeTRAPIMMvvv.tex
deleted file mode 100644
index 225ae50d..00000000
--- a/cheri/sail_latex/sailsailsailsailfndecodeSomeTRAPIMMvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000001 @ rs : regno @ 0b01001 @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zTRAPIMM]{TRAPIMM}#(rs, imm, GEU)) /* TGEIU */
diff --git a/cheri/sail_latex/sailsailsailsailfndecodeSomeTRAPREGvvv.tex b/cheri/sail_latex/sailsailsailsailfndecodeSomeTRAPREGvvv.tex
deleted file mode 100644
index 4cd33da5..00000000
--- a/cheri/sail_latex/sailsailsailsailfndecodeSomeTRAPREGvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ code : #\hyperref[zbits]{bits}#(10) @ 0b110011) =
- #\hyperref[zSome]{Some}#(#\hyperref[zTRAPREG]{TRAPREG}#(rs, rt, LTU)) /* TLTU */
diff --git a/cheri/sail_latex/sailsailsailsailfndecodeSomevvv.tex b/cheri/sail_latex/sailsailsailsailfndecodeSomevvv.tex
deleted file mode 100644
index 2ef5d08d..00000000
--- a/cheri/sail_latex/sailsailsailsailfndecodeSomevvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010000 @ 0b10000000000000000000 @ 0b001000) = #\hyperref[zSome]{Some}#(#\hyperref[zTLBP]{TLBP}#() : ast)
diff --git a/cheri/sail_latex/sailsailsailsailmodbitsvvv.tex b/cheri/sail_latex/sailsailsailsailmodbitsvvv.tex
deleted file mode 100644
index bde40ee8..00000000
--- a/cheri/sail_latex/sailsailsailsailmodbitsvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_bits = {_get_XContextReg_bits, _set_XContextReg_bits} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailsailsailsailfndecodeSomeBCMPZvvvv.tex b/cheri/sail_latex/sailsailsailsailsailfndecodeSomeBCMPZvvvv.tex
deleted file mode 100644
index cf942540..00000000
--- a/cheri/sail_latex/sailsailsailsailsailfndecodeSomeBCMPZvvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000001 @ rs : regno @ 0b00001 @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zBCMPZ]{BCMPZ}#(rs, imm, GE, false, false)) /* BGEZ */
diff --git a/cheri/sail_latex/sailsailsailsailsailfndecodeSomeCLoadvvvv.tex b/cheri/sail_latex/sailsailsailsailsailfndecodeSomeCLoadvvvv.tex
deleted file mode 100644
index db208247..00000000
--- a/cheri/sail_latex/sailsailsailsailsailfndecodeSomeCLoadvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b110010 @ rd : regno @ cb : regno@ rt : regno @ offset : #\hyperref[zbits]{bits}#(8) @ 0b0 @ 0b10) = #\hyperref[zSome]{Some}#(#\hyperref[zCLoad]{CLoad}#(rd, cb, rt, offset, false, W, false)) /* CLWU */
diff --git a/cheri/sail_latex/sailsailsailsailsailfndecodeSomeCPtrCmpvvvv.tex b/cheri/sail_latex/sailsailsailsailsailfndecodeSomeCPtrCmpvvvv.tex
deleted file mode 100644
index c49c5823..00000000
--- a/cheri/sail_latex/sailsailsailsailsailfndecodeSomeCPtrCmpvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b01110 @ rd : regno @ cb : regno @ ct : regno @ 0b000 @ 0b100) = #\hyperref[zSome]{Some}#(#\hyperref[zCPtrCmp]{CPtrCmp}#(rd, cb, ct, CLTU))
diff --git a/cheri/sail_latex/sailsailsailsailsailfndecodeSomeCStorevvvv.tex b/cheri/sail_latex/sailsailsailsailsailfndecodeSomeCStorevvvv.tex
deleted file mode 100644
index 50b5be16..00000000
--- a/cheri/sail_latex/sailsailsailsailsailfndecodeSomeCStorevvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b10000 @ rs : regno @ cb : regno @ rd : regno @ 0b0000 @ 0b00) = #\hyperref[zSome]{Some}#(#\hyperref[zCStore]{CStore}#(rs, cb, 0b00000, rd, 0b00000000, B, true)) /* CSCB */
diff --git a/cheri/sail_latex/sailsailsailsailsailfndecodeSomeLoadvvvv.tex b/cheri/sail_latex/sailsailsailsailsailfndecodeSomeLoadvvvv.tex
deleted file mode 100644
index 4983e9f0..00000000
--- a/cheri/sail_latex/sailsailsailsailsailfndecodeSomeLoadvvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b100011 @ base : regno @ rt : regno @ offset : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zLoad]{Load}#(W, true, false, base, rt, offset)) /* LW */
diff --git a/cheri/sail_latex/sailsailsailsailsailfndecodeSomeStorevvvv.tex b/cheri/sail_latex/sailsailsailsailsailfndecodeSomeStorevvvv.tex
deleted file mode 100644
index 64711c35..00000000
--- a/cheri/sail_latex/sailsailsailsailsailfndecodeSomeStorevvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b111000 @ base : regno @ rt : regno @ offset : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zStore]{Store}#(W, true, base, rt, offset)) /* SC */
diff --git a/cheri/sail_latex/sailsailsailsailsailfndecodeSomeTRAPIMMvvvv.tex b/cheri/sail_latex/sailsailsailsailsailfndecodeSomeTRAPIMMvvvv.tex
deleted file mode 100644
index 369341e7..00000000
--- a/cheri/sail_latex/sailsailsailsailsailfndecodeSomeTRAPIMMvvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000001 @ rs : regno @ 0b01010 @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zTRAPIMM]{TRAPIMM}#(rs, imm, LT)) /* TLTI */
diff --git a/cheri/sail_latex/sailsailsailsailsailfndecodeSomeTRAPREGvvvv.tex b/cheri/sail_latex/sailsailsailsailsailfndecodeSomeTRAPREGvvvv.tex
deleted file mode 100644
index ac4b2bdb..00000000
--- a/cheri/sail_latex/sailsailsailsailsailfndecodeSomeTRAPREGvvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ code : #\hyperref[zbits]{bits}#(10) @ 0b110100) =
- #\hyperref[zSome]{Some}#(#\hyperref[zTRAPREG]{TRAPREG}#(rs, rt, EQ)) /* TEQ */
diff --git a/cheri/sail_latex/sailsailsailsailsailmodbitsvvvv.tex b/cheri/sail_latex/sailsailsailsailsailmodbitsvvvv.tex
deleted file mode 100644
index 8b2aac3e..00000000
--- a/cheri/sail_latex/sailsailsailsailsailmodbitsvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_bits = {_get_ContextReg_bits, _set_ContextReg_bits} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeBCMPZvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeBCMPZvvvvv.tex
deleted file mode 100644
index 548182a5..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeBCMPZvvvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000001 @ rs : regno @ 0b10001 @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zBCMPZ]{BCMPZ}#(rs, imm, GE, true, false)) /* BGEZAL */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeCLoadvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeCLoadvvvvv.tex
deleted file mode 100644
index 5f29eb1c..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeCLoadvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b110010 @ rd : regno @ cb : regno@ rt : regno @ offset : #\hyperref[zbits]{bits}#(8) @ 0b1 @ 0b10) = #\hyperref[zSome]{Some}#(#\hyperref[zCLoad]{CLoad}#(rd, cb, rt, offset, true, W, false)) /* CLW */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvv.tex
deleted file mode 100644
index 27f6c71c..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b01110 @ rd : regno @ cb : regno @ ct : regno @ 0b000 @ 0b101) = #\hyperref[zSome]{Some}#(#\hyperref[zCPtrCmp]{CPtrCmp}#(rd, cb, ct, CLEU))
diff --git a/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeCStorevvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeCStorevvvvv.tex
deleted file mode 100644
index 3b0a96ff..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeCStorevvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b10000 @ rs : regno @ cb : regno @ rd : regno @ 0b0000 @ 0b01) = #\hyperref[zSome]{Some}#(#\hyperref[zCStore]{CStore}#(rs, cb, 0b00000, rd, 0b00000000, H, true)) /* CSCH */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeLoadvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeLoadvvvvv.tex
deleted file mode 100644
index 6bc11576..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeLoadvvvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b100111 @ base : regno @ rt : regno @ offset : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zLoad]{Load}#(W, false, false, base, rt, offset)) /* LWU */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeStorevvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeStorevvvvv.tex
deleted file mode 100644
index e7f1c376..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeStorevvvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b111100 @ base : regno @ rt : regno @ offset : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zStore]{Store}#(D, true, base, rt, offset)) /* SCD */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeTRAPIMMvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeTRAPIMMvvvvv.tex
deleted file mode 100644
index ee21bf92..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeTRAPIMMvvvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000001 @ rs : regno @ 0b01011 @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zTRAPIMM]{TRAPIMM}#(rs, imm, LTU)) /* TLTIU */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeTRAPREGvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeTRAPREGvvvvv.tex
deleted file mode 100644
index 15cb09f9..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailfndecodeSomeTRAPREGvvvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000000 @ rs : regno @ rt : regno @ code : #\hyperref[zbits]{bits}#(10) @ 0b110110) =
- #\hyperref[zSome]{Some}#(#\hyperref[zTRAPREG]{TRAPREG}#(rs, rt, NE)) /* TNE */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailmodbitsvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailmodbitsvvvvv.tex
deleted file mode 100644
index d52fa2ec..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailmodbitsvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_bits = {_get_TLBEntryHiReg_bits, _set_TLBEntryHiReg_bits} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvv.tex
deleted file mode 100644
index 1cadc33c..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000001 @ rs : regno @ 0b00011 @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zBCMPZ]{BCMPZ}#(rs, imm, GE, false, true)) /* BGEZL */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvv.tex
deleted file mode 100644
index 187c70a2..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b110010 @ rd : regno @ cb : regno@ rt : regno @ offset : #\hyperref[zbits]{bits}#(8) @ 0b0 @ 0b11) = #\hyperref[zSome]{Some}#(#\hyperref[zCLoad]{CLoad}#(rd, cb, rt, offset, false, D, false)) /* CLD */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvv.tex
deleted file mode 100644
index 26c46207..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b01110 @ rd : regno @ cb : regno @ ct : regno @ 0b000 @ 0b110) = #\hyperref[zSome]{Some}#(#\hyperref[zCPtrCmp]{CPtrCmp}#(rd, cb, ct, CEXEQ))
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailfndecodeSomeCStorevvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailfndecodeSomeCStorevvvvvv.tex
deleted file mode 100644
index 1b2921e2..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailfndecodeSomeCStorevvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b10000 @ rs : regno @ cb : regno @ rd : regno @ 0b0000 @ 0b10) = #\hyperref[zSome]{Some}#(#\hyperref[zCStore]{CStore}#(rs, cb, 0b00000, rd, 0b00000000, W, true)) /* CSCW */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailfndecodeSomeLoadvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailfndecodeSomeLoadvvvvvv.tex
deleted file mode 100644
index 1172d6d4..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailfndecodeSomeLoadvvvvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b110111 @ base : regno @ rt : regno @ offset : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zLoad]{Load}#(D, false, false, base, rt, offset)) /* LD */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailmodbitsvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailmodbitsvvvvvv.tex
deleted file mode 100644
index 7ba9e37c..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailmodbitsvvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_bits = {_get_TLBEntryLoReg_bits, _set_TLBEntryLoReg_bits} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvv.tex
deleted file mode 100644
index 36b5eb5c..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000001 @ rs : regno @ 0b10011 @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zBCMPZ]{BCMPZ}#(rs, imm, GE, true, true)) /* BGEZALL */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvv.tex
deleted file mode 100644
index 91fb7205..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b10000 @ rd : regno @ cb : regno @ 0b00000001 @ 0b0 @ 0b00) = #\hyperref[zSome]{Some}#(#\hyperref[zCLoad]{CLoad}#(rd, cb, 0b00000, 0b00000000, false, B, true)) /* CLLBU */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvv.tex
deleted file mode 100644
index 644864c8..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b01110 @ rd : regno @ cb : regno @ ct : regno @ 0b000 @ 0b111) = #\hyperref[zSome]{Some}#(#\hyperref[zCPtrCmp]{CPtrCmp}#(rd, cb, ct, CNEXEQ))
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeCStorevvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeCStorevvvvvvv.tex
deleted file mode 100644
index cd3cbe68..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeCStorevvvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b10000 @ rs : regno @ cb : regno @ rd : regno @ 0b0000 @ 0b11) = #\hyperref[zSome]{Some}#(#\hyperref[zCStore]{CStore}#(rs, cb, 0b00000, rd, 0b00000000, D, true)) /* CSCD */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeLoadvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeLoadvvvvvvv.tex
deleted file mode 100644
index 61af3203..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailfndecodeSomeLoadvvvvvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b110000 @ base : regno @ rt : regno @ offset : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zLoad]{Load}#(W, true, true, base, rt, offset)) /* LL */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailmodbitsvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailmodbitsvvvvvvv.tex
deleted file mode 100644
index b9059538..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailmodbitsvvvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload _mod_bits = {_get_CauseReg_bits, _set_CauseReg_bits} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvv.tex
deleted file mode 100644
index 71d4e6a5..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000111 @ rs : regno @ 0b00000 @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zBCMPZ]{BCMPZ}#(rs, imm, GT, false, false)) /* BGTZ */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvv.tex
deleted file mode 100644
index 4b5608e4..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b10000 @ rd : regno @ cb : regno @ 0b00000001 @ 0b1 @ 0b00) = #\hyperref[zSome]{Some}#(#\hyperref[zCLoad]{CLoad}#(rd, cb, 0b00000, 0b00000000, true, B, true)) /* CLLB */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvv.tex
deleted file mode 100644
index 5649673e..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ cs : regno @ 0b010100) = #\hyperref[zSome]{Some}#(#\hyperref[zCPtrCmp]{CPtrCmp}#(rd, cb, cs, CEQ))
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailfndecodeSomeLoadvvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailsailfndecodeSomeLoadvvvvvvvv.tex
deleted file mode 100644
index 99da4355..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailfndecodeSomeLoadvvvvvvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b110100 @ base : regno @ rt : regno @ offset : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zLoad]{Load}#(D, false, true, base, rt, offset)) /* LLD */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvvv.tex
deleted file mode 100644
index 53bc8683..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010111 @ rs : regno @ 0b00000 @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zBCMPZ]{BCMPZ}#(rs, imm, GT, false, true)) /* BGTZL */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvv.tex
deleted file mode 100644
index fde00667..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b10000 @ rd : regno @ cb : regno @ 0b00000001 @ 0b0 @ 0b01) = #\hyperref[zSome]{Some}#(#\hyperref[zCLoad]{CLoad}#(rd, cb, 0b00000, 0b00000000, false, H, true)) /* CLLHU */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvv.tex
deleted file mode 100644
index a6a71fee..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ cs : regno @ 0b010101) = #\hyperref[zSome]{Some}#(#\hyperref[zCPtrCmp]{CPtrCmp}#(rd, cb, cs, CNE))
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvvvv.tex
deleted file mode 100644
index 1718e9a8..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b000110 @ rs : regno @ 0b00000 @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zBCMPZ]{BCMPZ}#(rs, imm, LE, false, false)) /* BLEZ */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvv.tex
deleted file mode 100644
index 72c5c950..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b10000 @ rd : regno @ cb : regno @ 0b00000001 @ 0b1 @ 0b01) = #\hyperref[zSome]{Some}#(#\hyperref[zCLoad]{CLoad}#(rd, cb, 0b00000, 0b00000000, true, H, true)) /* CLLH */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvv.tex
deleted file mode 100644
index 0346ca8c..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ cs : regno @ 0b010110) = #\hyperref[zSome]{Some}#(#\hyperref[zCPtrCmp]{CPtrCmp}#(rd, cb, cs, CLT))
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvvvvv.tex
deleted file mode 100644
index f0772815..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeBCMPZvvvvvvvvvvv.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010110 @ rs : regno @ 0b00000 @ imm : imm16) =
- #\hyperref[zSome]{Some}#(#\hyperref[zBCMPZ]{BCMPZ}#(rs, imm, LE, false, true)) /* BLEZL */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvvv.tex
deleted file mode 100644
index 3378b72a..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b10000 @ rd : regno @ cb : regno @ 0b00000001 @ 0b0 @ 0b10) = #\hyperref[zSome]{Some}#(#\hyperref[zCLoad]{CLoad}#(rd, cb, 0b00000, 0b00000000, false, W, true)) /* CLLWU */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvv.tex
deleted file mode 100644
index 133bc7e4..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ cs : regno @ 0b010111) = #\hyperref[zSome]{Some}#(#\hyperref[zCPtrCmp]{CPtrCmp}#(rd, cb, cs, CLE))
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvvvv.tex
deleted file mode 100644
index c9a4c20e..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b10000 @ rd : regno @ cb : regno @ 0b00000001 @ 0b1 @ 0b10) = #\hyperref[zSome]{Some}#(#\hyperref[zCLoad]{CLoad}#(rd, cb, 0b00000, 0b00000000, true, W, true)) /* CLLW */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvv.tex
deleted file mode 100644
index 0b8afa50..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ cs : regno @ 0b011000) = #\hyperref[zSome]{Some}#(#\hyperref[zCPtrCmp]{CPtrCmp}#(rd, cb, cs, CLTU))
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvvvvv.tex
deleted file mode 100644
index 791243c3..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCLoadvvvvvvvvvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b10000 @ rd : regno @ cb : regno @ 0b00000001 @ 0b0 @ 0b11) = #\hyperref[zSome]{Some}#(#\hyperref[zCLoad]{CLoad}#(rd, cb, 0b00000, 0b00000000, false, D, true)) /* CLLD */
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvvv.tex
deleted file mode 100644
index f37b5e5a..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ cs : regno @ 0b011001) = #\hyperref[zSome]{Some}#(#\hyperref[zCPtrCmp]{CPtrCmp}#(rd, cb, cs, CLEU))
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvvvv.tex
deleted file mode 100644
index 709a6f6d..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ cs : regno @ 0b011010) = #\hyperref[zSome]{Some}#(#\hyperref[zCPtrCmp]{CPtrCmp}#(rd, cb, cs, CEXEQ))
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvvvvv.tex
deleted file mode 100644
index ae2792ce..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailsailsailsailsailsailsailsailsailfndecodeSomeCPtrCmpvvvvvvvvvvvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-function clause #\hyperref[zdecode]{decode}# (0b010010 @ 0b00000 @ rd : regno @ cb : regno @ cs : regno @ 0b100001) = #\hyperref[zSome]{Some}#(#\hyperref[zCPtrCmp]{CPtrCmp}#(rd, cb, cs, CNEXEQ))
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailsailupdatebitsvvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailsailupdatebitsvvvvvvv.tex
deleted file mode 100644
index 1be74427..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailsailupdatebitsvvvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_bits = {_update_CauseReg_bits} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailsailsailsailsailsailupdatebitsvvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailsailupdatebitsvvvvvv.tex
deleted file mode 100644
index 60c5e7a6..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailsailupdatebitsvvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_bits = {_update_TLBEntryLoReg_bits} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailsailsailsailsailupdatebitsvvvvv.tex b/cheri/sail_latex/sailsailsailsailsailsailupdatebitsvvvvv.tex
deleted file mode 100644
index efc2c5b0..00000000
--- a/cheri/sail_latex/sailsailsailsailsailsailupdatebitsvvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_bits = {_update_TLBEntryHiReg_bits} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailsailsailsailupdatebitsvvvv.tex b/cheri/sail_latex/sailsailsailsailsailupdatebitsvvvv.tex
deleted file mode 100644
index c4d81402..00000000
--- a/cheri/sail_latex/sailsailsailsailsailupdatebitsvvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_bits = {_update_ContextReg_bits} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailsailsailupdatebitsvvv.tex b/cheri/sail_latex/sailsailsailsailupdatebitsvvv.tex
deleted file mode 100644
index 28ee31f9..00000000
--- a/cheri/sail_latex/sailsailsailsailupdatebitsvvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_bits = {_update_XContextReg_bits} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailsailsailzeightoperatorzzerozJzJzninevvv.tex b/cheri/sail_latex/sailsailsailsailzeightoperatorzzerozJzJzninevvv.tex
deleted file mode 100644
index 0f72fdc9..00000000
--- a/cheri/sail_latex/sailsailsailsailzeightoperatorzzerozJzJzninevvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator ==) = {eq_bit2} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailsailupdatebitsvv.tex b/cheri/sail_latex/sailsailsailupdatebitsvv.tex
deleted file mode 100644
index 64d81afd..00000000
--- a/cheri/sail_latex/sailsailsailupdatebitsvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_bits = {_update_TLBEntry_bits} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailsailzeightoperatorzzerozBzninevv.tex b/cheri/sail_latex/sailsailsailzeightoperatorzzerozBzninevv.tex
deleted file mode 100644
index eacd556c..00000000
--- a/cheri/sail_latex/sailsailsailzeightoperatorzzerozBzninevv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator +) = {add_atom, add_int} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailsailzeightoperatorzzerozFzninevv.tex b/cheri/sail_latex/sailsailsailzeightoperatorzzerozFzninevv.tex
deleted file mode 100644
index 73c40722..00000000
--- a/cheri/sail_latex/sailsailsailzeightoperatorzzerozFzninevv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator /) = {div} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailsailzeightoperatorzzerozJzJzninevv.tex b/cheri/sail_latex/sailsailsailzeightoperatorzzerozJzJzninevv.tex
deleted file mode 100644
index 47b1d0f6..00000000
--- a/cheri/sail_latex/sailsailsailzeightoperatorzzerozJzJzninevv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator ==) = {eq_atom, eq_range, eq_int, eq_bool} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailsailzeightoperatorzzerozfivezninevv.tex b/cheri/sail_latex/sailsailsailzeightoperatorzzerozfivezninevv.tex
deleted file mode 100644
index 552e0c24..00000000
--- a/cheri/sail_latex/sailsailsailzeightoperatorzzerozfivezninevv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator %) = {mod} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailsignextend.tex b/cheri/sail_latex/sailsailsignextend.tex
deleted file mode 100644
index dfaa5c86..00000000
--- a/cheri/sail_latex/sailsailsignextend.tex
+++ /dev/null
@@ -1 +0,0 @@
-val sail_sign_extend = "sign_extend" : forall 'n 'm, 'm >= 'n. (#\hyperref[zbits]{bits}#('n), atom('m)) -> #\hyperref[zbits]{bits}#('m)
diff --git a/cheri/sail_latex/sailsailupdateASIDv.tex b/cheri/sail_latex/sailsailupdateASIDv.tex
deleted file mode 100644
index f415980a..00000000
--- a/cheri/sail_latex/sailsailupdateASIDv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_ASID = {_update_TLBEntryHiReg_ASID} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailupdateExcCodev.tex b/cheri/sail_latex/sailsailupdateExcCodev.tex
deleted file mode 100644
index 041de51c..00000000
--- a/cheri/sail_latex/sailsailupdateExcCodev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_ExcCode = {_update_CauseReg_ExcCode} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailupdateGv.tex b/cheri/sail_latex/sailsailupdateGv.tex
deleted file mode 100644
index 23f7bf3c..00000000
--- a/cheri/sail_latex/sailsailupdateGv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_G = {_update_TLBEntryLoReg_G} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailupdateRv.tex b/cheri/sail_latex/sailsailupdateRv.tex
deleted file mode 100644
index 03a3a143..00000000
--- a/cheri/sail_latex/sailsailupdateRv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_R = {_update_TLBEntryHiReg_R} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailupdateVPNtwov.tex b/cheri/sail_latex/sailsailupdateVPNtwov.tex
deleted file mode 100644
index e2b42a9a..00000000
--- a/cheri/sail_latex/sailsailupdateVPNtwov.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_VPN2 = {_update_TLBEntryHiReg_VPN2} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailupdatebitsv.tex b/cheri/sail_latex/sailsailupdatebitsv.tex
deleted file mode 100644
index cc90c98a..00000000
--- a/cheri/sail_latex/sailsailupdatebitsv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_bits = {_update_StatusReg_bits} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailzeightoperatorzzerozAzninev.tex b/cheri/sail_latex/sailsailzeightoperatorzzerozAzninev.tex
deleted file mode 100644
index afe7a721..00000000
--- a/cheri/sail_latex/sailsailzeightoperatorzzerozAzninev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator *) = {mult_atom, mult_int} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailzeightoperatorzzerozBzninev.tex b/cheri/sail_latex/sailsailzeightoperatorzzerozBzninev.tex
deleted file mode 100644
index ddc56bfd..00000000
--- a/cheri/sail_latex/sailsailzeightoperatorzzerozBzninev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator +) = {add_bits, add_bits_int} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailzeightoperatorzzerozDzninev.tex b/cheri/sail_latex/sailsailzeightoperatorzzerozDzninev.tex
deleted file mode 100644
index 5d12fdf1..00000000
--- a/cheri/sail_latex/sailsailzeightoperatorzzerozDzninev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator -) = {sub_atom, sub_int} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailzeightoperatorzzerozFzninev.tex b/cheri/sail_latex/sailsailzeightoperatorzzerozFzninev.tex
deleted file mode 100644
index 38e9124b..00000000
--- a/cheri/sail_latex/sailsailzeightoperatorzzerozFzninev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator /) = {div_int} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailzeightoperatorzzerozJzJzninev.tex b/cheri/sail_latex/sailsailzeightoperatorzzerozJzJzninev.tex
deleted file mode 100644
index 1314a962..00000000
--- a/cheri/sail_latex/sailsailzeightoperatorzzerozJzJzninev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator ==) = {eq_bit, eq_bits} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailzeightoperatorzzerozQzninev.tex b/cheri/sail_latex/sailsailzeightoperatorzzerozQzninev.tex
deleted file mode 100644
index 05769645..00000000
--- a/cheri/sail_latex/sailsailzeightoperatorzzerozQzninev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator ^) = {sail_mask} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailzeightoperatorzzerozUzninev.tex b/cheri/sail_latex/sailsailzeightoperatorzzerozUzninev.tex
deleted file mode 100644
index 1ebacbc4..00000000
--- a/cheri/sail_latex/sailsailzeightoperatorzzerozUzninev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator |) = {or_bool} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailzeightoperatorzzerozfivezninev.tex b/cheri/sail_latex/sailsailzeightoperatorzzerozfivezninev.tex
deleted file mode 100644
index 14fa73b8..00000000
--- a/cheri/sail_latex/sailsailzeightoperatorzzerozfivezninev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator %) = {mod_int} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailzeightoperatorzzerozonezJzninev.tex b/cheri/sail_latex/sailsailzeightoperatorzzerozonezJzninev.tex
deleted file mode 100644
index 527cf596..00000000
--- a/cheri/sail_latex/sailsailzeightoperatorzzerozonezJzninev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator !=) = {neq_atom, neq_range, neq_int, neq_bool} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailzeightoperatorzzerozsixzninev.tex b/cheri/sail_latex/sailsailzeightoperatorzzerozsixzninev.tex
deleted file mode 100644
index be6f29ef..00000000
--- a/cheri/sail_latex/sailsailzeightoperatorzzerozsixzninev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator &) = {and_bool} \ No newline at end of file
diff --git a/cheri/sail_latex/sailsailzzeroextend.tex b/cheri/sail_latex/sailsailzzeroextend.tex
deleted file mode 100644
index 53f6fff9..00000000
--- a/cheri/sail_latex/sailsailzzeroextend.tex
+++ /dev/null
@@ -1 +0,0 @@
-val sail_zero_extend = "zero_extend" : forall 'n 'm, 'm >= 'n. (#\hyperref[zbits]{bits}#('n), atom('m)) -> #\hyperref[zbits]{bits}#('m)
diff --git a/cheri/sail_latex/sailsailzzeros.tex b/cheri/sail_latex/sailsailzzeros.tex
deleted file mode 100644
index 9c60aa12..00000000
--- a/cheri/sail_latex/sailsailzzeros.tex
+++ /dev/null
@@ -1 +0,0 @@
-val sail_zeros = "zeros" : forall 'n. atom('n) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latex/sailsealCap.tex b/cheri/sail_latex/sailsealCap.tex
deleted file mode 100644
index 891ae279..00000000
--- a/cheri/sail_latex/sailsealCap.tex
+++ /dev/null
@@ -1 +0,0 @@
-val sealCap : (CapStruct, bits(24)) -> (bool, CapStruct)
diff --git a/cheri/sail_latex/sailsetCapBounds.tex b/cheri/sail_latex/sailsetCapBounds.tex
deleted file mode 100644
index 6984ccf1..00000000
--- a/cheri/sail_latex/sailsetCapBounds.tex
+++ /dev/null
@@ -1 +0,0 @@
-val setCapBounds : (CapStruct, #\hyperref[zbits]{bits}#(64), #\hyperref[zbits]{bits}#(65)) -> (bool, CapStruct)
diff --git a/cheri/sail_latex/sailsetCapCauseRegExcCode.tex b/cheri/sail_latex/sailsetCapCauseRegExcCode.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetCapCauseRegExcCode.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetCapCauseRegRegNum.tex b/cheri/sail_latex/sailsetCapCauseRegRegNum.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetCapCauseRegRegNum.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetCapCauseRegbits.tex b/cheri/sail_latex/sailsetCapCauseRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetCapCauseRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetCapOffset.tex b/cheri/sail_latex/sailsetCapOffset.tex
deleted file mode 100644
index d2fca67a..00000000
--- a/cheri/sail_latex/sailsetCapOffset.tex
+++ /dev/null
@@ -1 +0,0 @@
-val setCapOffset : (CapStruct, #\hyperref[zbits]{bits}#(64)) -> (bool, CapStruct)
diff --git a/cheri/sail_latex/sailsetCapPerms.tex b/cheri/sail_latex/sailsetCapPerms.tex
deleted file mode 100644
index 617f19fb..00000000
--- a/cheri/sail_latex/sailsetCapPerms.tex
+++ /dev/null
@@ -1 +0,0 @@
-val setCapPerms : (CapStruct, bits(31)) -> CapStruct
diff --git a/cheri/sail_latex/sailsetCauseRegBD.tex b/cheri/sail_latex/sailsetCauseRegBD.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetCauseRegBD.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetCauseRegCE.tex b/cheri/sail_latex/sailsetCauseRegCE.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetCauseRegCE.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetCauseRegExcCode.tex b/cheri/sail_latex/sailsetCauseRegExcCode.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetCauseRegExcCode.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetCauseRegIP.tex b/cheri/sail_latex/sailsetCauseRegIP.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetCauseRegIP.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetCauseRegIV.tex b/cheri/sail_latex/sailsetCauseRegIV.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetCauseRegIV.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetCauseRegWP.tex b/cheri/sail_latex/sailsetCauseRegWP.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetCauseRegWP.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetCauseRegbits.tex b/cheri/sail_latex/sailsetCauseRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetCauseRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetContextRegBadVPNtwo.tex b/cheri/sail_latex/sailsetContextRegBadVPNtwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetContextRegBadVPNtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetContextRegPTEBase.tex b/cheri/sail_latex/sailsetContextRegPTEBase.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetContextRegPTEBase.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetContextRegbits.tex b/cheri/sail_latex/sailsetContextRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetContextRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetStatusRegBEV.tex b/cheri/sail_latex/sailsetStatusRegBEV.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetStatusRegBEV.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetStatusRegCU.tex b/cheri/sail_latex/sailsetStatusRegCU.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetStatusRegCU.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetStatusRegERL.tex b/cheri/sail_latex/sailsetStatusRegERL.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetStatusRegERL.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetStatusRegEXL.tex b/cheri/sail_latex/sailsetStatusRegEXL.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetStatusRegEXL.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetStatusRegIE.tex b/cheri/sail_latex/sailsetStatusRegIE.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetStatusRegIE.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetStatusRegIM.tex b/cheri/sail_latex/sailsetStatusRegIM.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetStatusRegIM.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetStatusRegKSU.tex b/cheri/sail_latex/sailsetStatusRegKSU.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetStatusRegKSU.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetStatusRegKX.tex b/cheri/sail_latex/sailsetStatusRegKX.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetStatusRegKX.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetStatusRegSX.tex b/cheri/sail_latex/sailsetStatusRegSX.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetStatusRegSX.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetStatusRegUX.tex b/cheri/sail_latex/sailsetStatusRegUX.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetStatusRegUX.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetStatusRegbits.tex b/cheri/sail_latex/sailsetStatusRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetStatusRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntryHiRegASID.tex b/cheri/sail_latex/sailsetTLBEntryHiRegASID.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntryHiRegASID.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntryHiRegR.tex b/cheri/sail_latex/sailsetTLBEntryHiRegR.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntryHiRegR.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntryHiRegVPNtwo.tex b/cheri/sail_latex/sailsetTLBEntryHiRegVPNtwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntryHiRegVPNtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntryHiRegbits.tex b/cheri/sail_latex/sailsetTLBEntryHiRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntryHiRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntryLoRegC.tex b/cheri/sail_latex/sailsetTLBEntryLoRegC.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntryLoRegC.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntryLoRegCapL.tex b/cheri/sail_latex/sailsetTLBEntryLoRegCapL.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntryLoRegCapL.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntryLoRegCapS.tex b/cheri/sail_latex/sailsetTLBEntryLoRegCapS.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntryLoRegCapS.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntryLoRegD.tex b/cheri/sail_latex/sailsetTLBEntryLoRegD.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntryLoRegD.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntryLoRegG.tex b/cheri/sail_latex/sailsetTLBEntryLoRegG.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntryLoRegG.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntryLoRegPFN.tex b/cheri/sail_latex/sailsetTLBEntryLoRegPFN.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntryLoRegPFN.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntryLoRegV.tex b/cheri/sail_latex/sailsetTLBEntryLoRegV.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntryLoRegV.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntryLoRegbits.tex b/cheri/sail_latex/sailsetTLBEntryLoRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntryLoRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntryasid.tex b/cheri/sail_latex/sailsetTLBEntryasid.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntryasid.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntrybits.tex b/cheri/sail_latex/sailsetTLBEntrybits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntrybits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntrycaplone.tex b/cheri/sail_latex/sailsetTLBEntrycaplone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntrycaplone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntrycaplzero.tex b/cheri/sail_latex/sailsetTLBEntrycaplzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntrycaplzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntrycapsone.tex b/cheri/sail_latex/sailsetTLBEntrycapsone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntrycapsone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntrycapszero.tex b/cheri/sail_latex/sailsetTLBEntrycapszero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntrycapszero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntrycone.tex b/cheri/sail_latex/sailsetTLBEntrycone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntrycone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntryczero.tex b/cheri/sail_latex/sailsetTLBEntryczero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntryczero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntrydone.tex b/cheri/sail_latex/sailsetTLBEntrydone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntrydone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntrydzero.tex b/cheri/sail_latex/sailsetTLBEntrydzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntrydzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntryg.tex b/cheri/sail_latex/sailsetTLBEntryg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntryg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntrypagemask.tex b/cheri/sail_latex/sailsetTLBEntrypagemask.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntrypagemask.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntrypfnone.tex b/cheri/sail_latex/sailsetTLBEntrypfnone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntrypfnone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntrypfnzero.tex b/cheri/sail_latex/sailsetTLBEntrypfnzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntrypfnzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntryr.tex b/cheri/sail_latex/sailsetTLBEntryr.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntryr.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntryvalid.tex b/cheri/sail_latex/sailsetTLBEntryvalid.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntryvalid.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntryvone.tex b/cheri/sail_latex/sailsetTLBEntryvone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntryvone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntryvpntwo.tex b/cheri/sail_latex/sailsetTLBEntryvpntwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntryvpntwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetTLBEntryvzero.tex b/cheri/sail_latex/sailsetTLBEntryvzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetTLBEntryvzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetXContextRegXBadVPNtwo.tex b/cheri/sail_latex/sailsetXContextRegXBadVPNtwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetXContextRegXBadVPNtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetXContextRegXPTEBase.tex b/cheri/sail_latex/sailsetXContextRegXPTEBase.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetXContextRegXPTEBase.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetXContextRegXR.tex b/cheri/sail_latex/sailsetXContextRegXR.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetXContextRegXR.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetXContextRegbits.tex b/cheri/sail_latex/sailsetXContextRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailsetXContextRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailsetslicebits.tex b/cheri/sail_latex/sailsetslicebits.tex
deleted file mode 100644
index 8a81bff5..00000000
--- a/cheri/sail_latex/sailsetslicebits.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val set_slice_bits = "set_slice" : forall 'n 'm.
- (atom('n), atom('m), #\hyperref[zbits]{bits}#('n), int, #\hyperref[zbits]{bits}#('m)) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latex/sailsetsliceint.tex b/cheri/sail_latex/sailsetsliceint.tex
deleted file mode 100644
index 413bf721..00000000
--- a/cheri/sail_latex/sailsetsliceint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val set_slice_int = "set_slice_int" : forall 'w. (atom('w), int, int, #\hyperref[zbits]{bits}#('w)) -> int
diff --git a/cheri/sail_latex/sailshiftbitsleft.tex b/cheri/sail_latex/sailshiftbitsleft.tex
deleted file mode 100644
index cdb2eb6a..00000000
--- a/cheri/sail_latex/sailshiftbitsleft.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "shift_bits_left" : forall 'n 'm. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('m)) -> #\hyperref[zbits]{bits}#('n) effect {undef}
diff --git a/cheri/sail_latex/sailshiftbitsright.tex b/cheri/sail_latex/sailshiftbitsright.tex
deleted file mode 100644
index dbc72b11..00000000
--- a/cheri/sail_latex/sailshiftbitsright.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "shift_bits_right" : forall 'n 'm. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('m)) -> #\hyperref[zbits]{bits}#('n) effect {undef}
diff --git a/cheri/sail_latex/sailshiftl.tex b/cheri/sail_latex/sailshiftl.tex
deleted file mode 100644
index b2c54c27..00000000
--- a/cheri/sail_latex/sailshiftl.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "shiftl" : forall 'm 'n, 'n >= 0. (#\hyperref[zbits]{bits}#('m), atom('n)) -> #\hyperref[zbits]{bits}#('m)
diff --git a/cheri/sail_latex/sailshiftr.tex b/cheri/sail_latex/sailshiftr.tex
deleted file mode 100644
index f282dcbe..00000000
--- a/cheri/sail_latex/sailshiftr.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "shiftr" : forall 'm 'n, 'n >= 0. (#\hyperref[zbits]{bits}#('m), atom('n)) -> #\hyperref[zbits]{bits}#('m)
diff --git a/cheri/sail_latex/sailshlint.tex b/cheri/sail_latex/sailshlint.tex
deleted file mode 100644
index 8ffbcf6c..00000000
--- a/cheri/sail_latex/sailshlint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val shl_int = "shl_int" : (int, int) -> int
diff --git a/cheri/sail_latex/sailshrint.tex b/cheri/sail_latex/sailshrint.tex
deleted file mode 100644
index 087c17bb..00000000
--- a/cheri/sail_latex/sailshrint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val shr_int = "shr_int" : (int, int) -> int
diff --git a/cheri/sail_latex/sailsigned.tex b/cheri/sail_latex/sailsigned.tex
deleted file mode 100644
index dcdc3049..00000000
--- a/cheri/sail_latex/sailsigned.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-val signed = {
- c: "sail_signed",
- _: "sint"
-} : forall 'n, 'n > 0. #\hyperref[zbits]{bits}#('n) -> range(- (2 ^ ('n - 1)), 2 ^ ('n - 1) - 1)
diff --git a/cheri/sail_latex/sailsignextend.tex b/cheri/sail_latex/sailsignextend.tex
deleted file mode 100644
index 03f56369..00000000
--- a/cheri/sail_latex/sailsignextend.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload sign_extend = {mips_sign_extend} \ No newline at end of file
diff --git a/cheri/sail_latex/sailskipbarr.tex b/cheri/sail_latex/sailskipbarr.tex
deleted file mode 100644
index 52a6bedd..00000000
--- a/cheri/sail_latex/sailskipbarr.tex
+++ /dev/null
@@ -1 +0,0 @@
-val skip_barr = "skip" : unit -> unit effect {barr}
diff --git a/cheri/sail_latex/sailskipeamem.tex b/cheri/sail_latex/sailskipeamem.tex
deleted file mode 100644
index b6199f85..00000000
--- a/cheri/sail_latex/sailskipeamem.tex
+++ /dev/null
@@ -1 +0,0 @@
-val skip_eamem = "skip" : unit -> unit effect {eamem}
diff --git a/cheri/sail_latex/sailskipescape.tex b/cheri/sail_latex/sailskipescape.tex
deleted file mode 100644
index 413b5c1f..00000000
--- a/cheri/sail_latex/sailskipescape.tex
+++ /dev/null
@@ -1 +0,0 @@
-val skip_escape = "skip" : unit -> unit effect {escape}
diff --git a/cheri/sail_latex/sailskiprmemt.tex b/cheri/sail_latex/sailskiprmemt.tex
deleted file mode 100644
index 97c88af4..00000000
--- a/cheri/sail_latex/sailskiprmemt.tex
+++ /dev/null
@@ -1 +0,0 @@
-val skip_rmemt = "skip" : unit -> unit effect {rmemt}
diff --git a/cheri/sail_latex/sailskiprreg.tex b/cheri/sail_latex/sailskiprreg.tex
deleted file mode 100644
index 08804f54..00000000
--- a/cheri/sail_latex/sailskiprreg.tex
+++ /dev/null
@@ -1 +0,0 @@
-val skip_rreg = "skip" : unit -> unit effect {rreg}
diff --git a/cheri/sail_latex/sailskipwmvt.tex b/cheri/sail_latex/sailskipwmvt.tex
deleted file mode 100644
index 8f991c20..00000000
--- a/cheri/sail_latex/sailskipwmvt.tex
+++ /dev/null
@@ -1 +0,0 @@
-val skip_wmvt = "skip" : unit -> unit effect {wmvt}
diff --git a/cheri/sail_latex/sailskipwreg.tex b/cheri/sail_latex/sailskipwreg.tex
deleted file mode 100644
index e79f7c10..00000000
--- a/cheri/sail_latex/sailskipwreg.tex
+++ /dev/null
@@ -1 +0,0 @@
-val skip_wreg = "skip" : unit -> unit effect {wreg}
diff --git a/cheri/sail_latex/sailslice.tex b/cheri/sail_latex/sailslice.tex
deleted file mode 100644
index b9bb5a70..00000000
--- a/cheri/sail_latex/sailslice.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val slice = "slice" : forall 'n 'm 'o, 0 <= 'o < 'm & 'o + 'n <= 'm & 0 <= 'n.
- (#\hyperref[zbits]{bits}#('m), atom('o), atom('n)) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latex/sailstringofint.tex b/cheri/sail_latex/sailstringofint.tex
deleted file mode 100644
index 05edaa20..00000000
--- a/cheri/sail_latex/sailstringofint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val string_of_int = "string_of_int" : int -> string
diff --git a/cheri/sail_latex/sailsubatom.tex b/cheri/sail_latex/sailsubatom.tex
deleted file mode 100644
index 437e2d4c..00000000
--- a/cheri/sail_latex/sailsubatom.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val sub_atom = {ocaml: "sub_int", lem: "integerMinus", c: "sub_int", coq: "Z.sub"} : forall 'n 'm.
- (atom('n), atom('m)) -> atom('n - 'm)
diff --git a/cheri/sail_latex/sailsubint.tex b/cheri/sail_latex/sailsubint.tex
deleted file mode 100644
index 11fdf922..00000000
--- a/cheri/sail_latex/sailsubint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val sub_int = {ocaml: "sub_int", lem: "integerMinus", c: "sub_int", coq: "Z.sub"} : (int, int) -> int
diff --git a/cheri/sail_latex/sailsubrange.tex b/cheri/sail_latex/sailsubrange.tex
deleted file mode 100644
index 2aad56b6..00000000
--- a/cheri/sail_latex/sailsubrange.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val sub_range = {ocaml: "sub_int", lem: "integerMinus", coq: "sub_range"} : forall 'n 'm 'o 'p.
- (range('n, 'm), range('o, 'p)) -> range('n - 'p, 'm - 'o)
diff --git a/cheri/sail_latex/sailsubvec.tex b/cheri/sail_latex/sailsubvec.tex
deleted file mode 100644
index b92f07a4..00000000
--- a/cheri/sail_latex/sailsubvec.tex
+++ /dev/null
@@ -1 +0,0 @@
-val sub_vec = {c : "sub_bits", _:"sub_vec"} : forall 'n. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latex/sailsubvecint.tex b/cheri/sail_latex/sailsubvecint.tex
deleted file mode 100644
index 70bf667e..00000000
--- a/cheri/sail_latex/sailsubvecint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val sub_vec_int = {c:"sub_bits_int", _: "sub_vec_int"} : forall 'n. (#\hyperref[zbits]{bits}#('n), int) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latex/sailsupportedinstructions.tex b/cheri/sail_latex/sailsupportedinstructions.tex
deleted file mode 100644
index 489c178d..00000000
--- a/cheri/sail_latex/sailsupportedinstructions.tex
+++ /dev/null
@@ -1 +0,0 @@
-val supported_instructions : ast -> #\hyperref[zoption]{option}#(ast)
diff --git a/cheri/sail_latex/sailtlbEntryMatch.tex b/cheri/sail_latex/sailtlbEntryMatch.tex
deleted file mode 100644
index c8461b89..00000000
--- a/cheri/sail_latex/sailtlbEntryMatch.tex
+++ /dev/null
@@ -1 +0,0 @@
-val tlbEntryMatch : (#\hyperref[zbits]{bits}#(2), #\hyperref[zbits]{bits}#(27), #\hyperref[zbits]{bits}#(8), TLBEntry) -> bool effect pure
diff --git a/cheri/sail_latex/sailtlbSearch.tex b/cheri/sail_latex/sailtlbSearch.tex
deleted file mode 100644
index 4e391617..00000000
--- a/cheri/sail_latex/sailtlbSearch.tex
+++ /dev/null
@@ -1 +0,0 @@
-val tlbSearch : #\hyperref[zbits]{bits}#(64) -> #\hyperref[zoption]{option}#(TLBIndexT) effect {rreg}
diff --git a/cheri/sail_latex/sailtobits.tex b/cheri/sail_latex/sailtobits.tex
deleted file mode 100644
index 9dd3c655..00000000
--- a/cheri/sail_latex/sailtobits.tex
+++ /dev/null
@@ -1 +0,0 @@
-val to_bits : forall 'l, 'l >= 0 .(atom('l), int) -> #\hyperref[zbits]{bits}#('l)
diff --git a/cheri/sail_latex/sailtruncate.tex b/cheri/sail_latex/sailtruncate.tex
deleted file mode 100644
index 5f7760f3..00000000
--- a/cheri/sail_latex/sailtruncate.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-val truncate = {
- ocaml: "vector_truncate",
- lem: "vector_truncate",
- coq: "vector_truncate",
- c: "sail_truncate"
-} : forall 'm 'n, 'm >= 0 & 'm <= 'n. (vector('n, dec, bit), atom('m)) -> vector('m, dec, bit)
diff --git a/cheri/sail_latex/sailuintsixfour.tex b/cheri/sail_latex/sailuintsixfour.tex
deleted file mode 100644
index a0d52c8f..00000000
--- a/cheri/sail_latex/sailuintsixfour.tex
+++ /dev/null
@@ -1 +0,0 @@
-type uint64 = range(0, (2 ^ 64) - 1)
diff --git a/cheri/sail_latex/sailunsigned.tex b/cheri/sail_latex/sailunsigned.tex
deleted file mode 100644
index 47867039..00000000
--- a/cheri/sail_latex/sailunsigned.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-val unsigned = {
- ocaml: "uint",
- lem: "uint",
- interpreter: "uint",
- c: "sail_unsigned",
- coq: "uint"
-} : forall 'n. #\hyperref[zbits]{bits}#('n) -> range(0, 2 ^ 'n - 1)
diff --git a/cheri/sail_latex/sailupdateBD.tex b/cheri/sail_latex/sailupdateBD.tex
deleted file mode 100644
index db94f260..00000000
--- a/cheri/sail_latex/sailupdateBD.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_BD = {_update_CauseReg_BD} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateBEV.tex b/cheri/sail_latex/sailupdateBEV.tex
deleted file mode 100644
index e45f5c7d..00000000
--- a/cheri/sail_latex/sailupdateBEV.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_BEV = {_update_StatusReg_BEV} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateBadVPNtwo.tex b/cheri/sail_latex/sailupdateBadVPNtwo.tex
deleted file mode 100644
index 7b9f2827..00000000
--- a/cheri/sail_latex/sailupdateBadVPNtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_BadVPN2 = {_update_ContextReg_BadVPN2} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateC.tex b/cheri/sail_latex/sailupdateC.tex
deleted file mode 100644
index 4e4756e3..00000000
--- a/cheri/sail_latex/sailupdateC.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_C = {_update_TLBEntryLoReg_C} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateCE.tex b/cheri/sail_latex/sailupdateCE.tex
deleted file mode 100644
index 12be67a2..00000000
--- a/cheri/sail_latex/sailupdateCE.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_CE = {_update_CauseReg_CE} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateCU.tex b/cheri/sail_latex/sailupdateCU.tex
deleted file mode 100644
index fcc82986..00000000
--- a/cheri/sail_latex/sailupdateCU.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_CU = {_update_StatusReg_CU} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateCapCauseRegExcCode.tex b/cheri/sail_latex/sailupdateCapCauseRegExcCode.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateCapCauseRegExcCode.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateCapCauseRegRegNum.tex b/cheri/sail_latex/sailupdateCapCauseRegRegNum.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateCapCauseRegRegNum.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateCapCauseRegbits.tex b/cheri/sail_latex/sailupdateCapCauseRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateCapCauseRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateCapL.tex b/cheri/sail_latex/sailupdateCapL.tex
deleted file mode 100644
index 7b0d8471..00000000
--- a/cheri/sail_latex/sailupdateCapL.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_CapL = {_update_TLBEntryLoReg_CapL} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateCapS.tex b/cheri/sail_latex/sailupdateCapS.tex
deleted file mode 100644
index dfe685ee..00000000
--- a/cheri/sail_latex/sailupdateCapS.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_CapS = {_update_TLBEntryLoReg_CapS} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateCauseRegBD.tex b/cheri/sail_latex/sailupdateCauseRegBD.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateCauseRegBD.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateCauseRegCE.tex b/cheri/sail_latex/sailupdateCauseRegCE.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateCauseRegCE.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateCauseRegExcCode.tex b/cheri/sail_latex/sailupdateCauseRegExcCode.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateCauseRegExcCode.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateCauseRegIP.tex b/cheri/sail_latex/sailupdateCauseRegIP.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateCauseRegIP.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateCauseRegIV.tex b/cheri/sail_latex/sailupdateCauseRegIV.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateCauseRegIV.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateCauseRegWP.tex b/cheri/sail_latex/sailupdateCauseRegWP.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateCauseRegWP.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateCauseRegbits.tex b/cheri/sail_latex/sailupdateCauseRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateCauseRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateContextRegBadVPNtwo.tex b/cheri/sail_latex/sailupdateContextRegBadVPNtwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateContextRegBadVPNtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateContextRegPTEBase.tex b/cheri/sail_latex/sailupdateContextRegPTEBase.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateContextRegPTEBase.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateContextRegbits.tex b/cheri/sail_latex/sailupdateContextRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateContextRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateD.tex b/cheri/sail_latex/sailupdateD.tex
deleted file mode 100644
index 2f367d1e..00000000
--- a/cheri/sail_latex/sailupdateD.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_D = {_update_TLBEntryLoReg_D} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateERL.tex b/cheri/sail_latex/sailupdateERL.tex
deleted file mode 100644
index d1f9da12..00000000
--- a/cheri/sail_latex/sailupdateERL.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_ERL = {_update_StatusReg_ERL} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateEXL.tex b/cheri/sail_latex/sailupdateEXL.tex
deleted file mode 100644
index 9d82b64d..00000000
--- a/cheri/sail_latex/sailupdateEXL.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_EXL = {_update_StatusReg_EXL} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateExcCode.tex b/cheri/sail_latex/sailupdateExcCode.tex
deleted file mode 100644
index 38736fe7..00000000
--- a/cheri/sail_latex/sailupdateExcCode.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_ExcCode = {_update_CapCauseReg_ExcCode} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateIE.tex b/cheri/sail_latex/sailupdateIE.tex
deleted file mode 100644
index 421e8744..00000000
--- a/cheri/sail_latex/sailupdateIE.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_IE = {_update_StatusReg_IE} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateIM.tex b/cheri/sail_latex/sailupdateIM.tex
deleted file mode 100644
index 6128559a..00000000
--- a/cheri/sail_latex/sailupdateIM.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_IM = {_update_StatusReg_IM} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateIP.tex b/cheri/sail_latex/sailupdateIP.tex
deleted file mode 100644
index 1b855a0b..00000000
--- a/cheri/sail_latex/sailupdateIP.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_IP = {_update_CauseReg_IP} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateIV.tex b/cheri/sail_latex/sailupdateIV.tex
deleted file mode 100644
index 7cfa3a60..00000000
--- a/cheri/sail_latex/sailupdateIV.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_IV = {_update_CauseReg_IV} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateKSU.tex b/cheri/sail_latex/sailupdateKSU.tex
deleted file mode 100644
index b5688537..00000000
--- a/cheri/sail_latex/sailupdateKSU.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_KSU = {_update_StatusReg_KSU} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateKX.tex b/cheri/sail_latex/sailupdateKX.tex
deleted file mode 100644
index ff23da68..00000000
--- a/cheri/sail_latex/sailupdateKX.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_KX = {_update_StatusReg_KX} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdatePFN.tex b/cheri/sail_latex/sailupdatePFN.tex
deleted file mode 100644
index fa32c59b..00000000
--- a/cheri/sail_latex/sailupdatePFN.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_PFN = {_update_TLBEntryLoReg_PFN} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdatePTEBase.tex b/cheri/sail_latex/sailupdatePTEBase.tex
deleted file mode 100644
index 8826eee7..00000000
--- a/cheri/sail_latex/sailupdatePTEBase.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_PTEBase = {_update_ContextReg_PTEBase} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateRegNum.tex b/cheri/sail_latex/sailupdateRegNum.tex
deleted file mode 100644
index 61c4abe6..00000000
--- a/cheri/sail_latex/sailupdateRegNum.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_RegNum = {_update_CapCauseReg_RegNum} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateSX.tex b/cheri/sail_latex/sailupdateSX.tex
deleted file mode 100644
index 4e416154..00000000
--- a/cheri/sail_latex/sailupdateSX.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_SX = {_update_StatusReg_SX} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateStatusRegBEV.tex b/cheri/sail_latex/sailupdateStatusRegBEV.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateStatusRegBEV.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateStatusRegCU.tex b/cheri/sail_latex/sailupdateStatusRegCU.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateStatusRegCU.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateStatusRegERL.tex b/cheri/sail_latex/sailupdateStatusRegERL.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateStatusRegERL.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateStatusRegEXL.tex b/cheri/sail_latex/sailupdateStatusRegEXL.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateStatusRegEXL.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateStatusRegIE.tex b/cheri/sail_latex/sailupdateStatusRegIE.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateStatusRegIE.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateStatusRegIM.tex b/cheri/sail_latex/sailupdateStatusRegIM.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateStatusRegIM.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateStatusRegKSU.tex b/cheri/sail_latex/sailupdateStatusRegKSU.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateStatusRegKSU.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateStatusRegKX.tex b/cheri/sail_latex/sailupdateStatusRegKX.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateStatusRegKX.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateStatusRegSX.tex b/cheri/sail_latex/sailupdateStatusRegSX.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateStatusRegSX.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateStatusRegUX.tex b/cheri/sail_latex/sailupdateStatusRegUX.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateStatusRegUX.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateStatusRegbits.tex b/cheri/sail_latex/sailupdateStatusRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateStatusRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntryHiRegASID.tex b/cheri/sail_latex/sailupdateTLBEntryHiRegASID.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntryHiRegASID.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntryHiRegR.tex b/cheri/sail_latex/sailupdateTLBEntryHiRegR.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntryHiRegR.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntryHiRegVPNtwo.tex b/cheri/sail_latex/sailupdateTLBEntryHiRegVPNtwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntryHiRegVPNtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntryHiRegbits.tex b/cheri/sail_latex/sailupdateTLBEntryHiRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntryHiRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntryLoRegC.tex b/cheri/sail_latex/sailupdateTLBEntryLoRegC.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntryLoRegC.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntryLoRegCapL.tex b/cheri/sail_latex/sailupdateTLBEntryLoRegCapL.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntryLoRegCapL.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntryLoRegCapS.tex b/cheri/sail_latex/sailupdateTLBEntryLoRegCapS.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntryLoRegCapS.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntryLoRegD.tex b/cheri/sail_latex/sailupdateTLBEntryLoRegD.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntryLoRegD.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntryLoRegG.tex b/cheri/sail_latex/sailupdateTLBEntryLoRegG.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntryLoRegG.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntryLoRegPFN.tex b/cheri/sail_latex/sailupdateTLBEntryLoRegPFN.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntryLoRegPFN.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntryLoRegV.tex b/cheri/sail_latex/sailupdateTLBEntryLoRegV.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntryLoRegV.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntryLoRegbits.tex b/cheri/sail_latex/sailupdateTLBEntryLoRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntryLoRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntryasid.tex b/cheri/sail_latex/sailupdateTLBEntryasid.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntryasid.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntrybits.tex b/cheri/sail_latex/sailupdateTLBEntrybits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntrybits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntrycaplone.tex b/cheri/sail_latex/sailupdateTLBEntrycaplone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntrycaplone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntrycaplzero.tex b/cheri/sail_latex/sailupdateTLBEntrycaplzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntrycaplzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntrycapsone.tex b/cheri/sail_latex/sailupdateTLBEntrycapsone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntrycapsone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntrycapszero.tex b/cheri/sail_latex/sailupdateTLBEntrycapszero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntrycapszero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntrycone.tex b/cheri/sail_latex/sailupdateTLBEntrycone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntrycone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntryczero.tex b/cheri/sail_latex/sailupdateTLBEntryczero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntryczero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntrydone.tex b/cheri/sail_latex/sailupdateTLBEntrydone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntrydone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntrydzero.tex b/cheri/sail_latex/sailupdateTLBEntrydzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntrydzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntryg.tex b/cheri/sail_latex/sailupdateTLBEntryg.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntryg.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntrypagemask.tex b/cheri/sail_latex/sailupdateTLBEntrypagemask.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntrypagemask.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntrypfnone.tex b/cheri/sail_latex/sailupdateTLBEntrypfnone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntrypfnone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntrypfnzero.tex b/cheri/sail_latex/sailupdateTLBEntrypfnzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntrypfnzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntryr.tex b/cheri/sail_latex/sailupdateTLBEntryr.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntryr.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntryvalid.tex b/cheri/sail_latex/sailupdateTLBEntryvalid.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntryvalid.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntryvone.tex b/cheri/sail_latex/sailupdateTLBEntryvone.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntryvone.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntryvpntwo.tex b/cheri/sail_latex/sailupdateTLBEntryvpntwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntryvpntwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateTLBEntryvzero.tex b/cheri/sail_latex/sailupdateTLBEntryvzero.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateTLBEntryvzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateUX.tex b/cheri/sail_latex/sailupdateUX.tex
deleted file mode 100644
index d0d2a663..00000000
--- a/cheri/sail_latex/sailupdateUX.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_UX = {_update_StatusReg_UX} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateV.tex b/cheri/sail_latex/sailupdateV.tex
deleted file mode 100644
index 336f76d5..00000000
--- a/cheri/sail_latex/sailupdateV.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_V = {_update_TLBEntryLoReg_V} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateWP.tex b/cheri/sail_latex/sailupdateWP.tex
deleted file mode 100644
index d4528672..00000000
--- a/cheri/sail_latex/sailupdateWP.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_WP = {_update_CauseReg_WP} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateXBadVPNtwo.tex b/cheri/sail_latex/sailupdateXBadVPNtwo.tex
deleted file mode 100644
index 9bb69796..00000000
--- a/cheri/sail_latex/sailupdateXBadVPNtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_XBadVPN2 = {_update_XContextReg_XBadVPN2} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateXContextRegXBadVPNtwo.tex b/cheri/sail_latex/sailupdateXContextRegXBadVPNtwo.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateXContextRegXBadVPNtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateXContextRegXPTEBase.tex b/cheri/sail_latex/sailupdateXContextRegXPTEBase.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateXContextRegXPTEBase.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateXContextRegXR.tex b/cheri/sail_latex/sailupdateXContextRegXR.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateXContextRegXR.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateXContextRegbits.tex b/cheri/sail_latex/sailupdateXContextRegbits.tex
deleted file mode 100644
index 8b137891..00000000
--- a/cheri/sail_latex/sailupdateXContextRegbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cheri/sail_latex/sailupdateXPTEBase.tex b/cheri/sail_latex/sailupdateXPTEBase.tex
deleted file mode 100644
index 8a203d30..00000000
--- a/cheri/sail_latex/sailupdateXPTEBase.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_XPTEBase = {_update_XContextReg_XPTEBase} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateXR.tex b/cheri/sail_latex/sailupdateXR.tex
deleted file mode 100644
index 1854ca65..00000000
--- a/cheri/sail_latex/sailupdateXR.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_XR = {_update_XContextReg_XR} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateasid.tex b/cheri/sail_latex/sailupdateasid.tex
deleted file mode 100644
index 8fa9f60a..00000000
--- a/cheri/sail_latex/sailupdateasid.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_asid = {_update_TLBEntry_asid} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdatebits.tex b/cheri/sail_latex/sailupdatebits.tex
deleted file mode 100644
index 84c93c53..00000000
--- a/cheri/sail_latex/sailupdatebits.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_bits = {_update_CapCauseReg_bits} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdatecaplone.tex b/cheri/sail_latex/sailupdatecaplone.tex
deleted file mode 100644
index a0ce007c..00000000
--- a/cheri/sail_latex/sailupdatecaplone.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_capl1 = {_update_TLBEntry_capl1} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdatecaplzero.tex b/cheri/sail_latex/sailupdatecaplzero.tex
deleted file mode 100644
index 11747581..00000000
--- a/cheri/sail_latex/sailupdatecaplzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_capl0 = {_update_TLBEntry_capl0} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdatecapsone.tex b/cheri/sail_latex/sailupdatecapsone.tex
deleted file mode 100644
index 6449364e..00000000
--- a/cheri/sail_latex/sailupdatecapsone.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_caps1 = {_update_TLBEntry_caps1} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdatecapszero.tex b/cheri/sail_latex/sailupdatecapszero.tex
deleted file mode 100644
index 1791d720..00000000
--- a/cheri/sail_latex/sailupdatecapszero.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_caps0 = {_update_TLBEntry_caps0} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdatecone.tex b/cheri/sail_latex/sailupdatecone.tex
deleted file mode 100644
index f8e39aea..00000000
--- a/cheri/sail_latex/sailupdatecone.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_c1 = {_update_TLBEntry_c1} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateczero.tex b/cheri/sail_latex/sailupdateczero.tex
deleted file mode 100644
index ccb2da58..00000000
--- a/cheri/sail_latex/sailupdateczero.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_c0 = {_update_TLBEntry_c0} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdatedone.tex b/cheri/sail_latex/sailupdatedone.tex
deleted file mode 100644
index ee303126..00000000
--- a/cheri/sail_latex/sailupdatedone.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_d1 = {_update_TLBEntry_d1} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdatedzero.tex b/cheri/sail_latex/sailupdatedzero.tex
deleted file mode 100644
index 799b9f2f..00000000
--- a/cheri/sail_latex/sailupdatedzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_d0 = {_update_TLBEntry_d0} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdateg.tex b/cheri/sail_latex/sailupdateg.tex
deleted file mode 100644
index 988d87b6..00000000
--- a/cheri/sail_latex/sailupdateg.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_g = {_update_TLBEntry_g} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdatepagemask.tex b/cheri/sail_latex/sailupdatepagemask.tex
deleted file mode 100644
index e57ea1df..00000000
--- a/cheri/sail_latex/sailupdatepagemask.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_pagemask = {_update_TLBEntry_pagemask} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdatepfnone.tex b/cheri/sail_latex/sailupdatepfnone.tex
deleted file mode 100644
index a6e7a80d..00000000
--- a/cheri/sail_latex/sailupdatepfnone.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_pfn1 = {_update_TLBEntry_pfn1} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdatepfnzero.tex b/cheri/sail_latex/sailupdatepfnzero.tex
deleted file mode 100644
index 54244083..00000000
--- a/cheri/sail_latex/sailupdatepfnzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_pfn0 = {_update_TLBEntry_pfn0} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdater.tex b/cheri/sail_latex/sailupdater.tex
deleted file mode 100644
index 485fdf99..00000000
--- a/cheri/sail_latex/sailupdater.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_r = {_update_TLBEntry_r} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdatevalid.tex b/cheri/sail_latex/sailupdatevalid.tex
deleted file mode 100644
index 9c19b5b5..00000000
--- a/cheri/sail_latex/sailupdatevalid.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_valid = {_update_TLBEntry_valid} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdatevone.tex b/cheri/sail_latex/sailupdatevone.tex
deleted file mode 100644
index 5da0a4e9..00000000
--- a/cheri/sail_latex/sailupdatevone.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_v1 = {_update_TLBEntry_v1} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdatevpntwo.tex b/cheri/sail_latex/sailupdatevpntwo.tex
deleted file mode 100644
index b4743a0c..00000000
--- a/cheri/sail_latex/sailupdatevpntwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_vpn2 = {_update_TLBEntry_vpn2} \ No newline at end of file
diff --git a/cheri/sail_latex/sailupdatevzero.tex b/cheri/sail_latex/sailupdatevzero.tex
deleted file mode 100644
index 0405f0c0..00000000
--- a/cheri/sail_latex/sailupdatevzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload update_v0 = {_update_TLBEntry_v0} \ No newline at end of file
diff --git a/cheri/sail_latex/sailvectoraccess.tex b/cheri/sail_latex/sailvectoraccess.tex
deleted file mode 100644
index a8e8074f..00000000
--- a/cheri/sail_latex/sailvectoraccess.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload vector_access = {bitvector_access, plain_vector_access} \ No newline at end of file
diff --git a/cheri/sail_latex/sailvectorlength.tex b/cheri/sail_latex/sailvectorlength.tex
deleted file mode 100644
index f41d5bfa..00000000
--- a/cheri/sail_latex/sailvectorlength.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-val vector_length = {
- ocaml: "length",
- lem: "length_list",
- c: "length",
- coq: "vec_length"
-} : forall '#\hyperref[zn]{n}# ('a : Type). vector('n, dec, 'a) -> atom('n)
diff --git a/cheri/sail_latex/sailvectorsubrange.tex b/cheri/sail_latex/sailvectorsubrange.tex
deleted file mode 100644
index c069c7b6..00000000
--- a/cheri/sail_latex/sailvectorsubrange.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-val vector_subrange = {
- ocaml: "subrange",
- lem: "subrange_vec_dec",
- c: "vector_subrange",
- coq: "subrange_vec_dec"
-} : forall ('n : Int) ('m : Int) ('o : Int), 0 <= 'o <= 'm < 'n.
- (#\hyperref[zbits]{bits}#('n), atom('m), atom('o)) -> #\hyperref[zbits]{bits}#('m - 'o + 1)
diff --git a/cheri/sail_latex/sailvectorupdate.tex b/cheri/sail_latex/sailvectorupdate.tex
deleted file mode 100644
index 1ec4aaef..00000000
--- a/cheri/sail_latex/sailvectorupdate.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload vector_update = {bitvector_update, plain_vector_update} \ No newline at end of file
diff --git a/cheri/sail_latex/sailvectorupdatesubrange.tex b/cheri/sail_latex/sailvectorupdatesubrange.tex
deleted file mode 100644
index 6ff4f9f6..00000000
--- a/cheri/sail_latex/sailvectorupdatesubrange.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-val vector_update_subrange = {
- ocaml: "update_subrange",
- lem: "update_subrange_vec_dec",
- c: "vector_update_subrange",
- coq: "update_subrange_vec_dec"
-} : forall 'n 'm 'o. (#\hyperref[zbits]{bits}#('n), atom('m), atom('o), #\hyperref[zbits]{bits}#('m - ('o - 1))) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latex/sailwGPR.tex b/cheri/sail_latex/sailwGPR.tex
deleted file mode 100644
index bf78e005..00000000
--- a/cheri/sail_latex/sailwGPR.tex
+++ /dev/null
@@ -1 +0,0 @@
-val wGPR : (#\hyperref[zbits]{bits}#(5), #\hyperref[zbits]{bits}#(64)) -> unit effect {wreg}
diff --git a/cheri/sail_latex/sailwordWidthBytes.tex b/cheri/sail_latex/sailwordWidthBytes.tex
deleted file mode 100644
index aa5bbe5f..00000000
--- a/cheri/sail_latex/sailwordWidthBytes.tex
+++ /dev/null
@@ -1 +0,0 @@
-val wordWidthBytes : WordType -> range(1, 8)
diff --git a/cheri/sail_latex/sailwriteCapReg.tex b/cheri/sail_latex/sailwriteCapReg.tex
deleted file mode 100644
index 44b9d466..00000000
--- a/cheri/sail_latex/sailwriteCapReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-val writeCapReg : (regno, CapStruct) -> unit effect {wreg}
diff --git a/cheri/sail_latex/sailxorvec.tex b/cheri/sail_latex/sailxorvec.tex
deleted file mode 100644
index b3aa7372..00000000
--- a/cheri/sail_latex/sailxorvec.tex
+++ /dev/null
@@ -1 +0,0 @@
-val xor_vec = {c: "xor_bits" , _: "xor_vec"} : forall 'n. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latex/sailzW.tex b/cheri/sail_latex/sailzW.tex
deleted file mode 100644
index a29ec93f..00000000
--- a/cheri/sail_latex/sailzW.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload ~ = {not_bool, not_vec} \ No newline at end of file
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozAsznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozAsznine.tex
deleted file mode 100644
index 0b0a46e2..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozAsznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-val operator *_s = "mults_vec" : forall 'n . (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> #\hyperref[zbits]{bits}#(2 * 'n)
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozAuznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozAuznine.tex
deleted file mode 100644
index 5b762ba7..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozAuznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-val operator *_u = "mult_vec" : forall 'n . (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> #\hyperref[zbits]{bits}#(2 * 'n)
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozAznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozAznine.tex
deleted file mode 100644
index 2d188f63..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozAznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator *) = {mult_int} \ No newline at end of file
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozBznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozBznine.tex
deleted file mode 100644
index 432e85e5..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozBznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator +) = {add_range, add_int, add_vec, add_vec_int} \ No newline at end of file
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozDznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozDznine.tex
deleted file mode 100644
index d671e6b0..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozDznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator -) = {sub_range, sub_int, sub_vec, sub_vec_int} \ No newline at end of file
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozFznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozFznine.tex
deleted file mode 100644
index 3c2e441c..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozFznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator /) = {quotient_nat, quotient} \ No newline at end of file
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozIsznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozIsznine.tex
deleted file mode 100644
index 9b4ebe19..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozIsznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-val operator <_s : forall 'n, 'n > 0. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> bool
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozIuznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozIuznine.tex
deleted file mode 100644
index 5b54235e..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozIuznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-val operator <_u : forall 'n, 'n >= 0. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> bool
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozIzIznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozIzIznine.tex
deleted file mode 100644
index 51ff2b6c..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozIzIznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator <<) = {shift_bits_left, shiftl} \ No newline at end of file
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozIzJznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozIzJznine.tex
deleted file mode 100644
index d23f28dd..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozIzJznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator <=) = {lteq_atom, lteq_range_atom, lteq_atom_range, lteq_int} \ No newline at end of file
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozIznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozIznine.tex
deleted file mode 100644
index 8e5e3fe9..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozIznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator <) = {lt_atom, lt_range_atom, lt_atom_range, lt_int} \ No newline at end of file
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozJzJznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozJzJznine.tex
deleted file mode 100644
index 57ea823c..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozJzJznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator ==) = {eq_anything} \ No newline at end of file
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozKzJsznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozKzJsznine.tex
deleted file mode 100644
index 032e8600..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozKzJsznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-val operator >=_s : forall 'n, 'n > 0. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> bool
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozKzJuznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozKzJuznine.tex
deleted file mode 100644
index eaa72e60..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozKzJuznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-val operator >=_u : forall 'n, 'n >= 0. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> bool
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozKzJznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozKzJznine.tex
deleted file mode 100644
index 5733b740..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozKzJznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator >=) = {gteq_atom, gteq_range_atom, gteq_atom_range, gteq_int} \ No newline at end of file
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozKzKsznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozKzKsznine.tex
deleted file mode 100644
index 0f0793a6..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozKzKsznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-val operator >>_s = "shift_bits_right_arith" : forall 'n 'm. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('m)) -> #\hyperref[zbits]{bits}#('n) effect {undef}
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozKzKznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozKzKznine.tex
deleted file mode 100644
index b129e9d2..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozKzKznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator >>) = {shift_bits_right, shiftr} \ No newline at end of file
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozKznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozKznine.tex
deleted file mode 100644
index a8da7e48..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozKznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator >) = {gt_atom, gt_range_atom, gt_atom_range, gt_int} \ No newline at end of file
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozQzQznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozQzQznine.tex
deleted file mode 100644
index 185f501e..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozQzQznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-val operator ^^ = {lem: "replicate_bits"} : forall 'n 'm, 'm >= 0 . (#\hyperref[zbits]{bits}#('n), atom('m)) -> #\hyperref[zbits]{bits}#('n * 'm)
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozQznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozQznine.tex
deleted file mode 100644
index 106b6064..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozQznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator ^) = {xor_vec, int_power} \ No newline at end of file
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozUznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozUznine.tex
deleted file mode 100644
index 4de737e0..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozUznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator |) = {or_bool, or_bits} \ No newline at end of file
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozfiveznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozfiveznine.tex
deleted file mode 100644
index 8d6b54c3..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozfiveznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator %) = {modulus} \ No newline at end of file
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozonezJznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozonezJznine.tex
deleted file mode 100644
index 22052668..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozonezJznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator !=) = {neq_atom, neq_int, neq_vec, neq_anything} \ No newline at end of file
diff --git a/cheri/sail_latex/sailzeightoperatorzzerozsixznine.tex b/cheri/sail_latex/sailzeightoperatorzzerozsixznine.tex
deleted file mode 100644
index 248fb15e..00000000
--- a/cheri/sail_latex/sailzeightoperatorzzerozsixznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator &) = {and_bool, and_bits} \ No newline at end of file
diff --git a/cheri/sail_latex/sailzzeroextend.tex b/cheri/sail_latex/sailzzeroextend.tex
deleted file mode 100644
index 0f754d44..00000000
--- a/cheri/sail_latex/sailzzeroextend.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload zero_extend = {mips_zero_extend} \ No newline at end of file
diff --git a/cheri/sail_latex/sailzzeros.tex b/cheri/sail_latex/sailzzeros.tex
deleted file mode 100644
index 1c251eda..00000000
--- a/cheri/sail_latex/sailzzeros.tex
+++ /dev/null
@@ -1 +0,0 @@
-val zeros : forall 'n, 'n >= 0 . unit -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latexcc/commands.tex b/cheri/sail_latexcc/commands.tex
deleted file mode 100644
index 8b9678a1..00000000
--- a/cheri/sail_latexcc/commands.tex
+++ /dev/null
@@ -1,544 +0,0 @@
-\newcommand{\sailccsailccregderefv}{\label{zregzyderef} \lstinputlisting[language=sail]{sail_latexcc/sailccsailccregderefv.tex}}
-
-\newcommand{\sailccregderef}{\label{zzyregzyderef} \lstinputlisting[language=sail]{sail_latexcc/sailccregderef.tex}}
-
-\newcommand{\sailcceqbittwo}{\label{zeqzybittwo} \lstinputlisting[language=sail]{sail_latexcc/sailcceqbittwo.tex}}
-
-\newcommand{\sailccsailccsailccsailcczeightoperatorzzerozJzJzninevvv}{\label{zzeightoperatorzzerozJzJznine} \lstinputlisting[language=sail]{sail_latexcc/sailccsailccsailccsailcczeightoperatorzzerozJzJzninevvv.tex}}
-
-\newcommand{\sailccdiv}{\label{zdiv} \lstinputlisting[language=sail]{sail_latexcc/sailccdiv.tex}}
-
-\newcommand{\sailccsailccsailcczeightoperatorzzerozFzninevv}{\label{zzeightoperatorzzerozFznine} \lstinputlisting[language=sail]{sail_latexcc/sailccsailccsailcczeightoperatorzzerozFzninevv.tex}}
-
-\newcommand{\sailccmod}{\label{zmod} \lstinputlisting[language=sail]{sail_latexcc/sailccmod.tex}}
-
-\newcommand{\sailccsailccsailcczeightoperatorzzerozfivezninevv}{\label{zzeightoperatorzzerozfiveznine} \lstinputlisting[language=sail]{sail_latexcc/sailccsailccsailcczeightoperatorzzerozfivezninevv.tex}}
-
-\newcommand{\sailccabsatom}{\label{zabszyatom} \lstinputlisting[language=sail]{sail_latexcc/sailccabsatom.tex}}
-
-\newcommand{\sailccnotbool}{\label{znotzybool} \lstinputlisting[language=sail]{sail_latexcc/sailccnotbool.tex}}
-
-\newcommand{\sailccandbool}{\label{zandzybool} \lstinputlisting[language=sail]{sail_latexcc/sailccandbool.tex}}
-
-\newcommand{\sailccorbool}{\label{zorzybool} \lstinputlisting[language=sail]{sail_latexcc/sailccorbool.tex}}
-
-\newcommand{\sailcceqatom}{\label{zeqzyatom} \lstinputlisting[language=sail]{sail_latexcc/sailcceqatom.tex}}
-
-\newcommand{\sailccneqatom}{\label{zneqzyatom} \lstinputlisting[language=sail]{sail_latexcc/sailccneqatom.tex}}
-
-\newcommand{\sailccfnneqatom}{\label{zneqzyatom} \lstinputlisting[language=sail]{sail_latexcc/sailccfnneqatom.tex}}
-
-\newcommand{\sailcclteqatom}{\label{zlteqzyatom} \lstinputlisting[language=sail]{sail_latexcc/sailcclteqatom.tex}}
-
-\newcommand{\sailccgteqatom}{\label{zgteqzyatom} \lstinputlisting[language=sail]{sail_latexcc/sailccgteqatom.tex}}
-
-\newcommand{\sailccltatom}{\label{zltzyatom} \lstinputlisting[language=sail]{sail_latexcc/sailccltatom.tex}}
-
-\newcommand{\sailccgtatom}{\label{zgtzyatom} \lstinputlisting[language=sail]{sail_latexcc/sailccgtatom.tex}}
-
-\newcommand{\sailccltrangeatom}{\label{zltzyrangezyatom} \lstinputlisting[language=sail]{sail_latexcc/sailccltrangeatom.tex}}
-
-\newcommand{\sailcclteqrangeatom}{\label{zlteqzyrangezyatom} \lstinputlisting[language=sail]{sail_latexcc/sailcclteqrangeatom.tex}}
-
-\newcommand{\sailccgtrangeatom}{\label{zgtzyrangezyatom} \lstinputlisting[language=sail]{sail_latexcc/sailccgtrangeatom.tex}}
-
-\newcommand{\sailccgteqrangeatom}{\label{zgteqzyrangezyatom} \lstinputlisting[language=sail]{sail_latexcc/sailccgteqrangeatom.tex}}
-
-\newcommand{\sailccltatomrange}{\label{zltzyatomzyrange} \lstinputlisting[language=sail]{sail_latexcc/sailccltatomrange.tex}}
-
-\newcommand{\sailcclteqatomrange}{\label{zlteqzyatomzyrange} \lstinputlisting[language=sail]{sail_latexcc/sailcclteqatomrange.tex}}
-
-\newcommand{\sailccgtatomrange}{\label{zgtzyatomzyrange} \lstinputlisting[language=sail]{sail_latexcc/sailccgtatomrange.tex}}
-
-\newcommand{\sailccgteqatomrange}{\label{zgteqzyatomzyrange} \lstinputlisting[language=sail]{sail_latexcc/sailccgteqatomrange.tex}}
-
-\newcommand{\sailcceqrange}{\label{zeqzyrange} \lstinputlisting[language=sail]{sail_latexcc/sailcceqrange.tex}}
-
-\newcommand{\sailcceqint}{\label{zeqzyint} \lstinputlisting[language=sail]{sail_latexcc/sailcceqint.tex}}
-
-\newcommand{\sailcceqbool}{\label{zeqzybool} \lstinputlisting[language=sail]{sail_latexcc/sailcceqbool.tex}}
-
-\newcommand{\sailccneqrange}{\label{zneqzyrange} \lstinputlisting[language=sail]{sail_latexcc/sailccneqrange.tex}}
-
-\newcommand{\sailccfnneqrange}{\label{zneqzyrange} \lstinputlisting[language=sail]{sail_latexcc/sailccfnneqrange.tex}}
-
-\newcommand{\sailccneqint}{\label{zneqzyint} \lstinputlisting[language=sail]{sail_latexcc/sailccneqint.tex}}
-
-\newcommand{\sailccfnneqint}{\label{zneqzyint} \lstinputlisting[language=sail]{sail_latexcc/sailccfnneqint.tex}}
-
-\newcommand{\sailccneqbool}{\label{zneqzybool} \lstinputlisting[language=sail]{sail_latexcc/sailccneqbool.tex}}
-
-\newcommand{\sailccfnneqbool}{\label{zneqzybool} \lstinputlisting[language=sail]{sail_latexcc/sailccfnneqbool.tex}}
-
-\newcommand{\sailcclteqint}{\label{zlteqzyint} \lstinputlisting[language=sail]{sail_latexcc/sailcclteqint.tex}}
-
-\newcommand{\sailccgteqint}{\label{zgteqzyint} \lstinputlisting[language=sail]{sail_latexcc/sailccgteqint.tex}}
-
-\newcommand{\sailccltint}{\label{zltzyint} \lstinputlisting[language=sail]{sail_latexcc/sailccltint.tex}}
-
-\newcommand{\sailccgtint}{\label{zgtzyint} \lstinputlisting[language=sail]{sail_latexcc/sailccgtint.tex}}
-
-\newcommand{\sailccsailccsailcczeightoperatorzzerozJzJzninevv}{\label{zzeightoperatorzzerozJzJznine} \lstinputlisting[language=sail]{sail_latexcc/sailccsailccsailcczeightoperatorzzerozJzJzninevv.tex}}
-
-\newcommand{\sailccsailcczeightoperatorzzerozonezJzninev}{\label{zzeightoperatorzzerozonezJznine} \lstinputlisting[language=sail]{sail_latexcc/sailccsailcczeightoperatorzzerozonezJzninev.tex}}
-
-\newcommand{\sailccsailcczeightoperatorzzerozUzninev}{\label{zzeightoperatorzzerozUznine} \lstinputlisting[language=sail]{sail_latexcc/sailccsailcczeightoperatorzzerozUzninev.tex}}
-
-\newcommand{\sailccsailcczeightoperatorzzerozsixzninev}{\label{zzeightoperatorzzerozsixznine} \lstinputlisting[language=sail]{sail_latexcc/sailccsailcczeightoperatorzzerozsixzninev.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozIzJznine}{\label{zzeightoperatorzzerozIzJznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozIzJznine.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozIznine}{\label{zzeightoperatorzzerozIznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozIznine.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozKzJznine}{\label{zzeightoperatorzzerozKzJznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozKzJznine.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozKznine}{\label{zzeightoperatorzzerozKznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozKznine.tex}}
-
-\newcommand{\sailccaddatom}{\label{zaddzyatom} \lstinputlisting[language=sail]{sail_latexcc/sailccaddatom.tex}}
-
-\newcommand{\sailccaddint}{\label{zaddzyint} \lstinputlisting[language=sail]{sail_latexcc/sailccaddint.tex}}
-
-\newcommand{\sailccsailccsailcczeightoperatorzzerozBzninevv}{\label{zzeightoperatorzzerozBznine} \lstinputlisting[language=sail]{sail_latexcc/sailccsailccsailcczeightoperatorzzerozBzninevv.tex}}
-
-\newcommand{\sailccsubatom}{\label{zsubzyatom} \lstinputlisting[language=sail]{sail_latexcc/sailccsubatom.tex}}
-
-\newcommand{\sailccsubint}{\label{zsubzyint} \lstinputlisting[language=sail]{sail_latexcc/sailccsubint.tex}}
-
-\newcommand{\sailccsailcczeightoperatorzzerozDzninev}{\label{zzeightoperatorzzerozDznine} \lstinputlisting[language=sail]{sail_latexcc/sailccsailcczeightoperatorzzerozDzninev.tex}}
-
-\newcommand{\sailccnegateatom}{\label{znegatezyatom} \lstinputlisting[language=sail]{sail_latexcc/sailccnegateatom.tex}}
-
-\newcommand{\sailccnegateint}{\label{znegatezyint} \lstinputlisting[language=sail]{sail_latexcc/sailccnegateint.tex}}
-
-\newcommand{\sailccsailccnegatev}{\label{znegate} \lstinputlisting[language=sail]{sail_latexcc/sailccsailccnegatev.tex}}
-
-\newcommand{\sailccmultatom}{\label{zmultzyatom} \lstinputlisting[language=sail]{sail_latexcc/sailccmultatom.tex}}
-
-\newcommand{\sailccmultint}{\label{zmultzyint} \lstinputlisting[language=sail]{sail_latexcc/sailccmultint.tex}}
-
-\newcommand{\sailccsailcczeightoperatorzzerozAzninev}{\label{zzeightoperatorzzerozAznine} \lstinputlisting[language=sail]{sail_latexcc/sailccsailcczeightoperatorzzerozAzninev.tex}}
-
-\newcommand{\sailccprintint}{\label{zprintzyint} \lstinputlisting[language=sail]{sail_latexcc/sailccprintint.tex}}
-
-\newcommand{\sailccprerrint}{\label{zprerrzyint} \lstinputlisting[language=sail]{sail_latexcc/sailccprerrint.tex}}
-
-\newcommand{\sailccshlint}{\label{zshlzyint} \lstinputlisting[language=sail]{sail_latexcc/sailccshlint.tex}}
-
-\newcommand{\sailccshrint}{\label{zshrzyint} \lstinputlisting[language=sail]{sail_latexcc/sailccshrint.tex}}
-
-\newcommand{\sailccdivint}{\label{zdivzyint} \lstinputlisting[language=sail]{sail_latexcc/sailccdivint.tex}}
-
-\newcommand{\sailccsailcczeightoperatorzzerozFzninev}{\label{zzeightoperatorzzerozFznine} \lstinputlisting[language=sail]{sail_latexcc/sailccsailcczeightoperatorzzerozFzninev.tex}}
-
-\newcommand{\sailccmodint}{\label{zmodzyint} \lstinputlisting[language=sail]{sail_latexcc/sailccmodint.tex}}
-
-\newcommand{\sailccsailcczeightoperatorzzerozfivezninev}{\label{zzeightoperatorzzerozfiveznine} \lstinputlisting[language=sail]{sail_latexcc/sailccsailcczeightoperatorzzerozfivezninev.tex}}
-
-\newcommand{\sailccabsint}{\label{zabszyint} \lstinputlisting[language=sail]{sail_latexcc/sailccabsint.tex}}
-
-\newcommand{\sailccisnone}{\label{ziszynone} \lstinputlisting[language=sail]{sail_latexcc/sailccisnone.tex}}
-
-\newcommand{\sailccfnisnone}{\label{ziszynone} \lstinputlisting[language=sail]{sail_latexcc/sailccfnisnone.tex}}
-
-\newcommand{\sailccissome}{\label{ziszysome} \lstinputlisting[language=sail]{sail_latexcc/sailccissome.tex}}
-
-\newcommand{\sailccfnissome}{\label{ziszysome} \lstinputlisting[language=sail]{sail_latexcc/sailccfnissome.tex}}
-
-\newcommand{\sailccbits}{\label{zbits} \lstinputlisting[language=sail]{sail_latexcc/sailccbits.tex}}
-
-\newcommand{\sailcceqbit}{\label{zeqzybit} \lstinputlisting[language=sail]{sail_latexcc/sailcceqbit.tex}}
-
-\newcommand{\sailcceqbits}{\label{zeqzybits} \lstinputlisting[language=sail]{sail_latexcc/sailcceqbits.tex}}
-
-\newcommand{\sailccsailcczeightoperatorzzerozJzJzninev}{\label{zzeightoperatorzzerozJzJznine} \lstinputlisting[language=sail]{sail_latexcc/sailccsailcczeightoperatorzzerozJzJzninev.tex}}
-
-\newcommand{\sailccbitvectorlength}{\label{zbitvectorzylength} \lstinputlisting[language=sail]{sail_latexcc/sailccbitvectorlength.tex}}
-
-\newcommand{\sailccvectorlength}{\label{zvectorzylength} \lstinputlisting[language=sail]{sail_latexcc/sailccvectorlength.tex}}
-
-\newcommand{\sailcclength}{\label{zlength} \lstinputlisting[language=sail]{sail_latexcc/sailcclength.tex}}
-
-\newcommand{\sailccsailzzeros}{\label{zsailzyzzeros} \lstinputlisting[language=sail]{sail_latexcc/sailccsailzzeros.tex}}
-
-\newcommand{\sailccprintbits}{\label{zprintzybits} \lstinputlisting[language=sail]{sail_latexcc/sailccprintbits.tex}}
-
-\newcommand{\sailccprerrbits}{\label{zprerrzybits} \lstinputlisting[language=sail]{sail_latexcc/sailccprerrbits.tex}}
-
-\newcommand{\sailccsailsignextend}{\label{zsailzysignzyextend} \lstinputlisting[language=sail]{sail_latexcc/sailccsailsignextend.tex}}
-
-\newcommand{\sailccsailzzeroextend}{\label{zsailzyzzerozyextend} \lstinputlisting[language=sail]{sail_latexcc/sailccsailzzeroextend.tex}}
-
-\newcommand{\sailcctruncate}{\label{ztruncate} \lstinputlisting[language=sail]{sail_latexcc/sailcctruncate.tex}}
-
-\newcommand{\sailccsailmask}{\label{zsailzymask} \lstinputlisting[language=sail]{sail_latexcc/sailccsailmask.tex}}
-
-\newcommand{\sailccfnsailmask}{\label{zsailzymask} \lstinputlisting[language=sail]{sail_latexcc/sailccfnsailmask.tex}}
-
-\newcommand{\sailccsailcczeightoperatorzzerozQzninev}{\label{zzeightoperatorzzerozQznine} \lstinputlisting[language=sail]{sail_latexcc/sailccsailcczeightoperatorzzerozQzninev.tex}}
-
-\newcommand{\sailccbitvectorconcat}{\label{zbitvectorzyconcat} \lstinputlisting[language=sail]{sail_latexcc/sailccbitvectorconcat.tex}}
-
-\newcommand{\sailccappend}{\label{zappend} \lstinputlisting[language=sail]{sail_latexcc/sailccappend.tex}}
-
-\newcommand{\sailccappendsixfour}{\label{zappendzysixfour} \lstinputlisting[language=sail]{sail_latexcc/sailccappendsixfour.tex}}
-
-\newcommand{\sailccbitvectoraccess}{\label{zbitvectorzyaccess} \lstinputlisting[language=sail]{sail_latexcc/sailccbitvectoraccess.tex}}
-
-\newcommand{\sailccplainvectoraccess}{\label{zplainzyvectorzyaccess} \lstinputlisting[language=sail]{sail_latexcc/sailccplainvectoraccess.tex}}
-
-\newcommand{\sailccvectoraccess}{\label{zvectorzyaccess} \lstinputlisting[language=sail]{sail_latexcc/sailccvectoraccess.tex}}
-
-\newcommand{\sailccbitvectorupdate}{\label{zbitvectorzyupdate} \lstinputlisting[language=sail]{sail_latexcc/sailccbitvectorupdate.tex}}
-
-\newcommand{\sailccplainvectorupdate}{\label{zplainzyvectorzyupdate} \lstinputlisting[language=sail]{sail_latexcc/sailccplainvectorupdate.tex}}
-
-\newcommand{\sailccvectorupdate}{\label{zvectorzyupdate} \lstinputlisting[language=sail]{sail_latexcc/sailccvectorupdate.tex}}
-
-\newcommand{\sailccaddbits}{\label{zaddzybits} \lstinputlisting[language=sail]{sail_latexcc/sailccaddbits.tex}}
-
-\newcommand{\sailccaddbitsint}{\label{zaddzybitszyint} \lstinputlisting[language=sail]{sail_latexcc/sailccaddbitsint.tex}}
-
-\newcommand{\sailccsailcczeightoperatorzzerozBzninev}{\label{zzeightoperatorzzerozBznine} \lstinputlisting[language=sail]{sail_latexcc/sailccsailcczeightoperatorzzerozBzninev.tex}}
-
-\newcommand{\sailccvectorsubrange}{\label{zvectorzysubrange} \lstinputlisting[language=sail]{sail_latexcc/sailccvectorsubrange.tex}}
-
-\newcommand{\sailccvectorupdatesubrange}{\label{zvectorzyupdatezysubrange} \lstinputlisting[language=sail]{sail_latexcc/sailccvectorupdatesubrange.tex}}
-
-\newcommand{\sailccgetsliceint}{\label{zgetzyslicezyint} \lstinputlisting[language=sail]{sail_latexcc/sailccgetsliceint.tex}}
-
-\newcommand{\sailccsetsliceint}{\label{zsetzyslicezyint} \lstinputlisting[language=sail]{sail_latexcc/sailccsetsliceint.tex}}
-
-\newcommand{\sailccsetslicebits}{\label{zsetzyslicezybits} \lstinputlisting[language=sail]{sail_latexcc/sailccsetslicebits.tex}}
-
-\newcommand{\sailccslice}{\label{zslice} \lstinputlisting[language=sail]{sail_latexcc/sailccslice.tex}}
-
-\newcommand{\sailccreplicatebits}{\label{zreplicatezybits} \lstinputlisting[language=sail]{sail_latexcc/sailccreplicatebits.tex}}
-
-\newcommand{\sailccunsigned}{\label{zunsigned} \lstinputlisting[language=sail]{sail_latexcc/sailccunsigned.tex}}
-
-\newcommand{\sailccsigned}{\label{zsigned} \lstinputlisting[language=sail]{sail_latexcc/sailccsigned.tex}}
-
-\newcommand{\sailcceqanything}{\label{zeqzyanything} \lstinputlisting[language=sail]{sail_latexcc/sailcceqanything.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozJzJznine}{\label{zzeightoperatorzzerozJzJznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozJzJznine.tex}}
-
-\newcommand{\sailccnotvec}{\label{znotzyvec} \lstinputlisting[language=sail]{sail_latexcc/sailccnotvec.tex}}
-
-\newcommand{\sailcczW}{\label{zzW} \lstinputlisting[language=sail]{sail_latexcc/sailcczW.tex}}
-
-\newcommand{\sailccnot}{\label{znot} \lstinputlisting[language=sail]{sail_latexcc/sailccnot.tex}}
-
-\newcommand{\sailccneqvec}{\label{zneqzyvec} \lstinputlisting[language=sail]{sail_latexcc/sailccneqvec.tex}}
-
-\newcommand{\sailccfnneqvec}{\label{zneqzyvec} \lstinputlisting[language=sail]{sail_latexcc/sailccfnneqvec.tex}}
-
-\newcommand{\sailccneqanything}{\label{zneqzyanything} \lstinputlisting[language=sail]{sail_latexcc/sailccneqanything.tex}}
-
-\newcommand{\sailccfnneqanything}{\label{zneqzyanything} \lstinputlisting[language=sail]{sail_latexcc/sailccfnneqanything.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozonezJznine}{\label{zzeightoperatorzzerozonezJznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozonezJznine.tex}}
-
-\newcommand{\sailccandbits}{\label{zandzybits} \lstinputlisting[language=sail]{sail_latexcc/sailccandbits.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozsixznine}{\label{zzeightoperatorzzerozsixznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozsixznine.tex}}
-
-\newcommand{\sailccorbits}{\label{zorzybits} \lstinputlisting[language=sail]{sail_latexcc/sailccorbits.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozUznine}{\label{zzeightoperatorzzerozUznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozUznine.tex}}
-
-\newcommand{\sailcccastunitvec}{\label{zcastzyunitzyvec} \lstinputlisting[language=sail]{sail_latexcc/sailcccastunitvec.tex}}
-
-\newcommand{\sailccfncastunitvec}{\label{zcastzyunitzyvec} \lstinputlisting[language=sail]{sail_latexcc/sailccfncastunitvec.tex}}
-
-\newcommand{\sailccprint}{\label{zprint} \lstinputlisting[language=sail]{sail_latexcc/sailccprint.tex}}
-
-\newcommand{\sailccprerrendline}{\label{zprerrzyendline} \lstinputlisting[language=sail]{sail_latexcc/sailccprerrendline.tex}}
-
-\newcommand{\sailccprerrstring}{\label{zprerrzystring} \lstinputlisting[language=sail]{sail_latexcc/sailccprerrstring.tex}}
-
-\newcommand{\sailccputchar}{\label{zputchar} \lstinputlisting[language=sail]{sail_latexcc/sailccputchar.tex}}
-
-\newcommand{\sailccconcatstr}{\label{zconcatzystr} \lstinputlisting[language=sail]{sail_latexcc/sailccconcatstr.tex}}
-
-\newcommand{\sailccstringofint}{\label{zstringzyofzyint} \lstinputlisting[language=sail]{sail_latexcc/sailccstringofint.tex}}
-
-\newcommand{\sailccBitStr}{\label{zBitStr} \lstinputlisting[language=sail]{sail_latexcc/sailccBitStr.tex}}
-
-\newcommand{\sailccxorvec}{\label{zxorzyvec} \lstinputlisting[language=sail]{sail_latexcc/sailccxorvec.tex}}
-
-\newcommand{\sailccintpower}{\label{zintzypower} \lstinputlisting[language=sail]{sail_latexcc/sailccintpower.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozQznine}{\label{zzeightoperatorzzerozQznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozQznine.tex}}
-
-\newcommand{\sailccaddrange}{\label{zaddzyrange} \lstinputlisting[language=sail]{sail_latexcc/sailccaddrange.tex}}
-
-\newcommand{\sailccaddvec}{\label{zaddzyvec} \lstinputlisting[language=sail]{sail_latexcc/sailccaddvec.tex}}
-
-\newcommand{\sailccaddvecint}{\label{zaddzyveczyint} \lstinputlisting[language=sail]{sail_latexcc/sailccaddvecint.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozBznine}{\label{zzeightoperatorzzerozBznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozBznine.tex}}
-
-\newcommand{\sailccsubrange}{\label{zsubzyrange} \lstinputlisting[language=sail]{sail_latexcc/sailccsubrange.tex}}
-
-\newcommand{\sailccsubvec}{\label{zsubzyvec} \lstinputlisting[language=sail]{sail_latexcc/sailccsubvec.tex}}
-
-\newcommand{\sailccsubvecint}{\label{zsubzyveczyint} \lstinputlisting[language=sail]{sail_latexcc/sailccsubvecint.tex}}
-
-\newcommand{\sailccnegaterange}{\label{znegatezyrange} \lstinputlisting[language=sail]{sail_latexcc/sailccnegaterange.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozDznine}{\label{zzeightoperatorzzerozDznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozDznine.tex}}
-
-\newcommand{\sailccnegate}{\label{znegate} \lstinputlisting[language=sail]{sail_latexcc/sailccnegate.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozAznine}{\label{zzeightoperatorzzerozAznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozAznine.tex}}
-
-\newcommand{\sailccquotientnat}{\label{zquotientzynat} \lstinputlisting[language=sail]{sail_latexcc/sailccquotientnat.tex}}
-
-\newcommand{\sailccquotient}{\label{zquotient} \lstinputlisting[language=sail]{sail_latexcc/sailccquotient.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozFznine}{\label{zzeightoperatorzzerozFznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozFznine.tex}}
-
-\newcommand{\sailccquotroundzzero}{\label{zquotzyroundzyzzero} \lstinputlisting[language=sail]{sail_latexcc/sailccquotroundzzero.tex}}
-
-\newcommand{\sailccremroundzzero}{\label{zremzyroundzyzzero} \lstinputlisting[language=sail]{sail_latexcc/sailccremroundzzero.tex}}
-
-\newcommand{\sailccmodulus}{\label{zmodulus} \lstinputlisting[language=sail]{sail_latexcc/sailccmodulus.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozfiveznine}{\label{zzeightoperatorzzerozfiveznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozfiveznine.tex}}
-
-\newcommand{\sailccminnat}{\label{zminzynat} \lstinputlisting[language=sail]{sail_latexcc/sailccminnat.tex}}
-
-\newcommand{\sailccminint}{\label{zminzyint} \lstinputlisting[language=sail]{sail_latexcc/sailccminint.tex}}
-
-\newcommand{\sailccmaxnat}{\label{zmaxzynat} \lstinputlisting[language=sail]{sail_latexcc/sailccmaxnat.tex}}
-
-\newcommand{\sailccmaxint}{\label{zmaxzyint} \lstinputlisting[language=sail]{sail_latexcc/sailccmaxint.tex}}
-
-\newcommand{\sailccminatom}{\label{zminzyatom} \lstinputlisting[language=sail]{sail_latexcc/sailccminatom.tex}}
-
-\newcommand{\sailccmaxatom}{\label{zmaxzyatom} \lstinputlisting[language=sail]{sail_latexcc/sailccmaxatom.tex}}
-
-\newcommand{\sailccmin}{\label{zmin} \lstinputlisting[language=sail]{sail_latexcc/sailccmin.tex}}
-
-\newcommand{\sailccmax}{\label{zmax} \lstinputlisting[language=sail]{sail_latexcc/sailccmax.tex}}
-
-\newcommand{\sailccWriteRAM}{\label{zzyzyWriteRAM} \lstinputlisting[language=sail]{sail_latexcc/sailccWriteRAM.tex}}
-
-\newcommand{\sailccMIPSwrite}{\label{zzyzyMIPSzywrite} \lstinputlisting[language=sail]{sail_latexcc/sailccMIPSwrite.tex}}
-
-\newcommand{\sailccfnMIPSwrite}{\label{zzyzyMIPSzywrite} \lstinputlisting[language=sail]{sail_latexcc/sailccfnMIPSwrite.tex}}
-
-\newcommand{\sailccReadRAM}{\label{zzyzyReadRAM} \lstinputlisting[language=sail]{sail_latexcc/sailccReadRAM.tex}}
-
-\newcommand{\sailccMIPSread}{\label{zzyzyMIPSzyread} \lstinputlisting[language=sail]{sail_latexcc/sailccMIPSread.tex}}
-
-\newcommand{\sailccfnMIPSread}{\label{zzyzyMIPSzyread} \lstinputlisting[language=sail]{sail_latexcc/sailccfnMIPSread.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozQzQznine}{\label{zzeightoperatorzzerozQzQznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozQzQznine.tex}}
-
-\newcommand{\sailccfnzeightoperatorzzerozQzQznine}{\label{zzeightoperatorzzerozQzQznine} \lstinputlisting[language=sail]{sail_latexcc/sailccfnzeightoperatorzzerozQzQznine.tex}}
-
-\newcommand{\sailccpowtwo}{\label{zpowtwo} \lstinputlisting[language=sail]{sail_latexcc/sailccpowtwo.tex}}
-
-\newcommand{\sailccmipssignextend}{\label{zmipszysignzyextend} \lstinputlisting[language=sail]{sail_latexcc/sailccmipssignextend.tex}}
-
-\newcommand{\sailccmipszzeroextend}{\label{zmipszyzzerozyextend} \lstinputlisting[language=sail]{sail_latexcc/sailccmipszzeroextend.tex}}
-
-\newcommand{\sailccfnmipssignextend}{\label{zmipszysignzyextend} \lstinputlisting[language=sail]{sail_latexcc/sailccfnmipssignextend.tex}}
-
-\newcommand{\sailccfnmipszzeroextend}{\label{zmipszyzzerozyextend} \lstinputlisting[language=sail]{sail_latexcc/sailccfnmipszzeroextend.tex}}
-
-\newcommand{\sailccsignextend}{\label{zsignzyextend} \lstinputlisting[language=sail]{sail_latexcc/sailccsignextend.tex}}
-
-\newcommand{\sailcczzeroextend}{\label{zzzerozyextend} \lstinputlisting[language=sail]{sail_latexcc/sailcczzeroextend.tex}}
-
-\newcommand{\sailcczzeros}{\label{zzzeros} \lstinputlisting[language=sail]{sail_latexcc/sailcczzeros.tex}}
-
-\newcommand{\sailccfnzzeros}{\label{zzzeros} \lstinputlisting[language=sail]{sail_latexcc/sailccfnzzeros.tex}}
-
-\newcommand{\sailccones}{\label{zones} \lstinputlisting[language=sail]{sail_latexcc/sailccones.tex}}
-
-\newcommand{\sailccfnones}{\label{zones} \lstinputlisting[language=sail]{sail_latexcc/sailccfnones.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozIsznine}{\label{zzeightoperatorzzerozIzysznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozIsznine.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozKzJsznine}{\label{zzeightoperatorzzerozKzJzysznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozKzJsznine.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozIuznine}{\label{zzeightoperatorzzerozIzyuznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozIuznine.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozKzJuznine}{\label{zzeightoperatorzzerozKzJzyuznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozKzJuznine.tex}}
-
-\newcommand{\sailccfnzeightoperatorzzerozIsznine}{\label{zzeightoperatorzzerozIzysznine} \lstinputlisting[language=sail]{sail_latexcc/sailccfnzeightoperatorzzerozIsznine.tex}}
-
-\newcommand{\sailccfnzeightoperatorzzerozKzJsznine}{\label{zzeightoperatorzzerozKzJzysznine} \lstinputlisting[language=sail]{sail_latexcc/sailccfnzeightoperatorzzerozKzJsznine.tex}}
-
-\newcommand{\sailccfnzeightoperatorzzerozIuznine}{\label{zzeightoperatorzzerozIzyuznine} \lstinputlisting[language=sail]{sail_latexcc/sailccfnzeightoperatorzzerozIuznine.tex}}
-
-\newcommand{\sailccfnzeightoperatorzzerozKzJuznine}{\label{zzeightoperatorzzerozKzJzyuznine} \lstinputlisting[language=sail]{sail_latexcc/sailccfnzeightoperatorzzerozKzJuznine.tex}}
-
-\newcommand{\sailccbooltobits}{\label{zboolzytozybits} \lstinputlisting[language=sail]{sail_latexcc/sailccbooltobits.tex}}
-
-\newcommand{\sailccfnbooltobits}{\label{zboolzytozybits} \lstinputlisting[language=sail]{sail_latexcc/sailccfnbooltobits.tex}}
-
-\newcommand{\sailccbittobool}{\label{zbitzytozybool} \lstinputlisting[language=sail]{sail_latexcc/sailccbittobool.tex}}
-
-\newcommand{\sailccfnbittobool}{\label{zbitzytozybool} \lstinputlisting[language=sail]{sail_latexcc/sailccfnbittobool.tex}}
-
-\newcommand{\sailccbitstobool}{\label{zbitszytozybool} \lstinputlisting[language=sail]{sail_latexcc/sailccbitstobool.tex}}
-
-\newcommand{\sailccfnbitstobool}{\label{zbitszytozybool} \lstinputlisting[language=sail]{sail_latexcc/sailccfnbitstobool.tex}}
-
-\newcommand{\sailccshiftbitsright}{\label{zshiftzybitszyright} \lstinputlisting[language=sail]{sail_latexcc/sailccshiftbitsright.tex}}
-
-\newcommand{\sailccshiftbitsleft}{\label{zshiftzybitszyleft} \lstinputlisting[language=sail]{sail_latexcc/sailccshiftbitsleft.tex}}
-
-\newcommand{\sailccshiftl}{\label{zshiftl} \lstinputlisting[language=sail]{sail_latexcc/sailccshiftl.tex}}
-
-\newcommand{\sailccshiftr}{\label{zshiftr} \lstinputlisting[language=sail]{sail_latexcc/sailccshiftr.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozKzKznine}{\label{zzeightoperatorzzerozKzKznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozKzKznine.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozIzIznine}{\label{zzeightoperatorzzerozIzIznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozIzIznine.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozKzKsznine}{\label{zzeightoperatorzzerozKzKzysznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozKzKsznine.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozAsznine}{\label{zzeightoperatorzzerozAzysznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozAsznine.tex}}
-
-\newcommand{\sailcczeightoperatorzzerozAuznine}{\label{zzeightoperatorzzerozAzyuznine} \lstinputlisting[language=sail]{sail_latexcc/sailcczeightoperatorzzerozAuznine.tex}}
-
-\newcommand{\sailcctobits}{\label{ztozybits}
-\function{to\_bits} converts an integer to a bit vector of given length. If the integer is negative a twos-complement representation is used. If the integer is too large (or too negative) to fit in the requested length then it is truncated to the least significant bits.
-\lstinputlisting[language=sail]{sail_latexcc/sailcctobits.tex}}
-
-\newcommand{\sailccfntobits}{\label{ztozybits} \lstinputlisting[language=sail]{sail_latexcc/sailccfntobits.tex}}
-
-\newcommand{\sailccmask}{\label{zmask} \lstinputlisting[language=sail]{sail_latexcc/sailccmask.tex}}
-
-\newcommand{\sailccfnmask}{\label{zmask} \lstinputlisting[language=sail]{sail_latexcc/sailccfnmask.tex}}
-
-\newcommand{\sailccgettimens}{\label{zgetzytimezyns} \lstinputlisting[language=sail]{sail_latexcc/sailccgettimens.tex}}
-
-\newcommand{\sailccCapLen}{\label{zCapLen} \lstinputlisting[language=sail]{sail_latexcc/sailccCapLen.tex}}
-
-\newcommand{\sailccuintsixfour}{\label{zuintsixfour} \lstinputlisting[language=sail]{sail_latexcc/sailccuintsixfour.tex}}
-
-\newcommand{\sailccCPtrCmpOp}{\label{zCPtrCmpOp} \lstinputlisting[language=sail]{sail_latexcc/sailccCPtrCmpOp.tex}}
-
-\newcommand{\sailccCPtrCmpOpofnum}{\label{zCPtrCmpOpzyofzynum} \lstinputlisting[language=sail]{sail_latexcc/sailccCPtrCmpOpofnum.tex}}
-
-\newcommand{\sailccfnCPtrCmpOpofnum}{\label{zCPtrCmpOpzyofzynum} \lstinputlisting[language=sail]{sail_latexcc/sailccfnCPtrCmpOpofnum.tex}}
-
-\newcommand{\sailccnumofCPtrCmpOp}{\label{znumzyofzyCPtrCmpOp} \lstinputlisting[language=sail]{sail_latexcc/sailccnumofCPtrCmpOp.tex}}
-
-\newcommand{\sailccfnnumofCPtrCmpOp}{\label{znumzyofzyCPtrCmpOp} \lstinputlisting[language=sail]{sail_latexcc/sailccfnnumofCPtrCmpOp.tex}}
-
-\newcommand{\sailccClearRegSet}{\label{zClearRegSet} \lstinputlisting[language=sail]{sail_latexcc/sailccClearRegSet.tex}}
-
-\newcommand{\sailccClearRegSetofnum}{\label{zClearRegSetzyofzynum} \lstinputlisting[language=sail]{sail_latexcc/sailccClearRegSetofnum.tex}}
-
-\newcommand{\sailccfnClearRegSetofnum}{\label{zClearRegSetzyofzynum} \lstinputlisting[language=sail]{sail_latexcc/sailccfnClearRegSetofnum.tex}}
-
-\newcommand{\sailccnumofClearRegSet}{\label{znumzyofzyClearRegSet} \lstinputlisting[language=sail]{sail_latexcc/sailccnumofClearRegSet.tex}}
-
-\newcommand{\sailccfnnumofClearRegSet}{\label{znumzyofzyClearRegSet} \lstinputlisting[language=sail]{sail_latexcc/sailccfnnumofClearRegSet.tex}}
-
-\newcommand{\sailccCapReg}{\label{zCapReg} \lstinputlisting[language=sail]{sail_latexcc/sailccCapReg.tex}}
-
-\newcommand{\sailccCapStruct}{\label{zCapStruct} \lstinputlisting[language=sail]{sail_latexcc/sailccCapStruct.tex}}
-
-\newcommand{\sailcccapRegToCapStruct}{\label{zcapRegToCapStruct} \lstinputlisting[language=sail]{sail_latexcc/sailcccapRegToCapStruct.tex}}
-
-\newcommand{\sailccfncapRegToCapStruct}{\label{zcapRegToCapStruct} \lstinputlisting[language=sail]{sail_latexcc/sailccfncapRegToCapStruct.tex}}
-
-\newcommand{\sailccgetCapHardPerms}{\label{zgetCapHardPerms} \lstinputlisting[language=sail]{sail_latexcc/sailccgetCapHardPerms.tex}}
-
-\newcommand{\sailccfngetCapHardPerms}{\label{zgetCapHardPerms} \lstinputlisting[language=sail]{sail_latexcc/sailccfngetCapHardPerms.tex}}
-
-\newcommand{\sailcccapStructToMemBitsonetwoeight}{\label{zcapStructToMemBitsonetwoeight} \lstinputlisting[language=sail]{sail_latexcc/sailcccapStructToMemBitsonetwoeight.tex}}
-
-\newcommand{\sailccfncapStructToMemBitsonetwoeight}{\label{zcapStructToMemBitsonetwoeight} \lstinputlisting[language=sail]{sail_latexcc/sailccfncapStructToMemBitsonetwoeight.tex}}
-
-\newcommand{\sailcccapStructToCapReg}{\label{zcapStructToCapReg} \lstinputlisting[language=sail]{sail_latexcc/sailcccapStructToCapReg.tex}}
-
-\newcommand{\sailccfncapStructToCapReg}{\label{zcapStructToCapReg} \lstinputlisting[language=sail]{sail_latexcc/sailccfncapStructToCapReg.tex}}
-
-\newcommand{\sailccmemBitsToCapBitsonetwoeight}{\label{zmemBitsToCapBitsonetwoeight} \lstinputlisting[language=sail]{sail_latexcc/sailccmemBitsToCapBitsonetwoeight.tex}}
-
-\newcommand{\sailccfnmemBitsToCapBitsonetwoeight}{\label{zmemBitsToCapBitsonetwoeight} \lstinputlisting[language=sail]{sail_latexcc/sailccfnmemBitsToCapBitsonetwoeight.tex}}
-
-\newcommand{\sailcccapStructToMemBits}{\label{zcapStructToMemBits} \lstinputlisting[language=sail]{sail_latexcc/sailcccapStructToMemBits.tex}}
-
-\newcommand{\sailccfncapStructToMemBits}{\label{zcapStructToMemBits} \lstinputlisting[language=sail]{sail_latexcc/sailccfncapStructToMemBits.tex}}
-
-\newcommand{\sailccmemBitsToCapBits}{\label{zmemBitsToCapBits} \lstinputlisting[language=sail]{sail_latexcc/sailccmemBitsToCapBits.tex}}
-
-\newcommand{\sailccfnmemBitsToCapBits}{\label{zmemBitsToCapBits} \lstinputlisting[language=sail]{sail_latexcc/sailccfnmemBitsToCapBits.tex}}
-
-\newcommand{\sailccgetCapPerms}{\label{zgetCapPerms} \lstinputlisting[language=sail]{sail_latexcc/sailccgetCapPerms.tex}}
-
-\newcommand{\sailccfngetCapPerms}{\label{zgetCapPerms} \lstinputlisting[language=sail]{sail_latexcc/sailccfngetCapPerms.tex}}
-
-\newcommand{\sailccsetCapPerms}{\label{zsetCapPerms} \lstinputlisting[language=sail]{sail_latexcc/sailccsetCapPerms.tex}}
-
-\newcommand{\sailccfnsetCapPerms}{\label{zsetCapPerms} \lstinputlisting[language=sail]{sail_latexcc/sailccfnsetCapPerms.tex}}
-
-\newcommand{\sailccsealCap}{\label{zsealCap} \lstinputlisting[language=sail]{sail_latexcc/sailccsealCap.tex}}
-
-\newcommand{\sailccfnsealCap}{\label{zsealCap} \lstinputlisting[language=sail]{sail_latexcc/sailccfnsealCap.tex}}
-
-\newcommand{\sailccatopcorrection}{\label{zazytopzycorrection} \lstinputlisting[language=sail]{sail_latexcc/sailccatopcorrection.tex}}
-
-\newcommand{\sailccfnatopcorrection}{\label{zazytopzycorrection} \lstinputlisting[language=sail]{sail_latexcc/sailccfnatopcorrection.tex}}
-
-\newcommand{\sailccgetCapBase}{\label{zgetCapBase} \lstinputlisting[language=sail]{sail_latexcc/sailccgetCapBase.tex}}
-
-\newcommand{\sailccfngetCapBase}{\label{zgetCapBase} \lstinputlisting[language=sail]{sail_latexcc/sailccfngetCapBase.tex}}
-
-\newcommand{\sailccgetCapTop}{\label{zgetCapTop} \lstinputlisting[language=sail]{sail_latexcc/sailccgetCapTop.tex}}
-
-\newcommand{\sailccfngetCapTop}{\label{zgetCapTop} \lstinputlisting[language=sail]{sail_latexcc/sailccfngetCapTop.tex}}
-
-\newcommand{\sailccgetCapOffset}{\label{zgetCapOffset} \lstinputlisting[language=sail]{sail_latexcc/sailccgetCapOffset.tex}}
-
-\newcommand{\sailccfngetCapOffset}{\label{zgetCapOffset} \lstinputlisting[language=sail]{sail_latexcc/sailccfngetCapOffset.tex}}
-
-\newcommand{\sailccgetCapLength}{\label{zgetCapLength} \lstinputlisting[language=sail]{sail_latexcc/sailccgetCapLength.tex}}
-
-\newcommand{\sailccfngetCapLength}{\label{zgetCapLength} \lstinputlisting[language=sail]{sail_latexcc/sailccfngetCapLength.tex}}
-
-\newcommand{\sailccgetCapCursor}{\label{zgetCapCursor} \lstinputlisting[language=sail]{sail_latexcc/sailccgetCapCursor.tex}}
-
-\newcommand{\sailccfngetCapCursor}{\label{zgetCapCursor} \lstinputlisting[language=sail]{sail_latexcc/sailccfngetCapCursor.tex}}
-
-\newcommand{\sailccfastRepCheck}{\label{zfastRepCheck} \lstinputlisting[language=sail]{sail_latexcc/sailccfastRepCheck.tex}}
-
-\newcommand{\sailccfnfastRepCheck}{\label{zfastRepCheck} \lstinputlisting[language=sail]{sail_latexcc/sailccfnfastRepCheck.tex}}
-
-\newcommand{\sailccsetCapOffset}{\label{zsetCapOffset} \lstinputlisting[language=sail]{sail_latexcc/sailccsetCapOffset.tex}}
-
-\newcommand{\sailccfnsetCapOffset}{\label{zsetCapOffset} \lstinputlisting[language=sail]{sail_latexcc/sailccfnsetCapOffset.tex}}
-
-\newcommand{\sailccincCapOffset}{\label{zincCapOffset} \lstinputlisting[language=sail]{sail_latexcc/sailccincCapOffset.tex}}
-
-\newcommand{\sailccfnincCapOffset}{\label{zincCapOffset} \lstinputlisting[language=sail]{sail_latexcc/sailccfnincCapOffset.tex}}
-
-\newcommand{\sailccHighestSetBit}{\label{zHighestSetBit} \lstinputlisting[language=sail]{sail_latexcc/sailccHighestSetBit.tex}}
-
-\newcommand{\sailccfnHighestSetBit}{\label{zHighestSetBit} \lstinputlisting[language=sail]{sail_latexcc/sailccfnHighestSetBit.tex}}
-
-\newcommand{\sailccroundUp}{\label{zroundUp} \lstinputlisting[language=sail]{sail_latexcc/sailccroundUp.tex}}
-
-\newcommand{\sailccfnroundUp}{\label{zroundUp} \lstinputlisting[language=sail]{sail_latexcc/sailccfnroundUp.tex}}
-
-\newcommand{\sailcccomputeE}{\label{zcomputeE} \lstinputlisting[language=sail]{sail_latexcc/sailcccomputeE.tex}}
-
-\newcommand{\sailccfncomputeE}{\label{zcomputeE} \lstinputlisting[language=sail]{sail_latexcc/sailccfncomputeE.tex}}
-
-\newcommand{\sailccsetCapBounds}{\label{zsetCapBounds} \lstinputlisting[language=sail]{sail_latexcc/sailccsetCapBounds.tex}}
-
-\newcommand{\sailccfnsetCapBounds}{\label{zsetCapBounds} \lstinputlisting[language=sail]{sail_latexcc/sailccfnsetCapBounds.tex}}
-
-\newcommand{\sailccinttocap}{\label{zintzytozycap} \lstinputlisting[language=sail]{sail_latexcc/sailccinttocap.tex}}
-
-\newcommand{\sailccfninttocap}{\label{zintzytozycap} \lstinputlisting[language=sail]{sail_latexcc/sailccfninttocap.tex}}
-
diff --git a/cheri/sail_latexcc/sailccBitStr.tex b/cheri/sail_latexcc/sailccBitStr.tex
deleted file mode 100644
index a0d408ab..00000000
--- a/cheri/sail_latexcc/sailccBitStr.tex
+++ /dev/null
@@ -1 +0,0 @@
-val BitStr = "string_of_bits" : forall 'n. #\hyperref[zbits]{bits}#('n) -> string
diff --git a/cheri/sail_latexcc/sailccCPtrCmpOp.tex b/cheri/sail_latexcc/sailccCPtrCmpOp.tex
deleted file mode 100644
index cb0a73ae..00000000
--- a/cheri/sail_latexcc/sailccCPtrCmpOp.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-enum CPtrCmpOp = {
- CEQ,
- CNE,
- CLT,
- CLE,
- CLTU,
- CLEU,
- CEXEQ,
- CNEXEQ
-}
diff --git a/cheri/sail_latexcc/sailccCPtrCmpOpofnum.tex b/cheri/sail_latexcc/sailccCPtrCmpOpofnum.tex
deleted file mode 100644
index bd6ca31c..00000000
--- a/cheri/sail_latexcc/sailccCPtrCmpOpofnum.tex
+++ /dev/null
@@ -1 +0,0 @@
-val CPtrCmpOp_of_num : forall ('e : Int), 0 <= 'e & 'e <= 7. atom('e) -> CPtrCmpOp
diff --git a/cheri/sail_latexcc/sailccCapLen.tex b/cheri/sail_latexcc/sailccCapLen.tex
deleted file mode 100644
index 812f45ff..00000000
--- a/cheri/sail_latexcc/sailccCapLen.tex
+++ /dev/null
@@ -1 +0,0 @@
-type CapLen = range(0, 2 ^ 65)
diff --git a/cheri/sail_latexcc/sailccCapReg.tex b/cheri/sail_latexcc/sailccCapReg.tex
deleted file mode 100644
index 702141d9..00000000
--- a/cheri/sail_latexcc/sailccCapReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-type CapReg = #\hyperref[zbits]{bits}#(129)
diff --git a/cheri/sail_latexcc/sailccCapStruct.tex b/cheri/sail_latexcc/sailccCapStruct.tex
deleted file mode 100644
index b1df7ec5..00000000
--- a/cheri/sail_latexcc/sailccCapStruct.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-struct CapStruct = {
- tag : bool ,
- uperms : #\hyperref[zbits]{bits}#(4) ,
- access_system_regs : bool ,
- permit_unseal : bool ,
- permit_ccall : bool ,
- permit_seal : bool ,
- permit_store_local_cap : bool ,
- permit_store_cap : bool ,
- permit_load_cap : bool ,
- permit_store : bool ,
- permit_load : bool ,
- permit_execute : bool ,
- global : bool ,
- reserved : #\hyperref[zbits]{bits}#(2) ,
- E : #\hyperref[zbits]{bits}#(6) ,
- sealed : bool ,
- B : #\hyperref[zbits]{bits}#(20),
- T : #\hyperref[zbits]{bits}#(20),
- otype : #\hyperref[zbits]{bits}#(24),
- address : #\hyperref[zbits]{bits}#(64)
-}
diff --git a/cheri/sail_latexcc/sailccClearRegSet.tex b/cheri/sail_latexcc/sailccClearRegSet.tex
deleted file mode 100644
index c04ea7d4..00000000
--- a/cheri/sail_latexcc/sailccClearRegSet.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-enum ClearRegSet = {
-GPLo,
-GPHi,
-CLo,
-CHi
-}
diff --git a/cheri/sail_latexcc/sailccClearRegSetofnum.tex b/cheri/sail_latexcc/sailccClearRegSetofnum.tex
deleted file mode 100644
index c73d36d9..00000000
--- a/cheri/sail_latexcc/sailccClearRegSetofnum.tex
+++ /dev/null
@@ -1 +0,0 @@
-val ClearRegSet_of_num : forall ('e : Int), 0 <= 'e & 'e <= 3. atom('e) -> ClearRegSet
diff --git a/cheri/sail_latexcc/sailccHighestSetBit.tex b/cheri/sail_latexcc/sailccHighestSetBit.tex
deleted file mode 100644
index eb8a5e36..00000000
--- a/cheri/sail_latexcc/sailccHighestSetBit.tex
+++ /dev/null
@@ -1 +0,0 @@
-val HighestSetBit : forall 'N , 'N >= 2. #\hyperref[zbits]{bits}#('N) -> {'n, 0 <= 'n < 'N . (bool, atom('n))}
diff --git a/cheri/sail_latexcc/sailccMIPSread.tex b/cheri/sail_latexcc/sailccMIPSread.tex
deleted file mode 100644
index 92ca59cc..00000000
--- a/cheri/sail_latexcc/sailccMIPSread.tex
+++ /dev/null
@@ -1 +0,0 @@
-val __MIPS_read : forall 'n, 'n >= 0. (#\hyperref[zbits]{bits}#(64), atom('n)) -> #\hyperref[zbits]{bits}#(8 * 'n) effect {rmem}
diff --git a/cheri/sail_latexcc/sailccMIPSwrite.tex b/cheri/sail_latexcc/sailccMIPSwrite.tex
deleted file mode 100644
index cc67fa20..00000000
--- a/cheri/sail_latexcc/sailccMIPSwrite.tex
+++ /dev/null
@@ -1 +0,0 @@
-val __MIPS_write : forall 'n. (#\hyperref[zbits]{bits}#(64), atom('n), #\hyperref[zbits]{bits}#(8 * 'n)) -> unit effect {wmv}
diff --git a/cheri/sail_latexcc/sailccReadRAM.tex b/cheri/sail_latexcc/sailccReadRAM.tex
deleted file mode 100644
index 68d629a6..00000000
--- a/cheri/sail_latexcc/sailccReadRAM.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val __ReadRAM = "read_ram" : forall 'n 'm, 'n >= 0.
- (atom('m), atom('n), #\hyperref[zbits]{bits}#('m), #\hyperref[zbits]{bits}#('m)) -> #\hyperref[zbits]{bits}#(8 * 'n) effect {rmem}
diff --git a/cheri/sail_latexcc/sailccWriteRAM.tex b/cheri/sail_latexcc/sailccWriteRAM.tex
deleted file mode 100644
index 2ed4aca2..00000000
--- a/cheri/sail_latexcc/sailccWriteRAM.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val __WriteRAM = "write_ram" : forall 'n 'm.
- (atom('m), atom('n), #\hyperref[zbits]{bits}#('m), #\hyperref[zbits]{bits}#('m), #\hyperref[zbits]{bits}#(8 * 'n)) -> bool effect {wmv}
diff --git a/cheri/sail_latexcc/sailccabsatom.tex b/cheri/sail_latexcc/sailccabsatom.tex
deleted file mode 100644
index 5164ef32..00000000
--- a/cheri/sail_latexcc/sailccabsatom.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-val abs_atom = {
- smt : "abs",
- ocaml: "abs_int",
- lem: "abs_int",
- c: "abs_int",
- coq: "abs_with_eq"
-} : forall 'n. atom('n) -> {'o, 'o = #\hyperref[zabszyatom]{abs\_atom}#('n). atom('o)}
diff --git a/cheri/sail_latexcc/sailccabsint.tex b/cheri/sail_latexcc/sailccabsint.tex
deleted file mode 100644
index d3b67cfb..00000000
--- a/cheri/sail_latexcc/sailccabsint.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-val abs_int = {
- smt : "abs",
- ocaml: "abs_int",
- lem: "abs_int",
- coq: "Z.abs"
-} : (int, int) -> int
diff --git a/cheri/sail_latexcc/sailccaddatom.tex b/cheri/sail_latexcc/sailccaddatom.tex
deleted file mode 100644
index 8b6ac810..00000000
--- a/cheri/sail_latexcc/sailccaddatom.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val add_atom = {ocaml: "add_int", lem: "integerAdd", c: "add_int", coq: "Z.add"} : forall 'n 'm.
- (atom('n), atom('m)) -> atom('n + 'm)
diff --git a/cheri/sail_latexcc/sailccaddbits.tex b/cheri/sail_latexcc/sailccaddbits.tex
deleted file mode 100644
index 95f653d1..00000000
--- a/cheri/sail_latexcc/sailccaddbits.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-val add_bits = {
- ocaml: "add_vec",
- lem: "add_vec",
- c: "add_bits",
- coq: "add_vec"
-} : forall 'n. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latexcc/sailccaddbitsint.tex b/cheri/sail_latexcc/sailccaddbitsint.tex
deleted file mode 100644
index ee9a8aa2..00000000
--- a/cheri/sail_latexcc/sailccaddbitsint.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-val add_bits_int = {
- ocaml: "add_vec_int",
- lem: "add_vec_int",
- c: "add_bits_int",
- coq: "add_vec_int"
-} : forall 'n. (#\hyperref[zbits]{bits}#('n), int) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latexcc/sailccaddint.tex b/cheri/sail_latexcc/sailccaddint.tex
deleted file mode 100644
index 9fe5b078..00000000
--- a/cheri/sail_latexcc/sailccaddint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val add_int = {ocaml: "add_int", lem: "integerAdd", c: "add_int", coq: "Z.add"} : (int, int) -> int
diff --git a/cheri/sail_latexcc/sailccaddrange.tex b/cheri/sail_latexcc/sailccaddrange.tex
deleted file mode 100644
index fbf498b1..00000000
--- a/cheri/sail_latexcc/sailccaddrange.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val add_range = {ocaml: "add_int", lem: "integerAdd", coq: "add_range", c: "add_int"} : forall 'n 'm 'o 'p.
- (range('n, 'm), range('o, 'p)) -> range('n + 'o, 'm + 'p)
diff --git a/cheri/sail_latexcc/sailccaddvec.tex b/cheri/sail_latexcc/sailccaddvec.tex
deleted file mode 100644
index bb625afe..00000000
--- a/cheri/sail_latexcc/sailccaddvec.tex
+++ /dev/null
@@ -1 +0,0 @@
-val add_vec = "add_vec" : forall 'n. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latexcc/sailccaddvecint.tex b/cheri/sail_latexcc/sailccaddvecint.tex
deleted file mode 100644
index 189ad4aa..00000000
--- a/cheri/sail_latexcc/sailccaddvecint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val add_vec_int = "add_vec_int" : forall 'n. (#\hyperref[zbits]{bits}#('n), int) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latexcc/sailccandbits.tex b/cheri/sail_latexcc/sailccandbits.tex
deleted file mode 100644
index 8e35bd5b..00000000
--- a/cheri/sail_latexcc/sailccandbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-val and_bits = {c:"and_bits", _: "and_vec"} : forall 'n. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latexcc/sailccandbool.tex b/cheri/sail_latexcc/sailccandbool.tex
deleted file mode 100644
index 926dce9f..00000000
--- a/cheri/sail_latexcc/sailccandbool.tex
+++ /dev/null
@@ -1 +0,0 @@
-val and_bool = {coq: "andb", _: "and_bool"} : (bool, bool) -> bool
diff --git a/cheri/sail_latexcc/sailccappend.tex b/cheri/sail_latexcc/sailccappend.tex
deleted file mode 100644
index 56c12116..00000000
--- a/cheri/sail_latexcc/sailccappend.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload append = {bitvector_concat} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccappendsixfour.tex b/cheri/sail_latexcc/sailccappendsixfour.tex
deleted file mode 100644
index 633593b3..00000000
--- a/cheri/sail_latexcc/sailccappendsixfour.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "append_64" : forall 'n. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#(64)) -> #\hyperref[zbits]{bits}#('n + 64)
diff --git a/cheri/sail_latexcc/sailccatopcorrection.tex b/cheri/sail_latexcc/sailccatopcorrection.tex
deleted file mode 100644
index 13bbaf7b..00000000
--- a/cheri/sail_latexcc/sailccatopcorrection.tex
+++ /dev/null
@@ -1 +0,0 @@
-val a_top_correction : (bits(20), bits(20), bits(20)) -> bits(65)
diff --git a/cheri/sail_latexcc/sailccbits.tex b/cheri/sail_latexcc/sailccbits.tex
deleted file mode 100644
index 88255b5a..00000000
--- a/cheri/sail_latexcc/sailccbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-type #\hyperref[zbits]{bits}# ('n : Int) = vector('n, dec, bit)
diff --git a/cheri/sail_latexcc/sailccbitstobool.tex b/cheri/sail_latexcc/sailccbitstobool.tex
deleted file mode 100644
index 17cb3483..00000000
--- a/cheri/sail_latexcc/sailccbitstobool.tex
+++ /dev/null
@@ -1 +0,0 @@
-val cast bits_to_bool : #\hyperref[zbits]{bits}#(1) -> bool
diff --git a/cheri/sail_latexcc/sailccbittobool.tex b/cheri/sail_latexcc/sailccbittobool.tex
deleted file mode 100644
index 13a2dfb8..00000000
--- a/cheri/sail_latexcc/sailccbittobool.tex
+++ /dev/null
@@ -1 +0,0 @@
-val cast bit_to_bool : bit -> bool
diff --git a/cheri/sail_latexcc/sailccbitvectoraccess.tex b/cheri/sail_latexcc/sailccbitvectoraccess.tex
deleted file mode 100644
index 4bb98eb8..00000000
--- a/cheri/sail_latexcc/sailccbitvectoraccess.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-val bitvector_access = {
- ocaml: "access",
- lem: "access_vec_dec",
- coq: "access_vec_dec",
- c: "vector_access"
-} : forall ('n : Int), 'n >= 0. (#\hyperref[zbits]{bits}#('n), int) -> bit
diff --git a/cheri/sail_latexcc/sailccbitvectorconcat.tex b/cheri/sail_latexcc/sailccbitvectorconcat.tex
deleted file mode 100644
index afc03901..00000000
--- a/cheri/sail_latexcc/sailccbitvectorconcat.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val bitvector_concat = {ocaml: "append", lem: "concat_vec", c: "append", coq: "concat_vec"} : forall ('n : Int) ('m : Int).
- (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('m)) -> #\hyperref[zbits]{bits}#('n + 'm)
diff --git a/cheri/sail_latexcc/sailccbitvectorlength.tex b/cheri/sail_latexcc/sailccbitvectorlength.tex
deleted file mode 100644
index ac601acd..00000000
--- a/cheri/sail_latexcc/sailccbitvectorlength.tex
+++ /dev/null
@@ -1 +0,0 @@
-val bitvector_length = {coq: "length_mword", _:"length"} : forall 'n. #\hyperref[zbits]{bits}#('n) -> atom('n)
diff --git a/cheri/sail_latexcc/sailccbitvectorupdate.tex b/cheri/sail_latexcc/sailccbitvectorupdate.tex
deleted file mode 100644
index 6524146e..00000000
--- a/cheri/sail_latexcc/sailccbitvectorupdate.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-val bitvector_update = {
- ocaml: "update",
- lem: "update_vec_dec",
- coq: "update_vec_dec",
- c: "vector_update"
-} : forall 'n, 'n >= 0. (#\hyperref[zbits]{bits}#('n), int, bit) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latexcc/sailccbooltobits.tex b/cheri/sail_latexcc/sailccbooltobits.tex
deleted file mode 100644
index 711ab763..00000000
--- a/cheri/sail_latexcc/sailccbooltobits.tex
+++ /dev/null
@@ -1 +0,0 @@
-val cast bool_to_bits : bool -> #\hyperref[zbits]{bits}#(1)
diff --git a/cheri/sail_latexcc/sailcccapRegToCapStruct.tex b/cheri/sail_latexcc/sailcccapRegToCapStruct.tex
deleted file mode 100644
index bd64d554..00000000
--- a/cheri/sail_latexcc/sailcccapRegToCapStruct.tex
+++ /dev/null
@@ -1 +0,0 @@
-val capRegToCapStruct : CapReg -> CapStruct
diff --git a/cheri/sail_latexcc/sailcccapStructToCapReg.tex b/cheri/sail_latexcc/sailcccapStructToCapReg.tex
deleted file mode 100644
index b5409845..00000000
--- a/cheri/sail_latexcc/sailcccapStructToCapReg.tex
+++ /dev/null
@@ -1 +0,0 @@
-val capStructToCapReg : CapStruct -> CapReg
diff --git a/cheri/sail_latexcc/sailcccapStructToMemBits.tex b/cheri/sail_latexcc/sailcccapStructToMemBits.tex
deleted file mode 100644
index 4a49e9c0..00000000
--- a/cheri/sail_latexcc/sailcccapStructToMemBits.tex
+++ /dev/null
@@ -1 +0,0 @@
-val capStructToMemBits : CapStruct -> bits(128)
diff --git a/cheri/sail_latexcc/sailcccapStructToMemBitsonetwoeight.tex b/cheri/sail_latexcc/sailcccapStructToMemBitsonetwoeight.tex
deleted file mode 100644
index 8f3a8d0f..00000000
--- a/cheri/sail_latexcc/sailcccapStructToMemBitsonetwoeight.tex
+++ /dev/null
@@ -1 +0,0 @@
-val capStructToMemBits128 : CapStruct -> bits(128)
diff --git a/cheri/sail_latexcc/sailcccastunitvec.tex b/cheri/sail_latexcc/sailcccastunitvec.tex
deleted file mode 100644
index e0391ded..00000000
--- a/cheri/sail_latexcc/sailcccastunitvec.tex
+++ /dev/null
@@ -1 +0,0 @@
-val cast cast_unit_vec : bit -> #\hyperref[zbits]{bits}#(1)
diff --git a/cheri/sail_latexcc/sailcccomputeE.tex b/cheri/sail_latexcc/sailcccomputeE.tex
deleted file mode 100644
index 893cea49..00000000
--- a/cheri/sail_latexcc/sailcccomputeE.tex
+++ /dev/null
@@ -1 +0,0 @@
-val computeE : bits(65) -> range(0, 48) effect {escape}
diff --git a/cheri/sail_latexcc/sailccconcatstr.tex b/cheri/sail_latexcc/sailccconcatstr.tex
deleted file mode 100644
index 07556728..00000000
--- a/cheri/sail_latexcc/sailccconcatstr.tex
+++ /dev/null
@@ -1 +0,0 @@
-val concat_str = {lem: "stringAppend", coq: "String.append", _: "concat_str"} : (string, string) -> string
diff --git a/cheri/sail_latexcc/sailccdiv.tex b/cheri/sail_latexcc/sailccdiv.tex
deleted file mode 100644
index 58318fe9..00000000
--- a/cheri/sail_latexcc/sailccdiv.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-val div = {
- smt: "div",
- ocaml: "quotient",
- lem: "integerDiv",
- c: "tdiv_int",
- coq: "div_with_eq"
-} : forall 'n 'm. (atom('n), atom('m)) -> {'o, 'o = #\hyperref[zdiv]{div}#('n, 'm). atom('o)}
diff --git a/cheri/sail_latexcc/sailccdivint.tex b/cheri/sail_latexcc/sailccdivint.tex
deleted file mode 100644
index 34ae6121..00000000
--- a/cheri/sail_latexcc/sailccdivint.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-val div_int = {
- smt: "div",
- ocaml: "quotient",
- lem: "integerDiv",
- c: "tdiv_int",
- coq: "Z.quot"
-} : (int, int) -> int
diff --git a/cheri/sail_latexcc/sailcceqanything.tex b/cheri/sail_latexcc/sailcceqanything.tex
deleted file mode 100644
index 9b5d3c92..00000000
--- a/cheri/sail_latexcc/sailcceqanything.tex
+++ /dev/null
@@ -1 +0,0 @@
-val eq_anything = {ocaml: "(#\hyperref[zfun]{fun}# (x, y) -> x = y)", lem: "eq", coq: "generic_eq", _:"eq_anything"} : forall ('a : Type). ('a, 'a) -> bool
diff --git a/cheri/sail_latexcc/sailcceqatom.tex b/cheri/sail_latexcc/sailcceqatom.tex
deleted file mode 100644
index 0325ab15..00000000
--- a/cheri/sail_latexcc/sailcceqatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val eq_atom = {ocaml: "eq_int", lem: "eq", c: "eq_int", coq: "Z.eqb"} : forall 'n 'm. (atom('n), atom('m)) -> bool
diff --git a/cheri/sail_latexcc/sailcceqbit.tex b/cheri/sail_latexcc/sailcceqbit.tex
deleted file mode 100644
index 205d3436..00000000
--- a/cheri/sail_latexcc/sailcceqbit.tex
+++ /dev/null
@@ -1 +0,0 @@
-val eq_bit = { lem : "eq", _ : "eq_bit" } : (bit, bit) -> bool
diff --git a/cheri/sail_latexcc/sailcceqbits.tex b/cheri/sail_latexcc/sailcceqbits.tex
deleted file mode 100644
index e78ed19a..00000000
--- a/cheri/sail_latexcc/sailcceqbits.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-val eq_bits = {
- ocaml: "eq_list",
- lem: "eq_vec",
- c: "eq_bits",
- coq: "eq_vec"
-} : forall 'n. (vector('n, dec, bit), vector('n, dec, bit)) -> bool
diff --git a/cheri/sail_latexcc/sailcceqbittwo.tex b/cheri/sail_latexcc/sailcceqbittwo.tex
deleted file mode 100644
index 59353940..00000000
--- a/cheri/sail_latexcc/sailcceqbittwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-val eq_bit2 = "eq_bit" : (bit, bit) -> bool
diff --git a/cheri/sail_latexcc/sailcceqbool.tex b/cheri/sail_latexcc/sailcceqbool.tex
deleted file mode 100644
index 4d2c346b..00000000
--- a/cheri/sail_latexcc/sailcceqbool.tex
+++ /dev/null
@@ -1 +0,0 @@
-val eq_bool = {ocaml: "eq_bool", lem: "eq", c: "eq_bool", coq: "Bool.eqb"} : (bool, bool) -> bool
diff --git a/cheri/sail_latexcc/sailcceqint.tex b/cheri/sail_latexcc/sailcceqint.tex
deleted file mode 100644
index 4c0462c1..00000000
--- a/cheri/sail_latexcc/sailcceqint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val eq_int = {ocaml: "eq_int", lem: "eq", c: "eq_int", coq: "Z.eqb"} : (int, int) -> bool
diff --git a/cheri/sail_latexcc/sailcceqrange.tex b/cheri/sail_latexcc/sailcceqrange.tex
deleted file mode 100644
index 7f1cd5f2..00000000
--- a/cheri/sail_latexcc/sailcceqrange.tex
+++ /dev/null
@@ -1 +0,0 @@
-val eq_range = {ocaml: "eq_int", lem: "eq", c: "eq_int", coq: "eq_range"} : forall 'n 'm 'o 'p. (range('n, 'm), range('o, 'p)) -> bool
diff --git a/cheri/sail_latexcc/sailccfastRepCheck.tex b/cheri/sail_latexcc/sailccfastRepCheck.tex
deleted file mode 100644
index 2dd665fb..00000000
--- a/cheri/sail_latexcc/sailccfastRepCheck.tex
+++ /dev/null
@@ -1 +0,0 @@
-val fastRepCheck : (CapStruct, bits(64)) -> bool
diff --git a/cheri/sail_latexcc/sailccfnCPtrCmpOpofnum.tex b/cheri/sail_latexcc/sailccfnCPtrCmpOpofnum.tex
deleted file mode 100644
index 6ab563f3..00000000
--- a/cheri/sail_latexcc/sailccfnCPtrCmpOpofnum.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-function CPtrCmpOp_of_num arg# = match arg# {
- 0 => CEQ,
- 1 => CNE,
- 2 => CLT,
- 3 => CLE,
- 4 => CLTU,
- 5 => CLEU,
- 6 => CEXEQ,
- _ => CNEXEQ
-}
diff --git a/cheri/sail_latexcc/sailccfnClearRegSetofnum.tex b/cheri/sail_latexcc/sailccfnClearRegSetofnum.tex
deleted file mode 100644
index edfe64e3..00000000
--- a/cheri/sail_latexcc/sailccfnClearRegSetofnum.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function ClearRegSet_of_num arg# = match arg# {
- 0 => GPLo,
- 1 => GPHi,
- 2 => CLo,
- _ => CHi
-}
diff --git a/cheri/sail_latexcc/sailccfnHighestSetBit.tex b/cheri/sail_latexcc/sailccfnHighestSetBit.tex
deleted file mode 100644
index dbbc5b49..00000000
--- a/cheri/sail_latexcc/sailccfnHighestSetBit.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-function HighestSetBit x = {
- foreach (i #\hyperref[zfrom]{from}# ('N - 1) to 0 by 1 in dec)
- if [x[i]] == 0b1 then return (true, i);
- return (false, 0)
-}
diff --git a/cheri/sail_latexcc/sailccfnMIPSread.tex b/cheri/sail_latexcc/sailccfnMIPSread.tex
deleted file mode 100644
index ee937856..00000000
--- a/cheri/sail_latexcc/sailccfnMIPSread.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zzyzyMIPSzyread]{\_\_MIPS\_read}# (addr, width) = #\hyperref[zzyzyReadRAM]{\_\_ReadRAM}#(64, width, 0x0000_0000_0000_0000, addr)
diff --git a/cheri/sail_latexcc/sailccfnMIPSwrite.tex b/cheri/sail_latexcc/sailccfnMIPSwrite.tex
deleted file mode 100644
index 5e81f335..00000000
--- a/cheri/sail_latexcc/sailccfnMIPSwrite.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zzyzyMIPSzywrite]{\_\_MIPS\_write}# (addr, width, data) = let _ = #\hyperref[zzyzyWriteRAM]{\_\_WriteRAM}#(64, width, 0x0000_0000_0000_0000, addr, data) in ()
diff --git a/cheri/sail_latexcc/sailccfnatopcorrection.tex b/cheri/sail_latexcc/sailccfnatopcorrection.tex
deleted file mode 100644
index 3a6be173..00000000
--- a/cheri/sail_latexcc/sailccfnatopcorrection.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-function #\hyperref[zazytopzycorrection]{a\_top\_correction}#(a_mid, R, bound) : (#\hyperref[zbits]{bits}#(20), #\hyperref[zbits]{bits}#(20), #\hyperref[zbits]{bits}#(20)) -> #\hyperref[zbits]{bits}#(65) =
- match (a_mid <_u R, bound <_u R) {
- (false, false) => #\hyperref[zzzeros]{zeros}#(),
- (false, true) => #\hyperref[zzzerozyextend]{zero\_extend}#(0b1),
- (true, false) => #\hyperref[zones]{ones}#(),
- (true, true) => #\hyperref[zzzeros]{zeros}#()
- }
diff --git a/cheri/sail_latexcc/sailccfnbitstobool.tex b/cheri/sail_latexcc/sailccfnbitstobool.tex
deleted file mode 100644
index 1cb33076..00000000
--- a/cheri/sail_latexcc/sailccfnbitstobool.tex
+++ /dev/null
@@ -1 +0,0 @@
-function bits_to_bool x = #\hyperref[zbitzytozybool]{bit\_to\_bool}#(x[0])
diff --git a/cheri/sail_latexcc/sailccfnbittobool.tex b/cheri/sail_latexcc/sailccfnbittobool.tex
deleted file mode 100644
index a5eea578..00000000
--- a/cheri/sail_latexcc/sailccfnbittobool.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function bit_to_bool b = match b {
- bitone => true,
- _ => false
-}
diff --git a/cheri/sail_latexcc/sailccfnbooltobits.tex b/cheri/sail_latexcc/sailccfnbooltobits.tex
deleted file mode 100644
index 99075369..00000000
--- a/cheri/sail_latexcc/sailccfnbooltobits.tex
+++ /dev/null
@@ -1 +0,0 @@
-function bool_to_bits x = if x then 0b1 else 0b0
diff --git a/cheri/sail_latexcc/sailccfncapRegToCapStruct.tex b/cheri/sail_latexcc/sailccfncapRegToCapStruct.tex
deleted file mode 100644
index 4af338b9..00000000
--- a/cheri/sail_latexcc/sailccfncapRegToCapStruct.tex
+++ /dev/null
@@ -1,27 +0,0 @@
-function #\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(c) : CapReg -> CapStruct =
- let s : bool = c[104] in
- let Bc : #\hyperref[zbits]{bits}#(20) = if s then c[103..96] @ 0x000 else c[103..84] in
- let Tc : #\hyperref[zbits]{bits}#(20) = if s then c[83..76] @ 0x000 else c[83..64] in
- let otype : #\hyperref[zbits]{bits}#(24) = if s then c[95..84] @ c[75..64] else #\hyperref[zzzeros]{zeros}#() in
- struct {
- tag = c[128],
- uperms = c[127..124],
- access_system_regs = c[123],
- permit_unseal = c[122],
- permit_ccall = c[121],
- permit_seal = c[120],
- permit_store_local_cap = c[119],
- permit_store_cap = c[118],
- permit_load_cap = c[117],
- permit_store = c[116],
- permit_load = c[115],
- permit_execute = c[114],
- global = c[113],
- reserved = c[112..111],
- E = c[110..105],
- sealed = s,
- B = Bc,
- T = Tc,
- otype = otype,
- address = c[63..0]
- }
diff --git a/cheri/sail_latexcc/sailccfncapStructToCapReg.tex b/cheri/sail_latexcc/sailccfncapStructToCapReg.tex
deleted file mode 100644
index f6b02365..00000000
--- a/cheri/sail_latexcc/sailccfncapStructToCapReg.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function #\hyperref[zcapStructToCapReg]{capStructToCapReg}#(cap) : CapStruct -> CapReg =
- (cap.tag @ #\hyperref[zcapStructToMemBitsonetwoeight]{capStructToMemBits128}#(cap))
diff --git a/cheri/sail_latexcc/sailccfncapStructToMemBits.tex b/cheri/sail_latexcc/sailccfncapStructToMemBits.tex
deleted file mode 100644
index ea19467f..00000000
--- a/cheri/sail_latexcc/sailccfncapStructToMemBits.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function #\hyperref[zcapStructToMemBits]{capStructToMemBits}#(cap) : CapStruct -> #\hyperref[zbits]{bits}#(128) =
- #\hyperref[zcapStructToMemBitsonetwoeight]{capStructToMemBits128}#(cap) ^ null_cap_bits
diff --git a/cheri/sail_latexcc/sailccfncapStructToMemBitsonetwoeight.tex b/cheri/sail_latexcc/sailccfncapStructToMemBitsonetwoeight.tex
deleted file mode 100644
index 08da637f..00000000
--- a/cheri/sail_latexcc/sailccfncapStructToMemBitsonetwoeight.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-function #\hyperref[zcapStructToMemBitsonetwoeight]{capStructToMemBits128}#(cap) : CapStruct -> #\hyperref[zbits]{bits}#(128) =
- let b : #\hyperref[zbits]{bits}#(20) = if cap.sealed then (cap.B)[19..12] @ (cap.otype)[23..12] else cap.B in
- let t : #\hyperref[zbits]{bits}#(20) = if cap.sealed then (cap.T)[19..12] @ (cap.otype)[11..0] else cap.T in
- ( cap.uperms
- @ #\hyperref[zgetCapHardPerms]{getCapHardPerms}#(cap)
- @ cap.reserved
- @ cap.E
- @ cap.sealed
- @ b
- @ t
- @ cap.address
- )
diff --git a/cheri/sail_latexcc/sailccfncastunitvec.tex b/cheri/sail_latexcc/sailccfncastunitvec.tex
deleted file mode 100644
index 1bb7a9e0..00000000
--- a/cheri/sail_latexcc/sailccfncastunitvec.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function cast_unit_vec b = match b {
- bitzero => 0b0,
- _ => 0b1
-}
diff --git a/cheri/sail_latexcc/sailccfncomputeE.tex b/cheri/sail_latexcc/sailccfncomputeE.tex
deleted file mode 100644
index ef4cb71b..00000000
--- a/cheri/sail_latexcc/sailccfncomputeE.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-function #\hyperref[zcomputeE]{computeE}# (rlength) : #\hyperref[zbits]{bits}#(65) -> range(0, 48) =
- let (nonzero, 'msb) = #\hyperref[zHighestSetBit]{HighestSetBit}#((rlength + (rlength >> 6)) >> 19) in
- if nonzero then
- /* above will always return <= 45 because 19 bits of zero are shifted in from right */
- {assert(0 <= msb & msb <= 45); #\hyperref[zroundUp]{roundUp}# (#\hyperref[zmin]{min}#(msb,45)) }
- else
- 0
diff --git a/cheri/sail_latexcc/sailccfnfastRepCheck.tex b/cheri/sail_latexcc/sailccfnfastRepCheck.tex
deleted file mode 100644
index 3e4d2111..00000000
--- a/cheri/sail_latexcc/sailccfnfastRepCheck.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-function #\hyperref[zfastRepCheck]{fastRepCheck}#(c, i) : (CapStruct, #\hyperref[zbits]{bits}#(64)) -> bool=
- let 'E = #\hyperref[zunsigned]{unsigned}#(c.E) in
- if (E >= 44) then
- true /* in this case representable region is whole address space */
- else
- let E' = #\hyperref[zmin]{min}#(E, 43) in
- let i_top = #\hyperref[zsigned]{signed}#(i[63..E+20]) in
- let i_mid : #\hyperref[zbits]{bits}#(20) = i[E+19..E] in
- let a_mid : #\hyperref[zbits]{bits}#(20) = (c.address)[E+19..E] in
- let R : #\hyperref[zbits]{bits}#(20) = (c.B) - 0x01000 in
- let diff : #\hyperref[zbits]{bits}#(20) = R - a_mid in
- let diff1 : #\hyperref[zbits]{bits}#(20) = diff - 1 in
- /* i_top determines 1. whether the increment is inRange
- i.e. less than the size of the representable region
- (2**(E+20)) and 2. whether it is positive or negative. To
- satisfy 1. all top bits must be the same so we are
- interested in the cases i_top is 0 or -1 */
- if (i_top == 0) then
- i_mid <_u diff1
- else if (i_top == -1) then
- (i_mid >=_u diff) & (R != a_mid)
- else
- false
diff --git a/cheri/sail_latexcc/sailccfngetCapBase.tex b/cheri/sail_latexcc/sailccfngetCapBase.tex
deleted file mode 100644
index 51677965..00000000
--- a/cheri/sail_latexcc/sailccfngetCapBase.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-function #\hyperref[zgetCapBase]{getCapBase}#(c) : CapStruct -> uint64 =
- let E = #\hyperref[zmin]{min}#(#\hyperref[zunsigned]{unsigned}#(c.E), 48) in
- let Bc : #\hyperref[zbits]{bits}#(20) = c.B in
- let a : #\hyperref[zbits]{bits}#(65) = #\hyperref[zzzerozyextend]{zero\_extend}#(c.address) in
- let R : #\hyperref[zbits]{bits}#(20) = Bc - 0x01000 in /* wraps */
- let a_mid : #\hyperref[zbits]{bits}#(20) = #\hyperref[zmask]{mask}#(a >> E) in
- let correction = #\hyperref[zazytopzycorrection]{a\_top\_correction}#(a_mid, R, Bc) in
- let a_top = a >> E+20 in
- let base : #\hyperref[zbits]{bits}#(64) = #\hyperref[zmask]{mask}#(((a_top + correction) @ Bc) << E) in
- #\hyperref[zunsigned]{unsigned}#(base)
diff --git a/cheri/sail_latexcc/sailccfngetCapCursor.tex b/cheri/sail_latexcc/sailccfngetCapCursor.tex
deleted file mode 100644
index 9f5d5757..00000000
--- a/cheri/sail_latexcc/sailccfngetCapCursor.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zgetCapCursor]{getCapCursor}#(cap) : CapStruct -> uint64 = #\hyperref[zunsigned]{unsigned}#(cap.address)
diff --git a/cheri/sail_latexcc/sailccfngetCapHardPerms.tex b/cheri/sail_latexcc/sailccfngetCapHardPerms.tex
deleted file mode 100644
index 0b86b980..00000000
--- a/cheri/sail_latexcc/sailccfngetCapHardPerms.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-function #\hyperref[zgetCapHardPerms]{getCapHardPerms}#(cap) : CapStruct -> #\hyperref[zbits]{bits}#(11) =
- (cap.access_system_regs
- @ cap.permit_unseal
- @ cap.permit_ccall
- @ cap.permit_seal
- @ cap.permit_store_local_cap
- @ cap.permit_store_cap
- @ cap.permit_load_cap
- @ cap.permit_store
- @ cap.permit_load
- @ cap.permit_execute
- @ cap.global)
diff --git a/cheri/sail_latexcc/sailccfngetCapLength.tex b/cheri/sail_latexcc/sailccfngetCapLength.tex
deleted file mode 100644
index e9ce6566..00000000
--- a/cheri/sail_latexcc/sailccfngetCapLength.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function #\hyperref[zgetCapLength]{getCapLength}#(c) : CapStruct -> CapLen =
- let 'top = #\hyperref[zgetCapTop]{getCapTop}#(c) in
- let 'base = #\hyperref[zgetCapBase]{getCapBase}#(c) in {
- assert (top >= base);
- top - base
- }
diff --git a/cheri/sail_latexcc/sailccfngetCapOffset.tex b/cheri/sail_latexcc/sailccfngetCapOffset.tex
deleted file mode 100644
index 8bf83916..00000000
--- a/cheri/sail_latexcc/sailccfngetCapOffset.tex
+++ /dev/null
@@ -1,3 +0,0 @@
-function #\hyperref[zgetCapOffset]{getCapOffset}#(c) : CapStruct -> uint64 =
- let base = #\hyperref[zgetCapBase]{getCapBase}#(c) in
- (#\hyperref[zunsigned]{unsigned}#(c.address) - base) % #\hyperref[zpowtwo]{pow2}#(64)
diff --git a/cheri/sail_latexcc/sailccfngetCapPerms.tex b/cheri/sail_latexcc/sailccfngetCapPerms.tex
deleted file mode 100644
index 9701e163..00000000
--- a/cheri/sail_latexcc/sailccfngetCapPerms.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-function #\hyperref[zgetCapPerms]{getCapPerms}#(cap) : CapStruct -> #\hyperref[zbits]{bits}#(31) =
- let perms : #\hyperref[zbits]{bits}#(15) = #\hyperref[zzzerozyextend]{zero\_extend}#(#\hyperref[zgetCapHardPerms]{getCapHardPerms}#(cap)) in
- (0x000 /* uperms 30-19 */
- @ cap.uperms
- @ perms)
diff --git a/cheri/sail_latexcc/sailccfngetCapTop.tex b/cheri/sail_latexcc/sailccfngetCapTop.tex
deleted file mode 100644
index 1be5af24..00000000
--- a/cheri/sail_latexcc/sailccfngetCapTop.tex
+++ /dev/null
@@ -1,11 +0,0 @@
-function #\hyperref[zgetCapTop]{getCapTop}# (c) : CapStruct -> CapLen =
- let E = #\hyperref[zmin]{min}#(#\hyperref[zunsigned]{unsigned}#(c.E), 48) in
- let Bc : #\hyperref[zbits]{bits}#(20) = c.B in
- let T : #\hyperref[zbits]{bits}#(20) = c.T in
- let a : #\hyperref[zbits]{bits}#(65) = #\hyperref[zzzerozyextend]{zero\_extend}#(c.address) in
- let R : #\hyperref[zbits]{bits}#(20) = Bc - 0x01000 in /* wraps */
- let a_mid : #\hyperref[zbits]{bits}#(20) = #\hyperref[zmask]{mask}#(a >> E) in
- let correction = #\hyperref[zazytopzycorrection]{a\_top\_correction}#(a_mid, R, T) in
- let a_top = a >> E+20 in
- let top1 : #\hyperref[zbits]{bits}#(65) = #\hyperref[zmask]{mask}#((a_top + correction) @ T) in
- #\hyperref[zunsigned]{unsigned}#(top1 << E)
diff --git a/cheri/sail_latexcc/sailccfnincCapOffset.tex b/cheri/sail_latexcc/sailccfnincCapOffset.tex
deleted file mode 100644
index 59d3237e..00000000
--- a/cheri/sail_latexcc/sailccfnincCapOffset.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-function #\hyperref[zincCapOffset]{incCapOffset}#(c, delta) : (CapStruct, #\hyperref[zbits]{bits}#(64)) -> (bool, CapStruct) =
- let newAddress : #\hyperref[zbits]{bits}#(64) = c.address + delta in
- let newCap = { c with address = newAddress } in
- let representable = #\hyperref[zfastRepCheck]{fastRepCheck}#(c, delta) in
- (representable, newCap)
diff --git a/cheri/sail_latexcc/sailccfninttocap.tex b/cheri/sail_latexcc/sailccfninttocap.tex
deleted file mode 100644
index 31bb2bec..00000000
--- a/cheri/sail_latexcc/sailccfninttocap.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function #\hyperref[zintzytozycap]{int\_to\_cap}# (offset) : #\hyperref[zbits]{bits}#(64) -> CapStruct =
- {null_cap with address = offset}
diff --git a/cheri/sail_latexcc/sailccfnisnone.tex b/cheri/sail_latexcc/sailccfnisnone.tex
deleted file mode 100644
index 877cc2a0..00000000
--- a/cheri/sail_latexcc/sailccfnisnone.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function is_none opt = match opt {
- #\hyperref[zSome]{Some}#(_) => false,
- #\hyperref[zNone]{None}#() => true
-}
diff --git a/cheri/sail_latexcc/sailccfnissome.tex b/cheri/sail_latexcc/sailccfnissome.tex
deleted file mode 100644
index f1f5f655..00000000
--- a/cheri/sail_latexcc/sailccfnissome.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-function is_some opt = match opt {
- #\hyperref[zSome]{Some}#(_) => true,
- #\hyperref[zNone]{None}#() => false
-}
diff --git a/cheri/sail_latexcc/sailccfnmask.tex b/cheri/sail_latexcc/sailccfnmask.tex
deleted file mode 100644
index e62ea529..00000000
--- a/cheri/sail_latexcc/sailccfnmask.tex
+++ /dev/null
@@ -1 +0,0 @@
-function mask bs = bs['n - 1 .. 0]
diff --git a/cheri/sail_latexcc/sailccfnmemBitsToCapBits.tex b/cheri/sail_latexcc/sailccfnmemBitsToCapBits.tex
deleted file mode 100644
index 198cf984..00000000
--- a/cheri/sail_latexcc/sailccfnmemBitsToCapBits.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function #\hyperref[zmemBitsToCapBits]{memBitsToCapBits}#(tag, b) : (bool, #\hyperref[zbits]{bits}#(128)) -> #\hyperref[zbits]{bits}#(129) =
- #\hyperref[zmemBitsToCapBitsonetwoeight]{memBitsToCapBits128}#(tag, b ^ null_cap_bits)
diff --git a/cheri/sail_latexcc/sailccfnmemBitsToCapBitsonetwoeight.tex b/cheri/sail_latexcc/sailccfnmemBitsToCapBitsonetwoeight.tex
deleted file mode 100644
index 723571e9..00000000
--- a/cheri/sail_latexcc/sailccfnmemBitsToCapBitsonetwoeight.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-function #\hyperref[zmemBitsToCapBitsonetwoeight]{memBitsToCapBits128}#(tag, b) : (bool, #\hyperref[zbits]{bits}#(128)) -> CapReg=
- (tag @ b)
diff --git a/cheri/sail_latexcc/sailccfnmipssignextend.tex b/cheri/sail_latexcc/sailccfnmipssignextend.tex
deleted file mode 100644
index 80945b61..00000000
--- a/cheri/sail_latexcc/sailccfnmipssignextend.tex
+++ /dev/null
@@ -1 +0,0 @@
-function mips_sign_extend v = #\hyperref[zsailzysignzyextend]{sail\_sign\_extend}#(v, sizeof('m))
diff --git a/cheri/sail_latexcc/sailccfnmipszzeroextend.tex b/cheri/sail_latexcc/sailccfnmipszzeroextend.tex
deleted file mode 100644
index 6c9914d9..00000000
--- a/cheri/sail_latexcc/sailccfnmipszzeroextend.tex
+++ /dev/null
@@ -1 +0,0 @@
-function mips_zero_extend v = #\hyperref[zsailzyzzerozyextend]{sail\_zero\_extend}#(v, sizeof('m))
diff --git a/cheri/sail_latexcc/sailccfnneqanything.tex b/cheri/sail_latexcc/sailccfnneqanything.tex
deleted file mode 100644
index 1605ed05..00000000
--- a/cheri/sail_latexcc/sailccfnneqanything.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zneqzyanything]{neq\_anything}# (x, y) = #\hyperref[znotzybool]{not\_bool}#(x == y)
diff --git a/cheri/sail_latexcc/sailccfnneqatom.tex b/cheri/sail_latexcc/sailccfnneqatom.tex
deleted file mode 100644
index e9a9f93f..00000000
--- a/cheri/sail_latexcc/sailccfnneqatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zneqzyatom]{neq\_atom}# (x, y) = #\hyperref[znotzybool]{not\_bool}#(#\hyperref[zeqzyatom]{eq\_atom}#(x, y))
diff --git a/cheri/sail_latexcc/sailccfnneqbool.tex b/cheri/sail_latexcc/sailccfnneqbool.tex
deleted file mode 100644
index 65007b8e..00000000
--- a/cheri/sail_latexcc/sailccfnneqbool.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zneqzybool]{neq\_bool}# (x, y) = #\hyperref[znotzybool]{not\_bool}#(#\hyperref[zeqzybool]{eq\_bool}#(x, y))
diff --git a/cheri/sail_latexcc/sailccfnneqint.tex b/cheri/sail_latexcc/sailccfnneqint.tex
deleted file mode 100644
index 952a7735..00000000
--- a/cheri/sail_latexcc/sailccfnneqint.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zneqzyint]{neq\_int}# (x, y) = #\hyperref[znotzybool]{not\_bool}#(#\hyperref[zeqzyint]{eq\_int}#(x, y))
diff --git a/cheri/sail_latexcc/sailccfnneqrange.tex b/cheri/sail_latexcc/sailccfnneqrange.tex
deleted file mode 100644
index 43f49e9e..00000000
--- a/cheri/sail_latexcc/sailccfnneqrange.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zneqzyrange]{neq\_range}# (x, y) = #\hyperref[znotzybool]{not\_bool}#(#\hyperref[zeqzyrange]{eq\_range}#(x, y))
diff --git a/cheri/sail_latexcc/sailccfnneqvec.tex b/cheri/sail_latexcc/sailccfnneqvec.tex
deleted file mode 100644
index c446df08..00000000
--- a/cheri/sail_latexcc/sailccfnneqvec.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zneqzyvec]{neq\_vec}# (x, y) = #\hyperref[znotzybool]{not\_bool}#(#\hyperref[zeqzybits]{eq\_bits}#(x, y))
diff --git a/cheri/sail_latexcc/sailccfnnumofCPtrCmpOp.tex b/cheri/sail_latexcc/sailccfnnumofCPtrCmpOp.tex
deleted file mode 100644
index 4d20546b..00000000
--- a/cheri/sail_latexcc/sailccfnnumofCPtrCmpOp.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-function num_of_CPtrCmpOp arg# = match arg# {
- CEQ => 0,
- CNE => 1,
- CLT => 2,
- CLE => 3,
- CLTU => 4,
- CLEU => 5,
- CEXEQ => 6,
- CNEXEQ => 7
-}
diff --git a/cheri/sail_latexcc/sailccfnnumofClearRegSet.tex b/cheri/sail_latexcc/sailccfnnumofClearRegSet.tex
deleted file mode 100644
index 3dd58b89..00000000
--- a/cheri/sail_latexcc/sailccfnnumofClearRegSet.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function num_of_ClearRegSet arg# = match arg# {
- GPLo => 0,
- GPHi => 1,
- CLo => 2,
- CHi => 3
-}
diff --git a/cheri/sail_latexcc/sailccfnones.tex b/cheri/sail_latexcc/sailccfnones.tex
deleted file mode 100644
index e58040d7..00000000
--- a/cheri/sail_latexcc/sailccfnones.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zones]{ones}#() = #\hyperref[zreplicatezybits]{replicate\_bits}# (0b1,'n)
diff --git a/cheri/sail_latexcc/sailccfnroundUp.tex b/cheri/sail_latexcc/sailccfnroundUp.tex
deleted file mode 100644
index 1ed68a59..00000000
--- a/cheri/sail_latexcc/sailccfnroundUp.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-function #\hyperref[zroundUp]{roundUp}#(e) : range(0, 45) -> range(0, 48) =
- let 'r = e % 4 in
- if (r == 0)
- then e
- else (e - r + 4)
diff --git a/cheri/sail_latexcc/sailccfnsailmask.tex b/cheri/sail_latexcc/sailccfnsailmask.tex
deleted file mode 100644
index 37ede658..00000000
--- a/cheri/sail_latexcc/sailccfnsailmask.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zsailzymask]{sail\_mask}#(len, v) = if len <= #\hyperref[zlength]{length}#(v) then #\hyperref[ztruncate]{truncate}#(v, len) else #\hyperref[zsailzyzzerozyextend]{sail\_zero\_extend}#(v, len)
diff --git a/cheri/sail_latexcc/sailccfnsealCap.tex b/cheri/sail_latexcc/sailccfnsealCap.tex
deleted file mode 100644
index 55c55014..00000000
--- a/cheri/sail_latexcc/sailccfnsealCap.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-function #\hyperref[zsealCap]{sealCap}#(cap, otype) : (CapStruct, #\hyperref[zbits]{bits}#(24)) -> (bool, CapStruct) =
- if (((cap.T)[11..0] == #\hyperref[zzzeros]{zeros}#()) & ((cap.B)[11..0] == #\hyperref[zzzeros]{zeros}#())) then
- (true, {cap with sealed=true, otype=otype})
- else
- (false, cap /* XXX should be undefined? */ )
diff --git a/cheri/sail_latexcc/sailccfnsetCapBounds.tex b/cheri/sail_latexcc/sailccfnsetCapBounds.tex
deleted file mode 100644
index 44808068..00000000
--- a/cheri/sail_latexcc/sailccfnsetCapBounds.tex
+++ /dev/null
@@ -1,13 +0,0 @@
-function #\hyperref[zsetCapBounds]{setCapBounds}#(cap, base, top) : (CapStruct, #\hyperref[zbits]{bits}#(64), #\hyperref[zbits]{bits}#(65)) -> (bool, CapStruct) =
- /* {cap with base=base; length=(#\hyperref[zbits]{bits}#(64)) length; offset=0} */
- let 'e = #\hyperref[zcomputeE]{computeE}#(top - (0b0 @ base)) in
- let Bc : #\hyperref[zbits]{bits}#(20) = #\hyperref[zmask]{mask}#(base >> e) in
- let T : #\hyperref[zbits]{bits}#(20) = #\hyperref[zmask]{mask}#(top >> e) in
- let e_mask : #\hyperref[zbits]{bits}#(65) = #\hyperref[zzzerozyextend]{zero\_extend}#(#\hyperref[zreplicatezybits]{replicate\_bits}#(0b1, e)) in
- let e_bits = top & e_mask in
- let T2 : #\hyperref[zbits]{bits}#(20) = T + (if #\hyperref[zunsigned]{unsigned}#(e_bits) == 0 then 0x00000 else 0x00001) in
- let newCap = {cap with address=base, E=#\hyperref[ztozybits]{to\_bits}#(6, e), B=Bc, T=T2} in
- let newBase = #\hyperref[zgetCapBase]{getCapBase}#(newCap) in
- let newTop = #\hyperref[zgetCapTop]{getCapTop}#(newCap) in
- let exact = (#\hyperref[zunsigned]{unsigned}#(base) == newBase) & (#\hyperref[zunsigned]{unsigned}#(top) == newTop) in
- (exact, newCap)
diff --git a/cheri/sail_latexcc/sailccfnsetCapOffset.tex b/cheri/sail_latexcc/sailccfnsetCapOffset.tex
deleted file mode 100644
index f272f7d3..00000000
--- a/cheri/sail_latexcc/sailccfnsetCapOffset.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-function #\hyperref[zsetCapOffset]{setCapOffset}#(c, offset) : (CapStruct, #\hyperref[zbits]{bits}#(64)) -> (bool, CapStruct) =
- let base : #\hyperref[zbits]{bits}#(64) = #\hyperref[ztozybits]{to\_bits}#(64, #\hyperref[zgetCapBase]{getCapBase}#(c)) in
- let newAddress : #\hyperref[zbits]{bits}#(64) = base + offset in
- let newCap = { c with address = newAddress } in
- let representable = #\hyperref[zfastRepCheck]{fastRepCheck}#(c, (newAddress - c.address)) in
- (representable, newCap)
diff --git a/cheri/sail_latexcc/sailccfnsetCapPerms.tex b/cheri/sail_latexcc/sailccfnsetCapPerms.tex
deleted file mode 100644
index 5af9e7f6..00000000
--- a/cheri/sail_latexcc/sailccfnsetCapPerms.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-function #\hyperref[zsetCapPerms]{setCapPerms}#(cap, perms) : (CapStruct, #\hyperref[zbits]{bits}#(31)) -> CapStruct =
- { cap with
- uperms = perms[18..15],
- /* 14..11 reserved -- ignore */
- access_system_regs = perms[10],
- permit_unseal = perms[9],
- permit_ccall = perms[8],
- permit_seal = perms[7],
- permit_store_local_cap = perms[6],
- permit_store_cap = perms[5],
- permit_load_cap = perms[4],
- permit_store = perms[3],
- permit_load = perms[2],
- permit_execute = perms[1],
- global = perms[0]
- }
diff --git a/cheri/sail_latexcc/sailccfntobits.tex b/cheri/sail_latexcc/sailccfntobits.tex
deleted file mode 100644
index d1df5e83..00000000
--- a/cheri/sail_latexcc/sailccfntobits.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[ztozybits]{to\_bits}# (l, n) = #\hyperref[zgetzyslicezyint]{get\_slice\_int}#(l, n, 0)
diff --git a/cheri/sail_latexcc/sailccfnzeightoperatorzzerozIsznine.tex b/cheri/sail_latexcc/sailccfnzeightoperatorzzerozIsznine.tex
deleted file mode 100644
index 62e5a2e4..00000000
--- a/cheri/sail_latexcc/sailccfnzeightoperatorzzerozIsznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-function operator <#\hyperref[zzys]{\_s}# (x, y) = #\hyperref[zsigned]{signed}#(x) < #\hyperref[zsigned]{signed}#(y)
diff --git a/cheri/sail_latexcc/sailccfnzeightoperatorzzerozIuznine.tex b/cheri/sail_latexcc/sailccfnzeightoperatorzzerozIuznine.tex
deleted file mode 100644
index 3f946820..00000000
--- a/cheri/sail_latexcc/sailccfnzeightoperatorzzerozIuznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-function operator <#\hyperref[zzyu]{\_u}# (x, y) = #\hyperref[zunsigned]{unsigned}#(x) < #\hyperref[zunsigned]{unsigned}#(y)
diff --git a/cheri/sail_latexcc/sailccfnzeightoperatorzzerozKzJsznine.tex b/cheri/sail_latexcc/sailccfnzeightoperatorzzerozKzJsznine.tex
deleted file mode 100644
index 57ecf181..00000000
--- a/cheri/sail_latexcc/sailccfnzeightoperatorzzerozKzJsznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-function operator >=#\hyperref[zzys]{\_s}# (x, y) = #\hyperref[zsigned]{signed}#(x) >= #\hyperref[zsigned]{signed}#(y)
diff --git a/cheri/sail_latexcc/sailccfnzeightoperatorzzerozKzJuznine.tex b/cheri/sail_latexcc/sailccfnzeightoperatorzzerozKzJuznine.tex
deleted file mode 100644
index 6df36c6f..00000000
--- a/cheri/sail_latexcc/sailccfnzeightoperatorzzerozKzJuznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-function operator >=#\hyperref[zzyu]{\_u}# (x, y) = #\hyperref[zunsigned]{unsigned}#(x) >= #\hyperref[zunsigned]{unsigned}#(y)
diff --git a/cheri/sail_latexcc/sailccfnzeightoperatorzzerozQzQznine.tex b/cheri/sail_latexcc/sailccfnzeightoperatorzzerozQzQznine.tex
deleted file mode 100644
index 2c372e1b..00000000
--- a/cheri/sail_latexcc/sailccfnzeightoperatorzzerozQzQznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-function operator ^^ (bs, n) = #\hyperref[zreplicatezybits]{replicate\_bits}# (bs, n)
diff --git a/cheri/sail_latexcc/sailccfnzzeros.tex b/cheri/sail_latexcc/sailccfnzzeros.tex
deleted file mode 100644
index 38d463fb..00000000
--- a/cheri/sail_latexcc/sailccfnzzeros.tex
+++ /dev/null
@@ -1 +0,0 @@
-function #\hyperref[zzzeros]{zeros}#() = #\hyperref[zreplicatezybits]{replicate\_bits}# (0b0,'n)
diff --git a/cheri/sail_latexcc/sailccgetCapBase.tex b/cheri/sail_latexcc/sailccgetCapBase.tex
deleted file mode 100644
index c7044d1d..00000000
--- a/cheri/sail_latexcc/sailccgetCapBase.tex
+++ /dev/null
@@ -1 +0,0 @@
-val getCapBase : CapStruct -> uint64
diff --git a/cheri/sail_latexcc/sailccgetCapCursor.tex b/cheri/sail_latexcc/sailccgetCapCursor.tex
deleted file mode 100644
index fd5d72d8..00000000
--- a/cheri/sail_latexcc/sailccgetCapCursor.tex
+++ /dev/null
@@ -1 +0,0 @@
-val getCapCursor : CapStruct -> uint64
diff --git a/cheri/sail_latexcc/sailccgetCapHardPerms.tex b/cheri/sail_latexcc/sailccgetCapHardPerms.tex
deleted file mode 100644
index 3b65a7c0..00000000
--- a/cheri/sail_latexcc/sailccgetCapHardPerms.tex
+++ /dev/null
@@ -1 +0,0 @@
-val getCapHardPerms : CapStruct -> bits(11)
diff --git a/cheri/sail_latexcc/sailccgetCapLength.tex b/cheri/sail_latexcc/sailccgetCapLength.tex
deleted file mode 100644
index be84bfb5..00000000
--- a/cheri/sail_latexcc/sailccgetCapLength.tex
+++ /dev/null
@@ -1 +0,0 @@
-val getCapLength : CapStruct -> CapLen effect {escape}
diff --git a/cheri/sail_latexcc/sailccgetCapOffset.tex b/cheri/sail_latexcc/sailccgetCapOffset.tex
deleted file mode 100644
index 668c3df1..00000000
--- a/cheri/sail_latexcc/sailccgetCapOffset.tex
+++ /dev/null
@@ -1 +0,0 @@
-val getCapOffset : CapStruct -> uint64
diff --git a/cheri/sail_latexcc/sailccgetCapPerms.tex b/cheri/sail_latexcc/sailccgetCapPerms.tex
deleted file mode 100644
index b2dabf89..00000000
--- a/cheri/sail_latexcc/sailccgetCapPerms.tex
+++ /dev/null
@@ -1 +0,0 @@
-val getCapPerms : CapStruct -> bits(31)
diff --git a/cheri/sail_latexcc/sailccgetCapTop.tex b/cheri/sail_latexcc/sailccgetCapTop.tex
deleted file mode 100644
index ff0e5f95..00000000
--- a/cheri/sail_latexcc/sailccgetCapTop.tex
+++ /dev/null
@@ -1 +0,0 @@
-val getCapTop : CapStruct -> CapLen
diff --git a/cheri/sail_latexcc/sailccgetsliceint.tex b/cheri/sail_latexcc/sailccgetsliceint.tex
deleted file mode 100644
index 2b30d096..00000000
--- a/cheri/sail_latexcc/sailccgetsliceint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val get_slice_int = "get_slice_int" : forall 'w. (atom('w), int, int) -> #\hyperref[zbits]{bits}#('w)
diff --git a/cheri/sail_latexcc/sailccgettimens.tex b/cheri/sail_latexcc/sailccgettimens.tex
deleted file mode 100644
index 74cfd526..00000000
--- a/cheri/sail_latexcc/sailccgettimens.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "get_time_ns" : unit -> int
diff --git a/cheri/sail_latexcc/sailccgtatom.tex b/cheri/sail_latexcc/sailccgtatom.tex
deleted file mode 100644
index b2147a8f..00000000
--- a/cheri/sail_latexcc/sailccgtatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val gt_atom = {coq: "Z.gtb", _: "gt"} : forall 'n 'm. (atom('n), atom('m)) -> bool
diff --git a/cheri/sail_latexcc/sailccgtatomrange.tex b/cheri/sail_latexcc/sailccgtatomrange.tex
deleted file mode 100644
index 3c520181..00000000
--- a/cheri/sail_latexcc/sailccgtatomrange.tex
+++ /dev/null
@@ -1 +0,0 @@
-val gt_atom_range = {coq: "gtb_range_r", _: "gt"} : forall 'n 'm 'o. (atom('n), range('m, 'o)) -> bool
diff --git a/cheri/sail_latexcc/sailccgteqatom.tex b/cheri/sail_latexcc/sailccgteqatom.tex
deleted file mode 100644
index fb3b66b2..00000000
--- a/cheri/sail_latexcc/sailccgteqatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val gteq_atom = {coq: "Z.geb", _: "gteq"} : forall 'n 'm. (atom('n), atom('m)) -> bool
diff --git a/cheri/sail_latexcc/sailccgteqatomrange.tex b/cheri/sail_latexcc/sailccgteqatomrange.tex
deleted file mode 100644
index 7aaf633f..00000000
--- a/cheri/sail_latexcc/sailccgteqatomrange.tex
+++ /dev/null
@@ -1 +0,0 @@
-val gteq_atom_range = {coq: "geb_range_r", _: "gteq"} : forall 'n 'm 'o. (atom('n), range('m, 'o)) -> bool
diff --git a/cheri/sail_latexcc/sailccgteqint.tex b/cheri/sail_latexcc/sailccgteqint.tex
deleted file mode 100644
index 77271d1f..00000000
--- a/cheri/sail_latexcc/sailccgteqint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val gteq_int = {coq: "Z.geb", _:"gteq"} : (int, int) -> bool
diff --git a/cheri/sail_latexcc/sailccgteqrangeatom.tex b/cheri/sail_latexcc/sailccgteqrangeatom.tex
deleted file mode 100644
index fda25265..00000000
--- a/cheri/sail_latexcc/sailccgteqrangeatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val gteq_range_atom = {coq: "geb_range_l", _: "gteq"} : forall 'n 'm 'o. (range('n, 'm), atom('o)) -> bool
diff --git a/cheri/sail_latexcc/sailccgtint.tex b/cheri/sail_latexcc/sailccgtint.tex
deleted file mode 100644
index 2d953eec..00000000
--- a/cheri/sail_latexcc/sailccgtint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val gt_int = {coq: "Z.gtb", _:"gt"} : (int, int) -> bool
diff --git a/cheri/sail_latexcc/sailccgtrangeatom.tex b/cheri/sail_latexcc/sailccgtrangeatom.tex
deleted file mode 100644
index b8635909..00000000
--- a/cheri/sail_latexcc/sailccgtrangeatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val gt_range_atom = {coq: "gtb_range_l", _: "gt"} : forall 'n 'm 'o. (range('n, 'm), atom('o)) -> bool
diff --git a/cheri/sail_latexcc/sailccincCapOffset.tex b/cheri/sail_latexcc/sailccincCapOffset.tex
deleted file mode 100644
index 21c08cb5..00000000
--- a/cheri/sail_latexcc/sailccincCapOffset.tex
+++ /dev/null
@@ -1 +0,0 @@
-val incCapOffset : (CapStruct, bits(64)) -> (bool, CapStruct)
diff --git a/cheri/sail_latexcc/sailccintpower.tex b/cheri/sail_latexcc/sailccintpower.tex
deleted file mode 100644
index 0aa13188..00000000
--- a/cheri/sail_latexcc/sailccintpower.tex
+++ /dev/null
@@ -1 +0,0 @@
-val int_power = {ocaml: "int_power", lem: "pow", coq: "Z.pow"} : (int, int) -> int
diff --git a/cheri/sail_latexcc/sailccinttocap.tex b/cheri/sail_latexcc/sailccinttocap.tex
deleted file mode 100644
index 0f4cd328..00000000
--- a/cheri/sail_latexcc/sailccinttocap.tex
+++ /dev/null
@@ -1 +0,0 @@
-val int_to_cap : bits(64) -> CapStruct
diff --git a/cheri/sail_latexcc/sailccisnone.tex b/cheri/sail_latexcc/sailccisnone.tex
deleted file mode 100644
index 76688d37..00000000
--- a/cheri/sail_latexcc/sailccisnone.tex
+++ /dev/null
@@ -1 +0,0 @@
-val is_none : forall ('a : Type). #\hyperref[zoption]{option}#('a) -> bool
diff --git a/cheri/sail_latexcc/sailccissome.tex b/cheri/sail_latexcc/sailccissome.tex
deleted file mode 100644
index 071ac6b6..00000000
--- a/cheri/sail_latexcc/sailccissome.tex
+++ /dev/null
@@ -1 +0,0 @@
-val is_some : forall ('a : Type). #\hyperref[zoption]{option}#('a) -> bool
diff --git a/cheri/sail_latexcc/sailcclength.tex b/cheri/sail_latexcc/sailcclength.tex
deleted file mode 100644
index 248c8507..00000000
--- a/cheri/sail_latexcc/sailcclength.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload length = {bitvector_length, vector_length} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccltatom.tex b/cheri/sail_latexcc/sailccltatom.tex
deleted file mode 100644
index 5cca54df..00000000
--- a/cheri/sail_latexcc/sailccltatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val lt_atom = {coq: "Z.ltb", _: "lt"} : forall 'n 'm. (atom('n), atom('m)) -> bool
diff --git a/cheri/sail_latexcc/sailccltatomrange.tex b/cheri/sail_latexcc/sailccltatomrange.tex
deleted file mode 100644
index 19d3375d..00000000
--- a/cheri/sail_latexcc/sailccltatomrange.tex
+++ /dev/null
@@ -1 +0,0 @@
-val lt_atom_range = {coq: "ltb_range_r", _: "lt"} : forall 'n 'm 'o. (atom('n), range('m, 'o)) -> bool
diff --git a/cheri/sail_latexcc/sailcclteqatom.tex b/cheri/sail_latexcc/sailcclteqatom.tex
deleted file mode 100644
index 26e27e2d..00000000
--- a/cheri/sail_latexcc/sailcclteqatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val lteq_atom = {coq: "Z.leb", _: "lteq"} : forall 'n 'm. (atom('n), atom('m)) -> bool
diff --git a/cheri/sail_latexcc/sailcclteqatomrange.tex b/cheri/sail_latexcc/sailcclteqatomrange.tex
deleted file mode 100644
index 6e951cf7..00000000
--- a/cheri/sail_latexcc/sailcclteqatomrange.tex
+++ /dev/null
@@ -1 +0,0 @@
-val lteq_atom_range = {coq: "leb_range_r", _: "lteq"} : forall 'n 'm 'o. (atom('n), range('m, 'o)) -> bool
diff --git a/cheri/sail_latexcc/sailcclteqint.tex b/cheri/sail_latexcc/sailcclteqint.tex
deleted file mode 100644
index 555176be..00000000
--- a/cheri/sail_latexcc/sailcclteqint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val lteq_int = {coq: "Z.leb", _:"lteq"} : (int, int) -> bool
diff --git a/cheri/sail_latexcc/sailcclteqrangeatom.tex b/cheri/sail_latexcc/sailcclteqrangeatom.tex
deleted file mode 100644
index f8fcd32d..00000000
--- a/cheri/sail_latexcc/sailcclteqrangeatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val lteq_range_atom = {coq: "leb_range_l", _: "lteq"} : forall 'n 'm 'o. (range('n, 'm), atom('o)) -> bool
diff --git a/cheri/sail_latexcc/sailccltint.tex b/cheri/sail_latexcc/sailccltint.tex
deleted file mode 100644
index 40bd4e85..00000000
--- a/cheri/sail_latexcc/sailccltint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val lt_int = {coq: "Z.ltb", _:"lt"} : (int, int) -> bool
diff --git a/cheri/sail_latexcc/sailccltrangeatom.tex b/cheri/sail_latexcc/sailccltrangeatom.tex
deleted file mode 100644
index d8495496..00000000
--- a/cheri/sail_latexcc/sailccltrangeatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val lt_range_atom = {coq: "ltb_range_l", _: "lt"} : forall 'n 'm 'o. (range('n, 'm), atom('o)) -> bool
diff --git a/cheri/sail_latexcc/sailccmask.tex b/cheri/sail_latexcc/sailccmask.tex
deleted file mode 100644
index 35d052db..00000000
--- a/cheri/sail_latexcc/sailccmask.tex
+++ /dev/null
@@ -1 +0,0 @@
-val mask : forall 'm 'n , 'm >= 'n > 0 . #\hyperref[zbits]{bits}#('m) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latexcc/sailccmax.tex b/cheri/sail_latexcc/sailccmax.tex
deleted file mode 100644
index 1ceed42c..00000000
--- a/cheri/sail_latexcc/sailccmax.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload max = {max_atom, max_nat, max_int} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccmaxatom.tex b/cheri/sail_latexcc/sailccmaxatom.tex
deleted file mode 100644
index 6cbdfa7f..00000000
--- a/cheri/sail_latexcc/sailccmaxatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val max_atom = {ocaml: "max_int", lem: "max", coq: "max_atom", c:"max_int"} : forall 'a 'b . (atom('a), atom('b)) -> {'c, ('c = 'a | 'c = 'b) & 'c >= 'a & 'c >= 'b . atom('c)}
diff --git a/cheri/sail_latexcc/sailccmaxint.tex b/cheri/sail_latexcc/sailccmaxint.tex
deleted file mode 100644
index c537babb..00000000
--- a/cheri/sail_latexcc/sailccmaxint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val max_int = {lem: "max", coq: "Z.max", _: "max_int"} : (int, int) -> int
diff --git a/cheri/sail_latexcc/sailccmaxnat.tex b/cheri/sail_latexcc/sailccmaxnat.tex
deleted file mode 100644
index 1b62334a..00000000
--- a/cheri/sail_latexcc/sailccmaxnat.tex
+++ /dev/null
@@ -1 +0,0 @@
-val max_nat = {lem: "max", coq: "Z.max", _: "max_int"} : (nat, nat) -> nat
diff --git a/cheri/sail_latexcc/sailccmemBitsToCapBits.tex b/cheri/sail_latexcc/sailccmemBitsToCapBits.tex
deleted file mode 100644
index a5c86272..00000000
--- a/cheri/sail_latexcc/sailccmemBitsToCapBits.tex
+++ /dev/null
@@ -1 +0,0 @@
-val memBitsToCapBits : (bool, bits(128)) -> bits(129)
diff --git a/cheri/sail_latexcc/sailccmemBitsToCapBitsonetwoeight.tex b/cheri/sail_latexcc/sailccmemBitsToCapBitsonetwoeight.tex
deleted file mode 100644
index 4eb94a3d..00000000
--- a/cheri/sail_latexcc/sailccmemBitsToCapBitsonetwoeight.tex
+++ /dev/null
@@ -1 +0,0 @@
-val memBitsToCapBits128 : (bool, bits(128)) -> CapReg
diff --git a/cheri/sail_latexcc/sailccmin.tex b/cheri/sail_latexcc/sailccmin.tex
deleted file mode 100644
index 94097198..00000000
--- a/cheri/sail_latexcc/sailccmin.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload min = {min_atom, min_nat, min_int} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccminatom.tex b/cheri/sail_latexcc/sailccminatom.tex
deleted file mode 100644
index acfea384..00000000
--- a/cheri/sail_latexcc/sailccminatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val min_atom = {ocaml: "min_int", lem: "min", coq: "min_atom", c:"min_int"} : forall 'a 'b . (atom('a), atom('b)) -> {'c, ('c = 'a | 'c = 'b) & 'c <= 'a & 'c <= 'b . atom('c)}
diff --git a/cheri/sail_latexcc/sailccminint.tex b/cheri/sail_latexcc/sailccminint.tex
deleted file mode 100644
index 3d633d08..00000000
--- a/cheri/sail_latexcc/sailccminint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val min_int = {lem: "min", coq: "Z.min", _: "min_int"} : (int, int) -> int
diff --git a/cheri/sail_latexcc/sailccminnat.tex b/cheri/sail_latexcc/sailccminnat.tex
deleted file mode 100644
index 85409bd8..00000000
--- a/cheri/sail_latexcc/sailccminnat.tex
+++ /dev/null
@@ -1 +0,0 @@
-val min_nat = {lem: "min", coq: "Z.min", _: "min_int"} : (nat, nat) -> nat
diff --git a/cheri/sail_latexcc/sailccmipssignextend.tex b/cheri/sail_latexcc/sailccmipssignextend.tex
deleted file mode 100644
index e613567d..00000000
--- a/cheri/sail_latexcc/sailccmipssignextend.tex
+++ /dev/null
@@ -1 +0,0 @@
-val mips_sign_extend : forall 'n 'm , 'm >= 'n . #\hyperref[zbits]{bits}#('n) -> #\hyperref[zbits]{bits}#('m)
diff --git a/cheri/sail_latexcc/sailccmipszzeroextend.tex b/cheri/sail_latexcc/sailccmipszzeroextend.tex
deleted file mode 100644
index adbb4188..00000000
--- a/cheri/sail_latexcc/sailccmipszzeroextend.tex
+++ /dev/null
@@ -1 +0,0 @@
-val mips_zero_extend : forall 'n 'm , 'm >= 'n . #\hyperref[zbits]{bits}#('n) -> #\hyperref[zbits]{bits}#('m)
diff --git a/cheri/sail_latexcc/sailccmod.tex b/cheri/sail_latexcc/sailccmod.tex
deleted file mode 100644
index ab70dd7a..00000000
--- a/cheri/sail_latexcc/sailccmod.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-val mod = {
- smt: "mod",
- ocaml: "modulus",
- lem: "integerMod",
- c: "tmod_int",
- coq: "mod_with_eq"
-} : forall 'n 'm. (atom('n), atom('m)) -> {'o, 'o = #\hyperref[zmod]{mod}#('n, 'm). atom('o)}
diff --git a/cheri/sail_latexcc/sailccmodint.tex b/cheri/sail_latexcc/sailccmodint.tex
deleted file mode 100644
index bd5677aa..00000000
--- a/cheri/sail_latexcc/sailccmodint.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-val mod_int = {
- smt: "mod",
- ocaml: "modulus",
- lem: "integerMod",
- c: "tmod_int",
- coq: "Z.rem"
-} : (int, int) -> int
diff --git a/cheri/sail_latexcc/sailccmodulus.tex b/cheri/sail_latexcc/sailccmodulus.tex
deleted file mode 100644
index ca23a339..00000000
--- a/cheri/sail_latexcc/sailccmodulus.tex
+++ /dev/null
@@ -1 +0,0 @@
-val modulus = {ocaml: "modulus", lem: "hardware_mod", coq: "euclid_modulo", _ : "tmod_int"} : forall 'n, 'n > 0 . (int, atom('n)) -> range(0, 'n - 1)
diff --git a/cheri/sail_latexcc/sailccmultatom.tex b/cheri/sail_latexcc/sailccmultatom.tex
deleted file mode 100644
index bbac3e2f..00000000
--- a/cheri/sail_latexcc/sailccmultatom.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val mult_atom = {ocaml: "mult", lem: "integerMult", c: "mult_int", coq: "Z.mul"} : forall 'n 'm.
- (atom('n), atom('m)) -> atom('n * 'm)
diff --git a/cheri/sail_latexcc/sailccmultint.tex b/cheri/sail_latexcc/sailccmultint.tex
deleted file mode 100644
index 08698e6f..00000000
--- a/cheri/sail_latexcc/sailccmultint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val mult_int = {ocaml: "mult", lem: "integerMult", c: "mult_int", coq: "Z.mul"} : (int, int) -> int
diff --git a/cheri/sail_latexcc/sailccnegate.tex b/cheri/sail_latexcc/sailccnegate.tex
deleted file mode 100644
index ce000062..00000000
--- a/cheri/sail_latexcc/sailccnegate.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload negate = {negate_range, negate_int} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccnegateatom.tex b/cheri/sail_latexcc/sailccnegateatom.tex
deleted file mode 100644
index d1361e63..00000000
--- a/cheri/sail_latexcc/sailccnegateatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val negate_atom = {ocaml: "negate", lem: "integerNegate", c: "neg_int", coq: "Z.opp"} : forall 'n. atom('n) -> atom(- 'n)
diff --git a/cheri/sail_latexcc/sailccnegateint.tex b/cheri/sail_latexcc/sailccnegateint.tex
deleted file mode 100644
index 52375787..00000000
--- a/cheri/sail_latexcc/sailccnegateint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val negate_int = {ocaml: "negate", lem: "integerNegate", c: "neg_int", coq: "Z.opp"} : int -> int
diff --git a/cheri/sail_latexcc/sailccnegaterange.tex b/cheri/sail_latexcc/sailccnegaterange.tex
deleted file mode 100644
index 7a4ad386..00000000
--- a/cheri/sail_latexcc/sailccnegaterange.tex
+++ /dev/null
@@ -1 +0,0 @@
-val negate_range = {ocaml: "minus_big_int", lem: "integerNegate", coq: "negate_range"} : forall 'n 'm. range('n, 'm) -> range(- 'm, - 'n)
diff --git a/cheri/sail_latexcc/sailccneqanything.tex b/cheri/sail_latexcc/sailccneqanything.tex
deleted file mode 100644
index a898649e..00000000
--- a/cheri/sail_latexcc/sailccneqanything.tex
+++ /dev/null
@@ -1 +0,0 @@
-val neq_anything = {lem: "neq", coq: "generic_neq"} : forall ('a : Type). ('a, 'a) -> bool
diff --git a/cheri/sail_latexcc/sailccneqatom.tex b/cheri/sail_latexcc/sailccneqatom.tex
deleted file mode 100644
index be777013..00000000
--- a/cheri/sail_latexcc/sailccneqatom.tex
+++ /dev/null
@@ -1 +0,0 @@
-val neq_atom = {lem: "neq", coq: "neq_atom"} : forall 'n 'm. (atom('n), atom('m)) -> bool
diff --git a/cheri/sail_latexcc/sailccneqbool.tex b/cheri/sail_latexcc/sailccneqbool.tex
deleted file mode 100644
index 0d80dc17..00000000
--- a/cheri/sail_latexcc/sailccneqbool.tex
+++ /dev/null
@@ -1 +0,0 @@
-val neq_bool : (bool, bool) -> bool
diff --git a/cheri/sail_latexcc/sailccneqint.tex b/cheri/sail_latexcc/sailccneqint.tex
deleted file mode 100644
index b233ca6b..00000000
--- a/cheri/sail_latexcc/sailccneqint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val neq_int = {lem: "neq"} : (int, int) -> bool
diff --git a/cheri/sail_latexcc/sailccneqrange.tex b/cheri/sail_latexcc/sailccneqrange.tex
deleted file mode 100644
index d2d8fb0c..00000000
--- a/cheri/sail_latexcc/sailccneqrange.tex
+++ /dev/null
@@ -1 +0,0 @@
-val neq_range = {lem: "neq"} : forall 'n 'm 'o 'p. (range('n, 'm), range('o, 'p)) -> bool
diff --git a/cheri/sail_latexcc/sailccneqvec.tex b/cheri/sail_latexcc/sailccneqvec.tex
deleted file mode 100644
index f655b3d8..00000000
--- a/cheri/sail_latexcc/sailccneqvec.tex
+++ /dev/null
@@ -1 +0,0 @@
-val neq_vec = {lem: "neq"} : forall 'n. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> bool
diff --git a/cheri/sail_latexcc/sailccnot.tex b/cheri/sail_latexcc/sailccnot.tex
deleted file mode 100644
index 515b3ef9..00000000
--- a/cheri/sail_latexcc/sailccnot.tex
+++ /dev/null
@@ -1 +0,0 @@
-val not = {coq:"negb", _:"not"} : bool -> bool
diff --git a/cheri/sail_latexcc/sailccnotbool.tex b/cheri/sail_latexcc/sailccnotbool.tex
deleted file mode 100644
index 7630f6c2..00000000
--- a/cheri/sail_latexcc/sailccnotbool.tex
+++ /dev/null
@@ -1 +0,0 @@
-val not_bool = {coq: "negb", _: "not"} : bool -> bool
diff --git a/cheri/sail_latexcc/sailccnotvec.tex b/cheri/sail_latexcc/sailccnotvec.tex
deleted file mode 100644
index a560a544..00000000
--- a/cheri/sail_latexcc/sailccnotvec.tex
+++ /dev/null
@@ -1 +0,0 @@
-val not_vec = {c:"not_bits", _:"not_vec"} : forall 'n. #\hyperref[zbits]{bits}#('n) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latexcc/sailccnumofCPtrCmpOp.tex b/cheri/sail_latexcc/sailccnumofCPtrCmpOp.tex
deleted file mode 100644
index 40f1bfa9..00000000
--- a/cheri/sail_latexcc/sailccnumofCPtrCmpOp.tex
+++ /dev/null
@@ -1 +0,0 @@
-val num_of_CPtrCmpOp : CPtrCmpOp -> {'e, 0 <= 'e & 'e <= 7. atom('e)}
diff --git a/cheri/sail_latexcc/sailccnumofClearRegSet.tex b/cheri/sail_latexcc/sailccnumofClearRegSet.tex
deleted file mode 100644
index 14ea7bea..00000000
--- a/cheri/sail_latexcc/sailccnumofClearRegSet.tex
+++ /dev/null
@@ -1 +0,0 @@
-val num_of_ClearRegSet : ClearRegSet -> {'e, 0 <= 'e & 'e <= 3. atom('e)}
diff --git a/cheri/sail_latexcc/sailccones.tex b/cheri/sail_latexcc/sailccones.tex
deleted file mode 100644
index 94fd805f..00000000
--- a/cheri/sail_latexcc/sailccones.tex
+++ /dev/null
@@ -1 +0,0 @@
-val ones : forall 'n, 'n >= 0 . unit -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latexcc/sailccorbits.tex b/cheri/sail_latexcc/sailccorbits.tex
deleted file mode 100644
index 55db5ffa..00000000
--- a/cheri/sail_latexcc/sailccorbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-val or_bits = {c: "or_bits", _: "or_vec"} : forall 'n. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latexcc/sailccorbool.tex b/cheri/sail_latexcc/sailccorbool.tex
deleted file mode 100644
index 4b6bfa15..00000000
--- a/cheri/sail_latexcc/sailccorbool.tex
+++ /dev/null
@@ -1 +0,0 @@
-val or_bool = {coq: "orb", _: "or_bool"} : (bool, bool) -> bool
diff --git a/cheri/sail_latexcc/sailccplainvectoraccess.tex b/cheri/sail_latexcc/sailccplainvectoraccess.tex
deleted file mode 100644
index 94824f77..00000000
--- a/cheri/sail_latexcc/sailccplainvectoraccess.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-val plain_vector_access = {
- ocaml: "access",
- lem: "access_list_dec",
- coq: "vec_access_dec",
- c: "vector_access"
-} : forall ('n : Int) ('m : Int) ('a : Type), 0 <= 'm < 'n. (vector('n, dec, 'a), atom('m)) -> 'a
diff --git a/cheri/sail_latexcc/sailccplainvectorupdate.tex b/cheri/sail_latexcc/sailccplainvectorupdate.tex
deleted file mode 100644
index 6880d9bd..00000000
--- a/cheri/sail_latexcc/sailccplainvectorupdate.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-val plain_vector_update = {
- ocaml: "update",
- lem: "update_list_dec",
- coq: "vec_update_dec",
- c: "vector_update"
-} : forall '#\hyperref[zn]{n}# ('a : Type). (vector('n, dec, 'a), int, 'a) -> vector('n, dec, 'a)
diff --git a/cheri/sail_latexcc/sailccpowtwo.tex b/cheri/sail_latexcc/sailccpowtwo.tex
deleted file mode 100644
index 41da946e..00000000
--- a/cheri/sail_latexcc/sailccpowtwo.tex
+++ /dev/null
@@ -1 +0,0 @@
-val pow2 = "pow2" : forall 'n. atom('n) -> atom(2 ^ 'n)
diff --git a/cheri/sail_latexcc/sailccprerrbits.tex b/cheri/sail_latexcc/sailccprerrbits.tex
deleted file mode 100644
index 7d926384..00000000
--- a/cheri/sail_latexcc/sailccprerrbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "prerr_bits" : forall 'n. (string, #\hyperref[zbits]{bits}#('n)) -> unit
diff --git a/cheri/sail_latexcc/sailccprerrendline.tex b/cheri/sail_latexcc/sailccprerrendline.tex
deleted file mode 100644
index ad4a94a0..00000000
--- a/cheri/sail_latexcc/sailccprerrendline.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "prerr_endline" : string -> unit
diff --git a/cheri/sail_latexcc/sailccprerrint.tex b/cheri/sail_latexcc/sailccprerrint.tex
deleted file mode 100644
index ce7a7d61..00000000
--- a/cheri/sail_latexcc/sailccprerrint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "prerr_int" : (string, int) -> unit
diff --git a/cheri/sail_latexcc/sailccprerrstring.tex b/cheri/sail_latexcc/sailccprerrstring.tex
deleted file mode 100644
index 7b849da2..00000000
--- a/cheri/sail_latexcc/sailccprerrstring.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "prerr_string" : string -> unit
diff --git a/cheri/sail_latexcc/sailccprint.tex b/cheri/sail_latexcc/sailccprint.tex
deleted file mode 100644
index 50a64219..00000000
--- a/cheri/sail_latexcc/sailccprint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val print = "print_endline" : string -> unit
diff --git a/cheri/sail_latexcc/sailccprintbits.tex b/cheri/sail_latexcc/sailccprintbits.tex
deleted file mode 100644
index 8783a59a..00000000
--- a/cheri/sail_latexcc/sailccprintbits.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "print_bits" : forall 'n. (string, #\hyperref[zbits]{bits}#('n)) -> unit
diff --git a/cheri/sail_latexcc/sailccprintint.tex b/cheri/sail_latexcc/sailccprintint.tex
deleted file mode 100644
index ddf33afc..00000000
--- a/cheri/sail_latexcc/sailccprintint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "print_int" : (string, int) -> unit
diff --git a/cheri/sail_latexcc/sailccputchar.tex b/cheri/sail_latexcc/sailccputchar.tex
deleted file mode 100644
index a123c709..00000000
--- a/cheri/sail_latexcc/sailccputchar.tex
+++ /dev/null
@@ -1 +0,0 @@
-val putchar = {c:"sail_putchar", _:"putchar"} : int -> unit
diff --git a/cheri/sail_latexcc/sailccquotient.tex b/cheri/sail_latexcc/sailccquotient.tex
deleted file mode 100644
index 7dba5359..00000000
--- a/cheri/sail_latexcc/sailccquotient.tex
+++ /dev/null
@@ -1 +0,0 @@
-val quotient = {ocaml: "quotient", lem: "integerDiv", coq: "Z.mod"} : (int, int) -> int
diff --git a/cheri/sail_latexcc/sailccquotientnat.tex b/cheri/sail_latexcc/sailccquotientnat.tex
deleted file mode 100644
index 14db4ae0..00000000
--- a/cheri/sail_latexcc/sailccquotientnat.tex
+++ /dev/null
@@ -1 +0,0 @@
-val quotient_nat = {ocaml: "quotient", lem: "integerDiv", coq: "Z.div"} : (nat, nat) -> nat
diff --git a/cheri/sail_latexcc/sailccquotroundzzero.tex b/cheri/sail_latexcc/sailccquotroundzzero.tex
deleted file mode 100644
index 9523cfcc..00000000
--- a/cheri/sail_latexcc/sailccquotroundzzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-val quot_round_zero = {ocaml: "quot_round_zero", lem: "hardware_quot", coq: "Z.quot", _ : "tdiv_int"} : (int, int) -> int
diff --git a/cheri/sail_latexcc/sailccregderef.tex b/cheri/sail_latexcc/sailccregderef.tex
deleted file mode 100644
index 7f1dc7e8..00000000
--- a/cheri/sail_latexcc/sailccregderef.tex
+++ /dev/null
@@ -1 +0,0 @@
-val _reg_deref = "reg_deref" : forall ('a : Type). #\hyperref[zregister]{register}#('a) -> 'a
diff --git a/cheri/sail_latexcc/sailccremroundzzero.tex b/cheri/sail_latexcc/sailccremroundzzero.tex
deleted file mode 100644
index 9d8113ba..00000000
--- a/cheri/sail_latexcc/sailccremroundzzero.tex
+++ /dev/null
@@ -1 +0,0 @@
-val rem_round_zero = {ocaml: "rem_round_zero", lem: "hardware_mod", coq: "Z.rem", _ : "tmod_int"} : (int, int) -> int
diff --git a/cheri/sail_latexcc/sailccreplicatebits.tex b/cheri/sail_latexcc/sailccreplicatebits.tex
deleted file mode 100644
index cd7a97d7..00000000
--- a/cheri/sail_latexcc/sailccreplicatebits.tex
+++ /dev/null
@@ -1 +0,0 @@
-val replicate_bits = "replicate_bits" : forall 'n 'm. (#\hyperref[zbits]{bits}#('n), atom('m)) -> #\hyperref[zbits]{bits}#('n * 'm)
diff --git a/cheri/sail_latexcc/sailccroundUp.tex b/cheri/sail_latexcc/sailccroundUp.tex
deleted file mode 100644
index b7e31074..00000000
--- a/cheri/sail_latexcc/sailccroundUp.tex
+++ /dev/null
@@ -1 +0,0 @@
-val roundUp : range(0, 45) -> range(0, 48)
diff --git a/cheri/sail_latexcc/sailccsailccnegatev.tex b/cheri/sail_latexcc/sailccsailccnegatev.tex
deleted file mode 100644
index 4f7aea58..00000000
--- a/cheri/sail_latexcc/sailccsailccnegatev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload negate = {negate_atom, negate_int} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccsailccregderefv.tex b/cheri/sail_latexcc/sailccsailccregderefv.tex
deleted file mode 100644
index f5de92ca..00000000
--- a/cheri/sail_latexcc/sailccsailccregderefv.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "reg_deref" : forall ('a : Type). #\hyperref[zregister]{register}#('a) -> 'a effect {rreg}
diff --git a/cheri/sail_latexcc/sailccsailccsailccsailcczeightoperatorzzerozJzJzninevvv.tex b/cheri/sail_latexcc/sailccsailccsailccsailcczeightoperatorzzerozJzJzninevvv.tex
deleted file mode 100644
index 0f72fdc9..00000000
--- a/cheri/sail_latexcc/sailccsailccsailccsailcczeightoperatorzzerozJzJzninevvv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator ==) = {eq_bit2} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccsailccsailcczeightoperatorzzerozBzninevv.tex b/cheri/sail_latexcc/sailccsailccsailcczeightoperatorzzerozBzninevv.tex
deleted file mode 100644
index eacd556c..00000000
--- a/cheri/sail_latexcc/sailccsailccsailcczeightoperatorzzerozBzninevv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator +) = {add_atom, add_int} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccsailccsailcczeightoperatorzzerozFzninevv.tex b/cheri/sail_latexcc/sailccsailccsailcczeightoperatorzzerozFzninevv.tex
deleted file mode 100644
index 73c40722..00000000
--- a/cheri/sail_latexcc/sailccsailccsailcczeightoperatorzzerozFzninevv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator /) = {div} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccsailccsailcczeightoperatorzzerozJzJzninevv.tex b/cheri/sail_latexcc/sailccsailccsailcczeightoperatorzzerozJzJzninevv.tex
deleted file mode 100644
index 47b1d0f6..00000000
--- a/cheri/sail_latexcc/sailccsailccsailcczeightoperatorzzerozJzJzninevv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator ==) = {eq_atom, eq_range, eq_int, eq_bool} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccsailccsailcczeightoperatorzzerozfivezninevv.tex b/cheri/sail_latexcc/sailccsailccsailcczeightoperatorzzerozfivezninevv.tex
deleted file mode 100644
index 552e0c24..00000000
--- a/cheri/sail_latexcc/sailccsailccsailcczeightoperatorzzerozfivezninevv.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator %) = {mod} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozAzninev.tex b/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozAzninev.tex
deleted file mode 100644
index afe7a721..00000000
--- a/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozAzninev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator *) = {mult_atom, mult_int} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozBzninev.tex b/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozBzninev.tex
deleted file mode 100644
index ddc56bfd..00000000
--- a/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozBzninev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator +) = {add_bits, add_bits_int} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozDzninev.tex b/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozDzninev.tex
deleted file mode 100644
index 5d12fdf1..00000000
--- a/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozDzninev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator -) = {sub_atom, sub_int} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozFzninev.tex b/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozFzninev.tex
deleted file mode 100644
index 38e9124b..00000000
--- a/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozFzninev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator /) = {div_int} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozJzJzninev.tex b/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozJzJzninev.tex
deleted file mode 100644
index 1314a962..00000000
--- a/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozJzJzninev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator ==) = {eq_bit, eq_bits} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozQzninev.tex b/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozQzninev.tex
deleted file mode 100644
index 05769645..00000000
--- a/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozQzninev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator ^) = {sail_mask} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozUzninev.tex b/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozUzninev.tex
deleted file mode 100644
index 1ebacbc4..00000000
--- a/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozUzninev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator |) = {or_bool} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozfivezninev.tex b/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozfivezninev.tex
deleted file mode 100644
index 14fa73b8..00000000
--- a/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozfivezninev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator %) = {mod_int} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozonezJzninev.tex b/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozonezJzninev.tex
deleted file mode 100644
index 527cf596..00000000
--- a/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozonezJzninev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator !=) = {neq_atom, neq_range, neq_int, neq_bool} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozsixzninev.tex b/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozsixzninev.tex
deleted file mode 100644
index be6f29ef..00000000
--- a/cheri/sail_latexcc/sailccsailcczeightoperatorzzerozsixzninev.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator &) = {and_bool} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccsailmask.tex b/cheri/sail_latexcc/sailccsailmask.tex
deleted file mode 100644
index 45862747..00000000
--- a/cheri/sail_latexcc/sailccsailmask.tex
+++ /dev/null
@@ -1 +0,0 @@
-val sail_mask : forall 'len 'v, 'len >= 0 & 'v >= 0. (atom('len), vector('v, dec, bit)) -> vector('len, dec, bit)
diff --git a/cheri/sail_latexcc/sailccsailsignextend.tex b/cheri/sail_latexcc/sailccsailsignextend.tex
deleted file mode 100644
index dfaa5c86..00000000
--- a/cheri/sail_latexcc/sailccsailsignextend.tex
+++ /dev/null
@@ -1 +0,0 @@
-val sail_sign_extend = "sign_extend" : forall 'n 'm, 'm >= 'n. (#\hyperref[zbits]{bits}#('n), atom('m)) -> #\hyperref[zbits]{bits}#('m)
diff --git a/cheri/sail_latexcc/sailccsailzzeroextend.tex b/cheri/sail_latexcc/sailccsailzzeroextend.tex
deleted file mode 100644
index 53f6fff9..00000000
--- a/cheri/sail_latexcc/sailccsailzzeroextend.tex
+++ /dev/null
@@ -1 +0,0 @@
-val sail_zero_extend = "zero_extend" : forall 'n 'm, 'm >= 'n. (#\hyperref[zbits]{bits}#('n), atom('m)) -> #\hyperref[zbits]{bits}#('m)
diff --git a/cheri/sail_latexcc/sailccsailzzeros.tex b/cheri/sail_latexcc/sailccsailzzeros.tex
deleted file mode 100644
index 9c60aa12..00000000
--- a/cheri/sail_latexcc/sailccsailzzeros.tex
+++ /dev/null
@@ -1 +0,0 @@
-val sail_zeros = "zeros" : forall 'n. atom('n) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latexcc/sailccsealCap.tex b/cheri/sail_latexcc/sailccsealCap.tex
deleted file mode 100644
index 891ae279..00000000
--- a/cheri/sail_latexcc/sailccsealCap.tex
+++ /dev/null
@@ -1 +0,0 @@
-val sealCap : (CapStruct, bits(24)) -> (bool, CapStruct)
diff --git a/cheri/sail_latexcc/sailccsetCapBounds.tex b/cheri/sail_latexcc/sailccsetCapBounds.tex
deleted file mode 100644
index 94fbecaf..00000000
--- a/cheri/sail_latexcc/sailccsetCapBounds.tex
+++ /dev/null
@@ -1 +0,0 @@
-val setCapBounds : (CapStruct, bits(64), bits(65)) -> (bool, CapStruct) effect {escape}
diff --git a/cheri/sail_latexcc/sailccsetCapOffset.tex b/cheri/sail_latexcc/sailccsetCapOffset.tex
deleted file mode 100644
index fef324f7..00000000
--- a/cheri/sail_latexcc/sailccsetCapOffset.tex
+++ /dev/null
@@ -1 +0,0 @@
-val setCapOffset : (CapStruct, bits(64)) -> (bool, CapStruct)
diff --git a/cheri/sail_latexcc/sailccsetCapPerms.tex b/cheri/sail_latexcc/sailccsetCapPerms.tex
deleted file mode 100644
index 617f19fb..00000000
--- a/cheri/sail_latexcc/sailccsetCapPerms.tex
+++ /dev/null
@@ -1 +0,0 @@
-val setCapPerms : (CapStruct, bits(31)) -> CapStruct
diff --git a/cheri/sail_latexcc/sailccsetslicebits.tex b/cheri/sail_latexcc/sailccsetslicebits.tex
deleted file mode 100644
index 8a81bff5..00000000
--- a/cheri/sail_latexcc/sailccsetslicebits.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val set_slice_bits = "set_slice" : forall 'n 'm.
- (atom('n), atom('m), #\hyperref[zbits]{bits}#('n), int, #\hyperref[zbits]{bits}#('m)) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latexcc/sailccsetsliceint.tex b/cheri/sail_latexcc/sailccsetsliceint.tex
deleted file mode 100644
index 413bf721..00000000
--- a/cheri/sail_latexcc/sailccsetsliceint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val set_slice_int = "set_slice_int" : forall 'w. (atom('w), int, int, #\hyperref[zbits]{bits}#('w)) -> int
diff --git a/cheri/sail_latexcc/sailccshiftbitsleft.tex b/cheri/sail_latexcc/sailccshiftbitsleft.tex
deleted file mode 100644
index cdb2eb6a..00000000
--- a/cheri/sail_latexcc/sailccshiftbitsleft.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "shift_bits_left" : forall 'n 'm. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('m)) -> #\hyperref[zbits]{bits}#('n) effect {undef}
diff --git a/cheri/sail_latexcc/sailccshiftbitsright.tex b/cheri/sail_latexcc/sailccshiftbitsright.tex
deleted file mode 100644
index dbc72b11..00000000
--- a/cheri/sail_latexcc/sailccshiftbitsright.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "shift_bits_right" : forall 'n 'm. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('m)) -> #\hyperref[zbits]{bits}#('n) effect {undef}
diff --git a/cheri/sail_latexcc/sailccshiftl.tex b/cheri/sail_latexcc/sailccshiftl.tex
deleted file mode 100644
index b2c54c27..00000000
--- a/cheri/sail_latexcc/sailccshiftl.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "shiftl" : forall 'm 'n, 'n >= 0. (#\hyperref[zbits]{bits}#('m), atom('n)) -> #\hyperref[zbits]{bits}#('m)
diff --git a/cheri/sail_latexcc/sailccshiftr.tex b/cheri/sail_latexcc/sailccshiftr.tex
deleted file mode 100644
index f282dcbe..00000000
--- a/cheri/sail_latexcc/sailccshiftr.tex
+++ /dev/null
@@ -1 +0,0 @@
-val "shiftr" : forall 'm 'n, 'n >= 0. (#\hyperref[zbits]{bits}#('m), atom('n)) -> #\hyperref[zbits]{bits}#('m)
diff --git a/cheri/sail_latexcc/sailccshlint.tex b/cheri/sail_latexcc/sailccshlint.tex
deleted file mode 100644
index 8ffbcf6c..00000000
--- a/cheri/sail_latexcc/sailccshlint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val shl_int = "shl_int" : (int, int) -> int
diff --git a/cheri/sail_latexcc/sailccshrint.tex b/cheri/sail_latexcc/sailccshrint.tex
deleted file mode 100644
index 087c17bb..00000000
--- a/cheri/sail_latexcc/sailccshrint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val shr_int = "shr_int" : (int, int) -> int
diff --git a/cheri/sail_latexcc/sailccsigned.tex b/cheri/sail_latexcc/sailccsigned.tex
deleted file mode 100644
index dcdc3049..00000000
--- a/cheri/sail_latexcc/sailccsigned.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-val signed = {
- c: "sail_signed",
- _: "sint"
-} : forall 'n, 'n > 0. #\hyperref[zbits]{bits}#('n) -> range(- (2 ^ ('n - 1)), 2 ^ ('n - 1) - 1)
diff --git a/cheri/sail_latexcc/sailccsignextend.tex b/cheri/sail_latexcc/sailccsignextend.tex
deleted file mode 100644
index 03f56369..00000000
--- a/cheri/sail_latexcc/sailccsignextend.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload sign_extend = {mips_sign_extend} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccslice.tex b/cheri/sail_latexcc/sailccslice.tex
deleted file mode 100644
index b9bb5a70..00000000
--- a/cheri/sail_latexcc/sailccslice.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val slice = "slice" : forall 'n 'm 'o, 0 <= 'o < 'm & 'o + 'n <= 'm & 0 <= 'n.
- (#\hyperref[zbits]{bits}#('m), atom('o), atom('n)) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latexcc/sailccstringofint.tex b/cheri/sail_latexcc/sailccstringofint.tex
deleted file mode 100644
index 05edaa20..00000000
--- a/cheri/sail_latexcc/sailccstringofint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val string_of_int = "string_of_int" : int -> string
diff --git a/cheri/sail_latexcc/sailccsubatom.tex b/cheri/sail_latexcc/sailccsubatom.tex
deleted file mode 100644
index 437e2d4c..00000000
--- a/cheri/sail_latexcc/sailccsubatom.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val sub_atom = {ocaml: "sub_int", lem: "integerMinus", c: "sub_int", coq: "Z.sub"} : forall 'n 'm.
- (atom('n), atom('m)) -> atom('n - 'm)
diff --git a/cheri/sail_latexcc/sailccsubint.tex b/cheri/sail_latexcc/sailccsubint.tex
deleted file mode 100644
index 11fdf922..00000000
--- a/cheri/sail_latexcc/sailccsubint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val sub_int = {ocaml: "sub_int", lem: "integerMinus", c: "sub_int", coq: "Z.sub"} : (int, int) -> int
diff --git a/cheri/sail_latexcc/sailccsubrange.tex b/cheri/sail_latexcc/sailccsubrange.tex
deleted file mode 100644
index 2aad56b6..00000000
--- a/cheri/sail_latexcc/sailccsubrange.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-val sub_range = {ocaml: "sub_int", lem: "integerMinus", coq: "sub_range"} : forall 'n 'm 'o 'p.
- (range('n, 'm), range('o, 'p)) -> range('n - 'p, 'm - 'o)
diff --git a/cheri/sail_latexcc/sailccsubvec.tex b/cheri/sail_latexcc/sailccsubvec.tex
deleted file mode 100644
index b92f07a4..00000000
--- a/cheri/sail_latexcc/sailccsubvec.tex
+++ /dev/null
@@ -1 +0,0 @@
-val sub_vec = {c : "sub_bits", _:"sub_vec"} : forall 'n. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latexcc/sailccsubvecint.tex b/cheri/sail_latexcc/sailccsubvecint.tex
deleted file mode 100644
index 70bf667e..00000000
--- a/cheri/sail_latexcc/sailccsubvecint.tex
+++ /dev/null
@@ -1 +0,0 @@
-val sub_vec_int = {c:"sub_bits_int", _: "sub_vec_int"} : forall 'n. (#\hyperref[zbits]{bits}#('n), int) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latexcc/sailcctobits.tex b/cheri/sail_latexcc/sailcctobits.tex
deleted file mode 100644
index 9dd3c655..00000000
--- a/cheri/sail_latexcc/sailcctobits.tex
+++ /dev/null
@@ -1 +0,0 @@
-val to_bits : forall 'l, 'l >= 0 .(atom('l), int) -> #\hyperref[zbits]{bits}#('l)
diff --git a/cheri/sail_latexcc/sailcctruncate.tex b/cheri/sail_latexcc/sailcctruncate.tex
deleted file mode 100644
index 5f7760f3..00000000
--- a/cheri/sail_latexcc/sailcctruncate.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-val truncate = {
- ocaml: "vector_truncate",
- lem: "vector_truncate",
- coq: "vector_truncate",
- c: "sail_truncate"
-} : forall 'm 'n, 'm >= 0 & 'm <= 'n. (vector('n, dec, bit), atom('m)) -> vector('m, dec, bit)
diff --git a/cheri/sail_latexcc/sailccuintsixfour.tex b/cheri/sail_latexcc/sailccuintsixfour.tex
deleted file mode 100644
index a0d52c8f..00000000
--- a/cheri/sail_latexcc/sailccuintsixfour.tex
+++ /dev/null
@@ -1 +0,0 @@
-type uint64 = range(0, (2 ^ 64) - 1)
diff --git a/cheri/sail_latexcc/sailccunsigned.tex b/cheri/sail_latexcc/sailccunsigned.tex
deleted file mode 100644
index 47867039..00000000
--- a/cheri/sail_latexcc/sailccunsigned.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-val unsigned = {
- ocaml: "uint",
- lem: "uint",
- interpreter: "uint",
- c: "sail_unsigned",
- coq: "uint"
-} : forall 'n. #\hyperref[zbits]{bits}#('n) -> range(0, 2 ^ 'n - 1)
diff --git a/cheri/sail_latexcc/sailccvectoraccess.tex b/cheri/sail_latexcc/sailccvectoraccess.tex
deleted file mode 100644
index a8e8074f..00000000
--- a/cheri/sail_latexcc/sailccvectoraccess.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload vector_access = {bitvector_access, plain_vector_access} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccvectorlength.tex b/cheri/sail_latexcc/sailccvectorlength.tex
deleted file mode 100644
index f41d5bfa..00000000
--- a/cheri/sail_latexcc/sailccvectorlength.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-val vector_length = {
- ocaml: "length",
- lem: "length_list",
- c: "length",
- coq: "vec_length"
-} : forall '#\hyperref[zn]{n}# ('a : Type). vector('n, dec, 'a) -> atom('n)
diff --git a/cheri/sail_latexcc/sailccvectorsubrange.tex b/cheri/sail_latexcc/sailccvectorsubrange.tex
deleted file mode 100644
index c069c7b6..00000000
--- a/cheri/sail_latexcc/sailccvectorsubrange.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-val vector_subrange = {
- ocaml: "subrange",
- lem: "subrange_vec_dec",
- c: "vector_subrange",
- coq: "subrange_vec_dec"
-} : forall ('n : Int) ('m : Int) ('o : Int), 0 <= 'o <= 'm < 'n.
- (#\hyperref[zbits]{bits}#('n), atom('m), atom('o)) -> #\hyperref[zbits]{bits}#('m - 'o + 1)
diff --git a/cheri/sail_latexcc/sailccvectorupdate.tex b/cheri/sail_latexcc/sailccvectorupdate.tex
deleted file mode 100644
index 1ec4aaef..00000000
--- a/cheri/sail_latexcc/sailccvectorupdate.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload vector_update = {bitvector_update, plain_vector_update} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailccvectorupdatesubrange.tex b/cheri/sail_latexcc/sailccvectorupdatesubrange.tex
deleted file mode 100644
index 6ff4f9f6..00000000
--- a/cheri/sail_latexcc/sailccvectorupdatesubrange.tex
+++ /dev/null
@@ -1,6 +0,0 @@
-val vector_update_subrange = {
- ocaml: "update_subrange",
- lem: "update_subrange_vec_dec",
- c: "vector_update_subrange",
- coq: "update_subrange_vec_dec"
-} : forall 'n 'm 'o. (#\hyperref[zbits]{bits}#('n), atom('m), atom('o), #\hyperref[zbits]{bits}#('m - ('o - 1))) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latexcc/sailccxorvec.tex b/cheri/sail_latexcc/sailccxorvec.tex
deleted file mode 100644
index b3aa7372..00000000
--- a/cheri/sail_latexcc/sailccxorvec.tex
+++ /dev/null
@@ -1 +0,0 @@
-val xor_vec = {c: "xor_bits" , _: "xor_vec"} : forall 'n. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> #\hyperref[zbits]{bits}#('n)
diff --git a/cheri/sail_latexcc/sailcczW.tex b/cheri/sail_latexcc/sailcczW.tex
deleted file mode 100644
index a29ec93f..00000000
--- a/cheri/sail_latexcc/sailcczW.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload ~ = {not_bool, not_vec} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozAsznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozAsznine.tex
deleted file mode 100644
index 0b0a46e2..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozAsznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-val operator *_s = "mults_vec" : forall 'n . (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> #\hyperref[zbits]{bits}#(2 * 'n)
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozAuznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozAuznine.tex
deleted file mode 100644
index 5b762ba7..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozAuznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-val operator *_u = "mult_vec" : forall 'n . (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> #\hyperref[zbits]{bits}#(2 * 'n)
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozAznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozAznine.tex
deleted file mode 100644
index 2d188f63..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozAznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator *) = {mult_int} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozBznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozBznine.tex
deleted file mode 100644
index 432e85e5..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozBznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator +) = {add_range, add_int, add_vec, add_vec_int} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozDznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozDznine.tex
deleted file mode 100644
index d671e6b0..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozDznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator -) = {sub_range, sub_int, sub_vec, sub_vec_int} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozFznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozFznine.tex
deleted file mode 100644
index 3c2e441c..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozFznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator /) = {quotient_nat, quotient} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozIsznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozIsznine.tex
deleted file mode 100644
index 9b4ebe19..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozIsznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-val operator <_s : forall 'n, 'n > 0. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> bool
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozIuznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozIuznine.tex
deleted file mode 100644
index 5b54235e..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozIuznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-val operator <_u : forall 'n, 'n >= 0. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> bool
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozIzIznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozIzIznine.tex
deleted file mode 100644
index 51ff2b6c..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozIzIznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator <<) = {shift_bits_left, shiftl} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozIzJznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozIzJznine.tex
deleted file mode 100644
index d23f28dd..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozIzJznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator <=) = {lteq_atom, lteq_range_atom, lteq_atom_range, lteq_int} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozIznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozIznine.tex
deleted file mode 100644
index 8e5e3fe9..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozIznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator <) = {lt_atom, lt_range_atom, lt_atom_range, lt_int} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozJzJznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozJzJznine.tex
deleted file mode 100644
index 57ea823c..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozJzJznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator ==) = {eq_anything} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozKzJsznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozKzJsznine.tex
deleted file mode 100644
index 032e8600..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozKzJsznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-val operator >=_s : forall 'n, 'n > 0. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> bool
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozKzJuznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozKzJuznine.tex
deleted file mode 100644
index eaa72e60..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozKzJuznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-val operator >=_u : forall 'n, 'n >= 0. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('n)) -> bool
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozKzJznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozKzJznine.tex
deleted file mode 100644
index 5733b740..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozKzJznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator >=) = {gteq_atom, gteq_range_atom, gteq_atom_range, gteq_int} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozKzKsznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozKzKsznine.tex
deleted file mode 100644
index 0f0793a6..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozKzKsznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-val operator >>_s = "shift_bits_right_arith" : forall 'n 'm. (#\hyperref[zbits]{bits}#('n), #\hyperref[zbits]{bits}#('m)) -> #\hyperref[zbits]{bits}#('n) effect {undef}
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozKzKznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozKzKznine.tex
deleted file mode 100644
index b129e9d2..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozKzKznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator >>) = {shift_bits_right, shiftr} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozKznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozKznine.tex
deleted file mode 100644
index a8da7e48..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozKznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator >) = {gt_atom, gt_range_atom, gt_atom_range, gt_int} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozQzQznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozQzQznine.tex
deleted file mode 100644
index 185f501e..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozQzQznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-val operator ^^ = {lem: "replicate_bits"} : forall 'n 'm, 'm >= 0 . (#\hyperref[zbits]{bits}#('n), atom('m)) -> #\hyperref[zbits]{bits}#('n * 'm)
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozQznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozQznine.tex
deleted file mode 100644
index 106b6064..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozQznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator ^) = {xor_vec, int_power} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozUznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozUznine.tex
deleted file mode 100644
index 4de737e0..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozUznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator |) = {or_bool, or_bits} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozfiveznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozfiveznine.tex
deleted file mode 100644
index 8d6b54c3..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozfiveznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator %) = {modulus} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozonezJznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozonezJznine.tex
deleted file mode 100644
index 22052668..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozonezJznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator !=) = {neq_atom, neq_int, neq_vec, neq_anything} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailcczeightoperatorzzerozsixznine.tex b/cheri/sail_latexcc/sailcczeightoperatorzzerozsixznine.tex
deleted file mode 100644
index 248fb15e..00000000
--- a/cheri/sail_latexcc/sailcczeightoperatorzzerozsixznine.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload (operator &) = {and_bool, and_bits} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailcczzeroextend.tex b/cheri/sail_latexcc/sailcczzeroextend.tex
deleted file mode 100644
index 0f754d44..00000000
--- a/cheri/sail_latexcc/sailcczzeroextend.tex
+++ /dev/null
@@ -1 +0,0 @@
-overload zero_extend = {mips_zero_extend} \ No newline at end of file
diff --git a/cheri/sail_latexcc/sailcczzeros.tex b/cheri/sail_latexcc/sailcczzeros.tex
deleted file mode 100644
index 1c251eda..00000000
--- a/cheri/sail_latexcc/sailcczzeros.tex
+++ /dev/null
@@ -1 +0,0 @@
-val zeros : forall 'n, 'n >= 0 . unit -> #\hyperref[zbits]{bits}#('n)